andryas
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте. Требуется помощь/консультация, уважаемые коллеги. Задача: Создание моста, разрешающего доступ только в пределах определённой подсети (192.168.2.0/24) и только между 4-ма интерфейсами rl0,rl1,ed0,ed1. Система FreeBSD 5.3 Production Release Создан мост-фильтр с шейпингом: --------- kernel ----- options BRIDGE options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=10000 #options IPSTEALTH #options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_FORWARD options IPDIVERT options DUMMYNET maxusers 512 options HZ=1000 #options DEVICE_POLLING options NMBCLUSTERS=16384 ----------- sysctl ---------- sysctl net.link.ether.bridge.enable=1 sysctl net.link.ether.bridge.ipfw=1 sysctl net.link.ether.bridge.config="rl0,rl1,ed0,ed1" ----------- ipfw ------------ ipfw add 1 pass udp from 0.0.0.0 2054 to 0.0.0.0 ipfw add 2 pass all from 192.168.2.0/24 to 192.168.2.0/24 ipfw add 65534 deny log logamount 100000 all from any to any ----------------------------- Результат. Мост блокирует ARP IP->MAC запросы ipfw: 65534 Deny MAC in via rl0 ipfw: 65534 Deny MAC in via rl1 ipfw: 65534 Deny MAC in via ed0 ipfw: 65534 Deny MAC in via ed1 В случае замены правила ipfw 2 delete ipfw add 2 pass all from any to any мост работает, но, естественно, без фильтрации. Бага или фича? Решение типа #options IPFIREWALL_DEFAULT_TO_ACCEPT или типа ipfw add 65534 pass logamount 100000 all from any to any использовать нельзя, машина имеет выход в другие сети. Как добится прохождения ARP пакетов через мост? |