Написал файл с правилами для IPFW
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw -q"
LanOut="vr1" # внешний интерфейс
LanIn="vr0" # внутренний интерфейс
IpOut="192.168.1.14" # внешний IP адрес машины
IpIn="192.168.0.1" # внутренний IP машины
NetMask="24" # маска сети
NetIn="192.168.0.0" # Внутренняя сеть
${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add allow udp from any 53 to any via ${LanOut}
${FwCMD} add allow udp from any to any 53 via ${LanOut}
${FwCMD} add allow udp from any to any 123 via ${LanOut}
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanIn}
${FwCMD} add deny ip from any to anyipfw show показывает, что запросы снаружи проходят через natd, а изнутри сети - нет. Может где-то подправить надо правила?
