ipfw и перенаправление на шлюз
Добавлено: 2012-09-18 14:00:30
Есть в сети ПК с FreeBSD 8 с ip 192.168.1.26 и алиасом 192.168.0.31 для доступа в сеть управления оборудованием, который нужно сделать программным маршрутизатором в сети. Есть железка маршрутизатор для доступа в интернет с ip 192.168.1.1. По-умолчанию файервол блокирует всю сетевую активность, но нужно сделать доступ чтоб пакеты в интернет форвардились на железку-шлюз.
rc.conf
Ядро собрано с опциями
Правила ipfw
Как видно из правил ip 192.168.1.2 и 192.168.1.2 имеют доступ в сеть 192.168.0.х и в интернет через шлюз 192.168.1.1. Нужно чтоб другие из подсети 192.168.1.х имели доступ в интернет, но не имели доступ в сеть 192.168.0.х.
rc.conf
Код: Выделить всё
ifconfig_em0="inet 192.168.1.26 netmask 255.255.255.0"
ifconfig_em0_alias0="inet 192.168.0.31 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall"
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
options DUMMYNET
Код: Выделить всё
#!/bin/sh
fw="/sbin/ipfw -q"
nmask="24"
ofnet="192.168.1"
devnet="192.168.0"
${fw} -f flush
${fw} -f pipe flush
${fw} -f queue flush
${fw} add allow ip from any to any via lo0
${fw} add allow ip from ${ofnet}.2 to any
${fw} add allow ip from any to ${ofnet}.2
${fw} add allow ip from ${ofnet}.123 to ${ofnet}.26
${fw} add allow ip from ${ofnet}.26 to ${ofnet}.123