маршрутизатор
Маршрутизатор на FreeBSD через NATD/IPFW
Маршрутизатор на FreeBSD через NATD/IPFWЗачем это нужно?
Данная мана посвящена установке маршрутизатора на FreeBSD. Об этом уже написано много статей в интернете, маршрутизатор наверняка достаточно полное руководство можно найти на сайте opennet.ru
Кроме того, данное руководство предназначено для тех, кто не имеет опыта подобной установки. Оно для тех, кем когда-то был маршрутизатор я. Неопытный, но с большим желание понять как это делается. Я в свое время множество сведений собирал отрывками - по кусочкам, блоками, вопросами в "аську" к более грамотным "гуру". Буду рад, если эта мана поможет сэкономить кому-то немного времени, потому как в последнее время меня часто спрашиваю: "А как ...?".
Предвосхищяя вопрос "А почему FreeBSD, маршрутизатор не ..." могу лишь сказать, что это была первая(!) like Unix ОС, которую я стал использовать для этих целей. С отключенным графическим интерфейсом она не требует больших машинных ресурсов.
Для чего это нужно? Это дает возможность одновременного выхода в сеть множественного числа пользователей.
Я также использую маршрутизатор в качестве прокси-сервера, веб-сервера, почтового сервера одновременно, что, несомненно, очень удобно.
Далее будет описана установка маршрутизатора под NATD (NETWORK ADDRESS TRANSALTION DAEMON)/IPFW (IP FIREWALL), что является достаточно распространенным типом установки роутера.
Железо
Какое должно быть железо для него? Ответ прост - чем быстрее маршрутизатор новее, тем лучше. Но, как водится, отдавать хорошую машину под маршрутизатор жалко. Поэтому зачастую в этот критерий попадает "Бери Боже, что нам негоже." Сам я собирал роутер на совершенно разных машинах - это маршрутизатор первый "пень" с 16 Мегабайтами памяти с хардом на гигабайт, маршрутизатор на четвертый пень с 512 Мегабайтами памяти маршрутизатор хардом на 80 Гиг, маршрутизатор единственный совет, который можно тут дать таков: FreeBSD достаточно неприхотлива, работает на любых конфигурациях, поэтому не сильно принципиально, какая машина под него будт использоваться. Единственное, что необходимо сразу предусмотреть - это возможность установки на неё прокси-сервера (squid), который потребует достаточно дискового пространства. Опять же, если роутер так же будет использоваться как почтовый, маршрутизатор веб-сервер, то машину все ж таки взять побыстрее, чем 486-DX100, Итак, для маршрутизатора потребуется 1 (один) системник, с клавиатурой маршрутизатор CD-ROM-ом на время начальной установки оси, с 2-мя сетевыми картам. Сетевые карты лучше взять не какие-нибудь экзотические, маршрутизатор стандартные типа Realtek, хотя я лично предпочитаю 3Com. Одна карта будет смотреть с локальную сеть, маршрутизатор во вторую будет "заходить" выделенная линия от провайдера.(ISP)
Исходный данные маршрутизатор софт
Я буду описывать устновку FreeBSD на ветке 4-ой версии (Точнее, на версии 4.8), хотя с 5-ой веткой не должно возникнуть никаких проблем. Все ставится по аналогии. Для установки потребуется загрузочный диск FreeBSD версии 4.8 маршрутизатор набор софта, позволяющий конфигурировать роутер на начальном этапе. Конечно, все можно сделать средствами самой FreeBSD, но такие вещи как Midnight Commander маршрутизатор wget сильно облегчают жизнь. Так же потребуется доступ в интернет для возможной устновки софта из портов, если вдруг нужного не окажется под рукой. Ниже я перечислю, что необходимо иметь сразу же, как то:
mc
wget
expat
gettext
libiconv
libslang
pkgconfig
Все это можно скачать из портов www.FreeBSD.org
Для себя лично у меня давно "нарезана" еще одна пластинка со всем необходимым.
Также необходимо знать все исходные данные от провайдера: внешний ip-адрес, маску подсети, IP-адрес шлюза маршрутизатор адреса DNS-серверов.
Также хорошо, если есть собственнный домен второго уровня, но на крайний случай, в услуги провайдера, как правило, входит предоставление домена третьего уровня, который также может быть использован в качестве имени хоста.
Let the party begin!
Вставляем boot-CD маршрутизатор с его помощью загружаемся в ОС. ЕСли железо в порядке, то можно приступать к выбору конфигурации устновки.
Для этого нужно выбрать пункт "Skip kernal configuration and continue with installation". Появится окно выбора типа инстяллции - sysinstall Main Menu.
Новичкам я предлагаю ыбрать "Standart", маршрутизатор затем перейти к окну разбиения жесткого диска на партиции.
Если кроме FreeBSD больше ничего устанавливаться не будет, то нужно выбрать "А" - Use Entire Disk, после чего будет создан раздел ad0s1 на весь диск маршрутизатор далее неюбходимо сделать его загрузочным. Для этого стрелкой вниз нужно перейти на нужный раздел маршрутизатор нажать "S" - Set Bootable. После этого нажать "Q" - выход маршрутизатор перейти к выбору устновки загрузчика. Т.к. кроме FreeBSD устанавливаться ничего не будет, то опять же выбираем "Standart (No Boot Manager)".
После этого появится выбор разбиения партиции на разделы.
Опять же, здесь выбираем "А - Auto Defaults", затем снова "Q"и переходим к выбору типа установки
Я выбираю уровень "Developer", маршрутизатор на мой взгляд, это более чем достаточно для установки маршрутизатора. После этого выбираю откуда будет происходить установка, в нашем случае это "CD/DVD". После нажатия на Enter, начнется установка ОС на жесткий диск.
После этого будет предложено сконфигурировать сетевой адаптер, хост, домен, маску подсети маршрутизатор шлюз.
Все исходные данные должны быть уже известны.
Дальше нужно будет указать тайм-зону маршрутизатор пароль для root. Если вдруг какие то настройки были пропущены, то впоследствии можно будет их исправить, внося изменения в конфигурационные файлы.
Устновку портов я пропущу, т.к. все необходимое, как я уже сказал, есть у меня на отдельной пластинке. И если дополнительного софта нет, то можно попробовать отыскать требуемое в портах маршрутизатор поставить все необходимое на начальном этапе. Если вдруг понадобится что-нибудь доставить из портов после установки, то это всегда можно сделать набрав "/stand/sysinstall" в командной строке.
Начальная устновка ОС завершена, выбираем "Exit" в Sysinstall Main Menu. Перезагружаемся, маршрутизатор получем приглашение "login"
Вводим root, пароль, попадаем в систему маршрутизатор переходим к этапу установки дополнительного софта.
Устанавливаем Midinight Commander маршрутизатор еще ряд полезных утилит.
Набираем в комадной строке:
# mount /cdrom
# cd /cdrom
# pkg_add mc-4.6.0_6.tgz
# midc
Для того, чтобы установленная конфигурация FreeBSD могла служить в качестве маршрутизатора, необходимо изменить конфигурацию ядра.
# cd /sys/i386/conf
Править будем конфиг ядра GENERIC, которое сейчас маршрутизатор стоит в качестве исходного. Ядро LINT содержит детальное описание всех опций конфига ядра.
# cp GENERIC NAT
# ee NAT
Примечание: Конфигурацию ядра можно назвать как угодно, в данном примере ассоциативно понятно, что было изменено или добавлено в конфиг. Добавляем строки необходимые для NATD/IPFW:
ident NAT
maxusers 256
options IPFIREWALL
options IPFILTER
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
Далее идет поддержка всяческих плат маршрутизатор устройств. Будьте внимательны при комементировании ненужных строк. Я придерживаюсь следующего правила - если сомневаетесь, лучше оставить как есть. Здесь приведен конфиг достаточно стандартной машины с минимум железок.Обычно комментируются строки про различные экзотические устройства SCSI, редко используемые сетевые карты маршрутизатор т.д.
Сохраняем содержимое конфига, набираем в командной строке:
# config NAT
Don't forget to do a ''make depend''
Kernel build directory is ../../compile/NAT
Далее набираем:
# cd /usr/compile/NAT
# make depend
# make clean
# make all
# make install
В зависимости от конфигурации машины процедура сборки ядра заниает от 15 минут до нескольких часов. После того как ядро соберется, перезагружаемся:
# reboot
Если перезагрузка прошла неудачно (Бывают случаи, когда закомментировано то что не должно быть закомментировано). Можно попытаться загрузить старое ядро на начальном этапе загрузки ОС. Для этого нужно нажать пробел в поцессе загрузки ОС:
Hit [Enter] to boot immediately, or any other key for command prompt.
ok unload kernel
ok load kernel.GENERIC
ok boot
После этого снова исправить конфиг ядра маршрутизатор пересобрать его.
Далее необходимо сконфигурировать сетевые адаптеры маршрутизатор файл загрузки rc.conf. Ваш rc.conf может отличаться, ниже приведены только те строки, на которые бы я хотел обратить внимание:
# шлюз провайдера
defaultrouter="123.123.123.123"
gateway_enable="YES"
#название хоста!
hostname="gw.your_host.ru"
#если планируется использовать маршрутизатор в качестве почтового сервера
inetd_enable="YES"
#сетевые адаптеры
network_interfaces="xl0 xl1 lo0"
# IP адреса маршрутизатор маски подсети для сетевых адаптеров.
# наружная, в ISP
ifconfig_xl0="inet 123.123.123.10 netmask 255.255.255.248"
#внутренняя, в локальную есть
ifconfig_xl1="inet 192.168.0.254 netmask 255.255.255.0"
# задействуем NATD
natd_enable="YES"
# я обычно использую postfix. Если планируется использовать sendmail, то тогда "YES"
sendmail_enable="NONE"
# для возможности удаленного управления
sshd_enable="YES"
Настраиваем NATD/IPFW:
# cd /usr/local/etc/rc.d
# ee firewall.sh
Типовой конфиг ipfw; В самом файле пишем:
#!/bin/sh
/sbin/ipfw -q -f flush
/sbin/ipfw -q add pass all from any to any via lo0
/sbin/ipfw -q add deny all from any to 127.0.0.0/8
/sbin/ipfw -q add deny all from 127.0.0.0/8 to any
# делаем диверт пакетов
/sbin/ipfw -q add divert natd ip from 192.168.0.0/24 to any out via xl0
/sbin/ipfw -q add divert natd ip from any to 123.123.123.10 in via xl0
# рaзрешаем пинг
/sbin/ipfw -q add pass icmp from any to any
#закрываем telnet маршрутизатор ftp наружу
/sbin/ipfw -q add reset tcp from any to 123.123.123.10 23 in via xl0
/sbin/ipfw -q add reset tcp from any to 123.123.123.10 21 in via xl0
# разрешаем выход ftp,ssh,smtp,pop3, http
/sbin/ipfw -q add pass tcp from any to any 20,21,22,25,110,80
/sbin/ipfw -q add pass tcp from any 20,21,22,25,110,80 to any
# разрешаем выход http, squid,icq
/sbin/ipfw -q add pass tcp from any to any 119,5190,443,3128
/sbin/ipfw -q add pass tcp from any 119,5190,443,3128 to any
# разрешаем dns
/sbin/ipfw -q add pass udp from any to any 53,123
/sbin/ipfw -q add pass udp from any 53,123 to any
/sbin/ipfw -q add pass all from any to any via xl1
Здесь необходимо подумать маршрутизатор самостоятельно дописать необходимые правила для вашей подсети.
Делаем файл исполняемым:
# chmod +x firewall.sh
Пишем конфиг для NATD:
#!/bin/sh
/sbin/natd -f /etc/natd.conf -n xl0
Делаем файлы исполняемыми, из комадной строки набираем:
# chmod +x firewall.sh
# chmod +x natd.sh
Добавляем natd.conf в /etc:
# cd /etc
# ee natd.conf
В natd.conf пишем:
same_ports yes
use_sockets yes
После этого должна появиться возможность удаленного управления маршрутизатором. С любой машины, используя какого-либо ssh-клиента пробуем залогиниться на маршрутизатор, не забыв предварительно добавить пользователя в группу wheel.
# add_user [user_name]
В качестве ssh-клиента я обычно использую всем известный telneat или putty, Хотя telneat мне нравиться больше.
Далле в /etc создаем resolv.conf:
domain your_domain.ru
nameserver 123.123.123.249
nameserver 123.123.123.250
На этом установка маршрутизатора закончена. Необходимо прямо с него поверить, что пингуется шлюз провайдера маршрутизатор проверить разрешение DNS (nslookup).
Если все работает, значит устновка прошла успешно. Теперь одновремено в интернет может выходить несколько пользователей.
Обсудить в форуме
Copyright © 2004-2006 г.
разделы
букмекерский контора шанс
эфирный антенна
прамышленый альпинизм
враждебный поглощение
анимация 3d график
плазменный панель настенный
напыление ппу
фирменый цвет
пескоструйка
экг 4у
сдать анализ кровь
газонокосилка dolmar
билет мхат
детский лагерь пионер
государственный герб
клеить нанесение
деловой костюм
нард online
пошив корпоративный костюм
портативный радиостанция
электро лаборатория
золотник 264-27-00
эфирный антенна funke
слабость головокружение
организация видеоконференция
lucent definity
предохранитель пкт
вытяжка крона
билет балет
kyiv apartaments service
бензопила импортный
автобетононасосы
southpark
акриловый вкладыш
ipsec
жила кострома
inerta краска
скачать короткий нард
герб область
облицовка bella italia
шапка доставка
lucent definity
рак кишка
банковский ячейка
кпк опт
купить ломтерезку
маршрутизатор