среда, 6 февраля 2008 г.

Поднимаем маршрутизатор на FreeBSD

Самый свежий дистрибутив, который у меня оказался - это FreeBSD 6.2. На его примере и опишу установку маршрутизатора.

Вставляем диск, загружаемся с него и имеем перед собой утилиту sysinstall - надежду и гордость всего народа, пользующегося FreeBSD. =)

Первое, что нам предлагают выбрать - это страну, регион или группу. Я выбираю "Украина".

Второе - умолчательный драйвер консоли. Я выбрал Ukrainian KOI8-U keymap. Если на первом этапе выбрать другой регион, будут доступны другие варианты.

Теперь мы попали в главное меню sysinstall и здесь мы должны выбрать, а чо собсно делать дальше? Выбираем - Standard - обычную инсталляцию системы. )

И нам сразу же, сходу, предлагают разбить жесткий диск. Опять же, для этих целей не замораичваясь особо, выбираем - A = Use Entire Disk, и Q = Finish.

А затем - выбор загрузчика для системы. Выбираем BootMgr - обычный загрузчик FreeBSD.

Далее нам предлагают создать разделы для системы. Можно, конечно, извернуться и создавать разделы вручную. Для того чтобы показать пример настройки маршрутизатора это делать необязательно, поэтому выбираем A = Auto Defaults, и disklabel автоматически создаст 5 разделов - /, swap, /var, /usr, /tmp. Все будут с FS - UFS и включенными SoftUpdates, кроме /.

Q = Finish.

Переходим к выбору пакетов для установки. На маршрутизаторе вряд-ли пригодится что-то кроме User-раздела. Отмечаем его и жмем OK.

Так как мы устанавливаем систему с CD-ROM, выбираем источник для установки - CD/DVD. ОК.

Отвечаем утвердительно на предупреждение системы о локадьном конце света в пределах нашего жесткого диска. Иными словами, что мы в уме и здравии позволяем программе установки удалить все содержимое с жесткого диска. =)

Теперь система сама создаст файловые системы и установит выбранные пакеты. Можно пока покурить или выпить чего-нибудь. =)

Вот. В конце концов, после долгого шуршания винтов, нас поздравят, что система была установлена и зададут несколько контрольных вопросов в голову. Это так-называемая, пост-инсталляционная настройка системы.

1. Хотим ли мы настроить какие-нибудь Ethernet или SLIP/PPP интерфейсы? Очевидно, да. Подтягиваем свою схему сети и выделенные маршрутизатору адреса поближе.
Выбираем из списка каждый интерфейс и вводим в диалоговом окне его настройки - IP и маски. Но, гг, после настройки первого попавшегося интерфейса, нас сразу выкинет к следующему вопросу...
2. Должна ли эта машина работать маршрутизатором? Однозначно, да, ради этого мы ее и настраиваем.
3. Нужно ли настроить inetd и сетевые сервисы, которые он предоставляет. Вообще, inetd - замечательная штука, но простому маршрутизатору все его сервисы, среди которых echo, quote of the day и т.д. - не нужны. =) Поэтому, отказываемся.
4. Нужно ли разрешить вход через SSH. Да, надо. Для удобства настройки.
5. Нужен ли анонимный FTP-доступ к машине. Нет, не нужен. Если что-то понадобится записать или скачать - мы воспользуемся scp - копированием файлов через ssh.
6. Нужно ли настроить машину как NFS-сервер. NFS - это сервер для предоставления доступа к локальным директориям через сеть. Тут он не нужен, отказываемся.
7. Настраивать ли установки консоли - скорее да, чем нет. )
8. Выбираем шрифт - IBM 866.
9. Keymap - Russia KOI8-R.
10. Repeat - Fast (скорость повтора клавиатуры).
11. Saver - Blank (хранитель экрана)
12. ScreenMap - KOI8-R to 866
13. TTY - KOI8-R. Exit. )
14. Установить часовой пояс - да, выбрать свой. ) На вопрос, установлены ли часы в BIOS в UTC, скорее всего нужно ответить - нет. Если вы знаете, что это не так, вы ответите "Да". Если не знаете вообще что это значит - скорее "Нет", чем "Да". Я выбираю "Нет". Потому что часы у меня установлены по местному времени.
15. Нужно ли включать бинарную совместимость с Linux. Иными словами - включить ли возможность запускать приложения, скомпилированные для Linux в FreeBSD. На этом маршрутизаторе это не пригодится. В крайнем случае, можно настроить потом. Так что - нет.
16. Есть ли мышь в системе - скорее да, чем нет. Если настроить, можно получить полезную возможность выделять и копировать в консоли мышью.
17. Нам предоставлена возможность установки программного обеспечения из пакетов. Если у вас дистрибутив на паре CD, можете выбрать, что нужно. Я ставлю vim-lite из пакетов, потому что работать с обычным vi мне очень тяжело.
18. Добавление пользователей в систему. Можно создать для себя отдельного пользователя и добавить его в группу wheel.
19. И - финальный аккорд - установка пароля root. Требует пароля посложнее, поэтому лучше постараться. Ввод не отображается на экране никак.
20. Финальный вопрос - отвечаем "нет", если все настроили. Я сказал "да", вернулся и донастроил остальные 4 сетевых карты. Это можно сделать и после перезагрузки, введя в консоли команду "sysinstall" в любое время.

