Как Я и обещал – пишу о том, как создать домашний сервер на базе FreeBsd. В сумме роутер должен уметь как минимум раздавать интернет по вай-фай и по кабелю, пропускать мультикаст для IP-TV, отлично отсеивать шлак (firewall) и справляться с большими нагрузками, от которых обычные роутеры валятся (для меня связующим звеном стала невозможность качать быстро файлы по DC++ из-за того, что родители постоянно сидели на торрентах).
Итак, приступим. Пусть будет так, что у вас уже установлена Freebsd 8.0 или любой другой версии. Пусть она даже только что установлена и без заточки ядра под свои нужды (да, нам придется пересобирать ядро, но в этом нет ничего страшного).
Конкретизирую, Я выбрал именно Freebsd, так как она по моим заверениям является самой защищенной и быстрой ОС. К тому же мне нравится файловая структура этой ОС, а так же то, что все ставится из исходных кодов (пусть из портов, но оно компилируется под мое железо = Я выигрываю в скорости).
Первым шагом в этом нелегком деле будет сборка ядра, для того, чтобы включить поддержку IPFW (нашего фаерволла):
наша архитектура процессора – i386. Для остальных – просто подставляйте свою.
# cd /usr/src/sys/i386/conf /usr/src/sys/i386/conf# cp GENERIC MYKERNEL /usr/src/sys/i386/conf# nano MYKERNEL
Перед нами предстал файл конфигурации ядра. Можно конечно разглогольствовать на тему “Сделайте dmesg и в соответствии с выданным оставьте только те устройства, которые вам действительно необходимы.”, но мы не будем. Да, вы выйграете в скорости работы ОС (чем меньше ядро – тем лучше), но я не буду рассказывать об этом.
Итак, добавим следующее в файл конфигурации ядра:
options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=5 options IPFIREWALL_FORWARD options IPDIVERT options DUMMYNET options IPFIREWALL_DEFAULT_TO_ACCEPT device if_bridge
Подробности всех этих опций есть здесь. После этого выполним команды:
/usr/src/sys/i386/conf/# cd ../../../ /usr/src/# make buildkernel KERNCONF=MYKERNEL && \ make installkernel KERNCONF=MYKERNEL
и идем пить чай/готовить ужин жене. В общем – это надолго. У меня заняло где-то часа полтора.
После того, как мы наконец-то собрали ядро можно приступать к первоначальной настройке интерфейсов.
Хотелось бы отвлечься от темы в сторону выбора оборудования. Если вы ещё не закупились сетевой карточкой вай-фай – хорошо. Потому что, если это не так – возможно вы получите незабываемое удовольствие от того, что она у вас просто не определится. Я настоятельно советую – берите D-link DWA-520. Его чип строится на базе Atheros’ов, которые с фряшкой работают на ура. Моя же старая карточка (с чипом от реалтека каким-то) даже не определилась. Если же хотите перебирать виндовые драйвера и подцеплять их к вашей сетевкой – хозяин барин. Да, и DWA-520 отлично ладит с 108 мгбит/сек, что не может не радовать (конечно же в режиме turbo).
Ладно, думаю, что сборка ядра займет у вас действительно много времени, поэтому на сегодня пока-что хватит. В следующем посте – настройка интерфейсов, подводные камни при организации bridge wi-fi и lan в freebsd, hostapd и dhcp.
Спонсор поста: Самый ярчайший неон