Простейшее с дивертом
Набираем команду ifconfig, смотрим, какие у нас есть сетевые карты. Предположим, мы увидели rl0 и rl1, в rl0 воткнута сеть провайдера, который дал нам такие параметры:
ip-адрес 192.168.1.5
маска 255.255.255.0
шлюз: 192.168.1.1
DNS1: 192.168.1.2
DNS2: 192.168.1.3
В rl1 воткнута наша сеть. Мы решили сделать её с адресным пространством 10.10.10.*
Тогда для начала настроим сетевые интерфейсы и обеспечим передачу пакетов между ними:
Код: Выделить всё
echo gateway_enable=«YES» > /etc/rc.conf
echo ifconfig_rl0=«inet 192.168.1.5 netmask 255.255.255.0» > /etc/rc.conf
echo ifconfig_rl1=«inet 10.10.10.1 nemask 255.255.255.0» >> /etc/rc.conf
echo defaultrouter=«192.168.1.1» >> /etc/rc.conf
echo nameserver 192.168.1.2 > /etc/resolv.conf
echo nameserver 192.168.1.3 >> /etc/resolv.conf
Теперь нам надо добавить фаервол и его «заворачивающий» модуль в автозагрузку. Даём следующие команды:
Код: Выделить всё
echo ipfw_load=«YES» > /boot/loader.conf
echo ipdivert_load=«YES» >> /boot/loader.conf
Создадим файлик для автостарта при загрузке с нужными правилами фаервола и натом:
Код: Выделить всё
echo natd -interface rl0 > /usr/local/etc/rc.d/autoexec.sh
echo ipfw add 10000 divert natd all from any to any via rl0 >> /usr/local/etc/rc.d/autoexec.sh
echo ipfw add 65000 allow all from any to any >> /usr/local/etc/rc.d/autoexec.sh
chmod 777 /usr/local/etc/rc.d/autoexec.sh
Вот собственно и всё. После перезагрузки наша FreeBSD станет роутером, а подключенные к ней компьютеры с адресами 10.10.10.*, маской 255.255.255.0, основным шлюзом 10.10.10.1 и с ДНСами что дал нам провайдер (192.168.1.2 и 192.168.1.3) будут иметь доступ к интернету. Как видите, ничего сложного, установить систему сложнее, чем сделать из неё простейший шлюз.