приветствую всехСитуация такая:
FreeBsd 6.0, построение моста с фильтрацией
Есть 1 внешний интерфейс и 8 внутренних интерфейсов, которые надо соеденить в одну сеть, и на каждом интерфейсе надо разрешить только одну подсеть (на em0 - 192.168.0.0/24, em1 - 192.168.10.0/24 и так до em7 - 192.168.70.0/24)
На каждом интерфейсе назначил 3-й ip из требуемой подсети (em0-192.168.0.3, em1-192.168.10.3 и т.д. до em7-192.168.70.3), обьеденил все внутренние интерфейсы в мост, включил IPFW в open. При конфигурации open компьютеры из 0-го сегмента пингуют компьютеры из любого другого сегмента, так-же пингуют IP всех внутренних интерфейсов. Далее надо ограничить использование Ip по одной подсети класса "Д" на интерфейс. При подключении ipfw.rules компьютеры пингуют все интерфейсы, но не пингуют компьютеры далее этих интерфейсов. Получается чего-то не хватает в правилах, и мне кажется это никак не связанно с правилами на внутренние адаптеры, вероятно тут замешан lo0.
rc.conf:
gateway_enable="YES"
firewall_enable="YES"
firewall_quiet="YES"
firewall_program="sbin/ipfw"
firewall_type="open"
firewall_script="/etc/ipfw.rules"
ifconfig_em0="inet 192.168.0.3 netmask 255.255.255.0"
ifconfig_em1="inet 192.168.10.3 netmask 255.255.255.0"
ifconfig_em2="inet 192.168.20.3 netmask 255.255.255.0"
ifconfig_em3="inet 192.168.30.3 netmask 255.255.255.0"
ifconfig_em4="inet 192.168.40.3 netmask 255.255.255.0"
ifconfig_em5="inet 192.168.50.3 netmask 255.255.255.0"
ifconfig_em6="inet 192.168.60.3 netmask 255.255.255.0"
ifconfig_em7="inet 192.168.70.3 netmask 255.255.255.0"
ipfw.rules:
#!/bin/sh -
cmd="/sbin/ipfw -q"
/sbin/ipfw -q -f flush
${cmd} add 00005 allow all from any to any via fxp0 #временный внешний для ssh2
${cmd} add 00010 allow all from any to any via lo0
${cmd} add 00015 check-state
${cmd} add 00300 allow all from any to 192.168.0.0/24 via em0
${cmd} add 00300 allow all from 192.168.0.0/24 to any via em0
${cmd} add 00300 allow all from any to 192.168.10.0/24 via em1
${cmd} add 00300 allow all from 192.168.10.0/24 to any via em1
${cmd} add 00300 allow all from any to 192.168.20.0/24 via em2
${cmd} add 00300 allow all from 192.168.20.0/24 to any via em2
${cmd} add 00300 allow all from any to 192.168.30.0/24 via em3
${cmd} add 00300 allow all from 192.168.30.0/24 to any via em3
${cmd} add 00300 allow all from any to 192.168.40.0/24 via em4
${cmd} add 00300 allow all from 192.168.40.0/24 to any via em4
${cmd} add 00300 allow all from any to 192.168.50.0/24 via em5
${cmd} add 00300 allow all from 192.168.50.0/24 to any via em5
${cmd} add 00300 allow all from any to 192.168.60.0/24 via em6
${cmd} add 00300 allow all from 192.168.60.0/24 to any via em6
${cmd} add 00300 allow all from any to 192.168.70.0/24 via em7
${cmd} add 00300 allow all from 192.168.70.0/24 to any via em7
${cmd} add 65535 deny all from any to any
может я чего не упомянул...