Считаю, что мне очень повезло с тем, что когда-то попал на этот сайт. Многому научился.
Последние несколько дней пытаюсь привести в порядок правила ipfw на 7-й фре.
В общем, с пом. Гугля привел правила к такому виду (ниже). Конфигурация интерфейсов и инета видна из первых же строк. Правила по доступу к удаленным сервисам еще не писал - это не проблема.
А проблема вот в чем: при выключенной обработке layer2 вроде работает как надо (день работало, больше не проверял). Как только включаю net.link.ether.ipfw = 1, сразу файрвол затыкается
Да, я читал про то, что теперь пакет в интерфейсе проходит 4 раза через фаер, а не 2. На это и опирался при построении правил.
Считаю авторов этого сайта авторитетными профессионалами, поэтому прошу помощи. Подскажите, где ошибся?
Вот настройки скрипта:
Код: Выделить всё
#!/bin/sh
ID_INT1="11";
NET_INT1="192.168.65.0/24";
IP_INT1="192.168.65.128";
IF_INT1="sk0";
PIPE_INT1_IN="bw 256Kbit/s";
PIPE_INT1_OUT="bw 256Kbit/s";
TCP_INT1="25,80,110,65022,22";
UDP_INT1="53";
ID_INET1="31";
IP_INET1="192.168.64.2";
IF_INET1="re0";
TCP_INET1="25,80,110,65022,22";
GW1="192.168.64.128";
NAT1="8668";
FWCMD="/sbin/ipfw";
ADD="/sbin/ipfw add";
TBL="/sbin/ipfw table";
END_RULE_NUM="64000";
END_RULE_BODY="deny log all from any to any";
pre_setup () {
${FWCMD} disable firewall;
${FWCMD} -f flush;
}
post_setup () {
/sbin/sysctl net.inet.ip.fw.enable=1;
/sbin/sysctl net.inet.ip.fw.one_pass=0;
/sbin/sysctl net.link.ether.ipfw=1;
}
Код: Выделить всё
01111 skipto 11100 ip from 192.168.65.0/24 to any in via sk0 layer2
01115 skipto 11500 ip from 192.168.65.0/24 to any in via sk0 not layer2
01311 skipto 31100 ip from any to any in via re0 layer2
01315 skipto 31500 ip from any to any in via re0 not layer2
01990 deny ip from any to any in layer2
09010 allow ip from any to any out layer2
09111 pipe 115 ip from 192.168.65.0/24 to any out via re0 not layer2
09931 divert 8668 ip from any to any out via re0
09990 allow ip from any to any out
09999 skipto 64000 ip from any to any
11101 allow ip from any to any MAC any 00:1d:60:58:55:72
11102 allow ip from 192.168.65.1 to any MAC any 00:30:1b:28:08:05
11199 deny ip from any to any layer2
11580 allow ip from any to 192.168.65.128
11590 allow ip from any to any
11599 skipto 64000 ip from any to any
31101 allow ip from any to any MAC any any
31199 deny ip from any to any layer2
31510 divert 8668 ip from any to any
31520 allow ip from any to 192.168.64.2
31911 pipe 111 ip from any to 192.168.65.0/24 not layer2
31990 allow ip from any to any
31999 skipto 64000 ip from any to any
64000 deny log logamount 100 ip from any to any
net.inet.ip.fw.enable: 1 -> 1
net.inet.ip.fw.one_pass: 1 -> 0
net.link.ether.ipfw: 0 -> 1
