The Perfect SOHO router – Part 2
Владимир | 12/06/2009Това е втората част от серия от статии в които ще обясня как да създадем перфектният SOHO рутер. Държа да отбележа че това е моята идея за рутер със всичките и предимства и недостатъци.
Серията се състои от следните статии:
- Общи насоки, идеи, нужни услуги и размисли – тук ще се постарая аргументирано да обоснова защо съм избрал този комплект от софтуер и услуги
- Инсталация на базовата система - ще опиша методът по който ще инсталираме и минимизираме нашата система
- Конфигуриране на DNS и DHCP услугите – тук ще опиша обосновано конфигурациите които смятам за оптимални
- Конфигуриране на рутирането – като цяло тук е сърцето на нашият рутер. Ще предложа някои трикове за улесняване на живота, както и насоки към по-специфични задачи
- Конфигуриране на елементарна система за наблюдение и статистика
- Разширяване възможностите на нашият рутер – ще опиша някои дреболии които могат да направят живота ни много по лесен, удобен и приятен
В тази част ще инсталираме нашият рутер, ще изхвърлим абсолютно всичко излишно и инсталираме необходимият ни софтуер. Идеята зад целият процес е да минимизираме както използваното дисково пространство така и самата употреба на диска. По този начин също така ще намалим количеството използван софтуер което ще улесни нашата поддръжка.
Желязото
За този проект използваме следният хардуер
Compaq Deskpro series small factor machine
CPU: 333 mhz
RAM: 256 mb
HDD: 6,4 GB
LAN: 1 x Intel Ether Express (onboard), 1 x Davicom.
Като цяло това е една доста мършава машина по сегашни стандарти но за целта е напълно достатъчна. Поради факта че мрежовата карта на Davicom като цяло е голям боклук ще я ползваме за вътрешна, тъй като там ще се справя с по малко проблеми.
Инсталация на базова система
Това е като цяло прост процес. Намерете си любимото CD с дебиан 3.1 и да започваме. Първата важна точка в дневният ред е по какъв начин да разделим диска. Аз лично препоръчвам следната конфигурация:
/boot – 100 MB
/ – 2 GB
swap – 256 MB
/home – REST
Това разделяне ще ни даде относително голяма свобода на работа както и възможност за по нататъшно развитие.
Друг важен момент е в коя лан карта да сложим мрежа. Както обосновахме по-горе поради ниското качество на едната карта ще я използваме за вътрешна, а вградената ще използваме за външна. Общият принцип е че тази карта която ще използваме за външна трябва да бъде с мрежа по време на инсталация. Не е невъзможно това да се пренебрегне но в последствие има доста повече работа.
Следва да инсталираме системата. Аз препоръчвам клона testing, тъй-като в него има по нови версии на софтуера и е достатъчно стабилен за нашите цели. По време на самата инсталация не избирайте никакъв профил от предложените ви. Изберете сигурна парола за root и не създавайте допълнителен потребител.
Минимизиране
След като вече сме завършили инсталацията време е да я минимизираме. За целта ще използваме пакета deborphan. Той се използва за да покаже пакети които не се използват. Нашата цел с неговото инсталиране е да премахнем абсолютно всичко което не ни е нужно. За целта ще се наложи неколкократно извикване на следният ред
apt-get remove --purge \ `deborphan -a --no-show-section --guess-all | \ grep -v "ssh\|deborphan\|bash\|apt\|nano\|kernel\|ssl"`
Редът е разделен на няколко реда за четимост
Идеята на този ред е да изчисти абсолютно всички пакети които не са необходими или не се използват като пропусне пакетите които имат ssh, deborphan, apt, nano, kernel, ssl или bash в името си.
Необходимо е тази команда да се изпълни няколко пъти тъй като софтуерът не е рекурсивен. Тази стъпка не е строго необходима но помага.
Допълнително инсталираме пакета localepurge с чиято помощ ще отстраним ненужните локали. С него изберете същите езици/локали които сте избрали при инсталацията.
Инсталиране на необходимият ни софтуер
Първо нека да доведем системата до най-новото състояние в клона който сме избрали
apt-get update apt-get --purge dist-upgrade apt-get --purge dist-upgrade -f
Следва да премахнем всички налични за момента кернели и да инсталираме такъв който ние искаме. Специално за дебиан кернелът се намира в пакет с име от типа kernel-image, linux-image. Открийте и премахнете всички подобни пакети
apt-get remove --purge [package list]
Сега следва да инсталираме кернел по наше желание. Ще използваме такъв който се предоставя от проекта дебиан тъй като конфигурацията му е достатъчно добра за нуждите ни.
apt-get install linux-image-2.6.18-4-686
Кернелът е достатъчно бърз и има всичко което ще ни трябва.Поради изборът ни на услуги ще се налоги да инсталираме малко допълнителен софтуер
apt-get install iptables iproute bind9 bind9-host dhcp lighttpd php4-cgi php4-cli phpsysinfo mrtg samba ntp ntpdate proftpd ncftp vim logwatch rkhunter denyhosts iptraf mtr-tiny snmp snmpd iputils-ping lsof openssh-server sudo
В процеса на инсталация ще бъдат инсталирани допълнителни пакети от които зависи работата на желаните от нас.Последната задача която стои пред нас на този етап от инсталацията е да добавим собствен потребител със негов собствен ssh ключ за повишаване на сигурността и да му гарантираме правото да изпълнява команди посредством sudo.
adduser managementuser cd ~managementuser/ mkdir .ssh cat /root/managementuser-key.pub > .ssh/authorized_keys2 chown -R managementuser:managementuser .ssh usermod -G sudo managementuser visudo
Забележка: файлът /root/managementuser-key.pub е публичният ssh ключ който сме генерирали предварително и копирали по някакъв начин на нашият рутер. Ключове се генерират най-лесно със ssh-keygen.
Командата visudo редактира файла /etc/sudoers. Там трябва да добавим/откоментираме редът
%sudo ALL=NOPASSWD: ALL
който позволява на всички принадлежащи в групата sudo да изпълняват всички команди без парола.
Заключение
Като цяло в това се състои нашата базова инсталация. От тук на сетне тя трябва да бъде настроена. Всички останали задачи ще изпълняваме посредством ssh като първо се свързваме с нашият потребител managementuser и в последствие ставаме root посредством sudo su -
Серията продължава в The Perfect SOHO router – Part 3



