Информационные технологииStfw.Ru 🔍

Шлюз на базе FreeBSD 5.3

В этой статье речь пойдёт о настройке шлюза для небольшой домашней сети.
🕛 15.03.2005, 05:36
В этой статье речь пойдёт о настройке шлюза для небольшой домашней сети. Такая задача может возникнуть, например, если у вас имеется постоянное соединение с Интернет и необходимость работать с Интернет из вашей локальной сети. С помощью ipfw и NAT эта задача сводится к сборке ядра с поддержкой ipfw и запуску natd. Обсуждение создания правил для ipfw выходит за рамки этой статьи, хотя является немаловажной составляющей сетевой безопасности. Выбор FreeBSD 5.3 в качестве платформы для экспериментов обусловлен тем, что на момент написания статьи это был последний production-stable release.

В нашем случае в качестве маршрутизатора будет использоваться машина с двумя сетевыми картами (rl0 - внутренняя сеть 192.168.1.1 и fxp0 - внешняя www.xxx.yyy.zzz). За гейтом скрывается сеть из произвольного количества машин с "серыми" адресами, в нашем простом случае одна -192.168.1.2.

Первое, что необходимо сделать для того, чтобы FreeBSD могла функционировать как шлюз, это пересобрать ядро с поддержкой ipfw (IP firewall). Для этого скопируем файл /usr/src/sys/i386/conf/GENERIC в файл с поизвольным именем (например cp GENERIC mymachine) и добавим в файл mymachine следующие строки:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPDIVERT
options DUMMYNET
options IPFIREWALL_VERBOSE_LIMIT=10
options TCP_DROP_SYNFIN

Теперь соберём ядро:

# config mymachine
# cd /usr/src/sys/compile/mymachine
# make
# make install
# shutdown -r now

После перезагрузки отредактируем файл /etc/rc.conf

defaultrouter="www.xxx.yyy.1"
gateway_enable="YES"
hostname="mymachine.ru"
ifconfig_fxp0="inet www.xxx.yyy.zzz netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
natd_enable="YES"
natd_interface="fxp0"
firewall_enable="YES"
firewall_type="OPEN"
tcp_drop_synfin="NO"

В параметре defaultrouter следует указать, шлюз по умолчанию вашего провайдера. Параметр gateway_enable="YES" позволяет использовать вашу машину как маршрутизатор. Параметр natd_enable="YES" включает поддержку демона NAT (Network Address Translation), natd_interface - интерфейс для natd. Обратите внимание на параметр firewall_type="OPEN", он позволяет всем компьютерам локальной сети выходить в Интернет через шлюз. Вы также можете ознакомиться с другими типами настройки ipfw в файле /etc/rc.firewall.

Разное в ИТ   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