Ключевые слова:freebsd, install, example, (найти похожие документы)
From: Дмитрий Новиков <dmn@nnz.ru>
Newsgroups: http://www.artmagic.ru/labs/
Date: Mon, 4 Dec 2002 13:01:37 +0000 (UTC)
Subject: Типовой пример настройки маршрутизатора на базе FreeBSD
Оригинал:http://www.artmagic.ru/labs/short/short-rec3.shtml
Как наиболее правильно и быстро вывести локальную сеть с помощью
сервера FreeBSD.
По нашему мнению наиболее быстро и правильно сделать вывод локальной
сети с помощью сервера FreeBSD можно по следующему алгоритму:
3.1 Устанавливаем FreeBSD. Настраиваем сетевые интерфейсы.
3.2 Обязательно указать, что сервер будет работать маршрутизатора:
/etc/rc.conf:
gateway_enable="YES"
3.3 Добавить нужные опции в ядро системы:
cd /usr/src/sys/i386/conf
cp GENERIC my #делаем копию ядра
Редактируем файл my, добавляя следующие опции:
########### FIREWALL
options IPFIREWALL #firewall
options IPFIREWALL_VERBOSE #enable logging to syslogd(8)
options IPFIREWALL_FORWARD #enable transparent proxy support
options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity
options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
########### DUMMYNET - шейпер в FreeBSD
options DUMMYNET
######### IPDIVERT - система NAT
options IPDIVERT #divert sockets
3.4 Перекомпилируем ядро
config my
cd ../../depend/my
make depend && make && make install
3.5 Перепускаем систему:
shutdown -r now
3.6 Создаем файл rc.firewall.local
Допустим, мы выводим в Интернет сеть 10.7.0.0/16. Также допустим что
маршрутизатор имеет адрес 195.131.31.240, который "прикреплен" к
интерфейсу dc1. Тогда файл rc.firewall.local:
#!/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add 5000 divert natd ip from 10.7.0.0/16 to any out xmit
dc1
/sbin/ipfw add 5100 divert natd ip from any to 195.131.31.240
Сразу для верности можно его и запустить:
sh /etc/rc.firewall.local
3.7 Запускаем демон NATD
/sbin/natd -n dc1
После этого локальная сеть должна "Увидеть" Интернет.
3.8 Автоматизируем процесс запуска правил.
Создаем файл /etc/rc.local:
/sbin/natd -n dc1
/bin/sh /etc/rc.firewall.local
3.9 Перепускаем систему и убеждаемся, что все работает после
перезапуска системы.