После перезагрузки займемся настройкой маршрутов.
синтаксис команды route в freebsd мало отличается от синтаксиса аналогичной команды в других *nix системах. Прописываются статические маршруты в /etc/rc.conf:

static_routes="Stub1 Stub3 Stub4 Stub5 Stub6 net249 net250 net252 net253"
route_Stub1="-net 192.168.1.0/24 192.168.255.1"
route_Stub3="-net 192.168.3.0/24 192.168.254.2"
route_Stub4="-net 192.168.4.0/24 192.168.251.1"
route_Stub5="-net 192.168.5.0/24 192.168.251.1"
route_Stub6="-net 192.168.6.0/24 192.168.255.1"

route_n249="-net 192.168.249.0/24 192.168.255.1"
route_n250="-net 192.168.250.0/24 192.168.255.1"
route_n252="-net 192.168.252.0/24 192.168.251.1"
route_n253="-net 192.168.253.0/24 192.168.254.2"

т.е. в строке static_routes мы указываем список названий маршрутов, а в route_имямаршрута - аргументы команды route, для добавления этого маршрута.

После правки выполним sh /etc/netstart для перезапуска сети.
В результате мы должны получить правильную таблицу маршрутизации. Просмотреть ее можно в FreeBSD командой netstat -rn:


beasty-router# netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
10 link#5 UC 0 0 lnc4
10.0.0.1 00:0c:29:b5:59:3b UHLW 2 38 lnc4 1196
127.0.0.1 127.0.0.1 UH 0 0 lo0
192.168.1 192.168.255.1 UGS 0 0 lnc0
192.168.2 link#4 UC 0 0 lnc3
192.168.3 192.168.254.2 UGS 0 0 lnc2
192.168.4 192.168.251.1 UGS 0 0 lnc1
192.168.5 192.168.251.1 UGS 0 0 lnc1
192.168.6 192.168.255.1 UGS 0 0 lnc0
192.168.249 192.168.255.1 UGS 0 0 lnc0
192.168.250 192.168.255.1 UGS 0 0 lnc0
192.168.251 link#2 UC 0 0 lnc1
192.168.251.1 link#2 UHLW 4 0 lnc1
192.168.252 192.168.251.1 UGS 0 0 lnc1
192.168.253 192.168.254.2 UGS 0 0 lnc2
192.168.254 link#3 UC 0 0 lnc2
192.168.254.2 00:0c:29:29:ba:92 UHLW 3 0 lo0
192.168.255 link#1 UC 0 0 lnc0
192.168.255.1 link#1 UHLW 5 0 lnc0


Вот и все. Сделаем "connectivity test", пропинговав все интерфейсы уже работающих маршрутизаторов, и можем считать свою работу законченной, если все работает.

Комментариев нет:

Отправить комментарий