Имеется:
ОС FreeBSD 4.11-STABLE
IPFW2
Переменные в rc.local:
/sbin/sysctl -w net.inet.ip.forwarding
/sbin/sysctl -w net.inet.ip.fw.one_pass=0
Машина во внутренней подсети с адресом 10.0.10.99
Есть такая конструкция:
55800 622192 261110297 divert 8668 ip from any to any via rl0
55810 47630 4945534 allow ip from any to any via lo0
60000 1099657 402374309 allow ip from any to any
Так все едет и все довольныЕсли же конструкция слегка видоизменяется до такой:
06000 425 26036 allow ip from 10.0.10.99 to any
06000 46 3528 allow ip from any to 10.0.10.9955800 622192 261110297 divert 8668 ip from any to any via rl0
55810 47630 4945534 allow ip from any to any via lo0
60000 1099657 402374309 allow ip from any to any
Пинг до сервера присутствует
Пинг во внешний мир прекращается.
Сообственно вопрос, где можно посмотреть чего ему не хватает?
Правила диверта должны быть раньше.
Ну, скажем, самый простой вариант:
ipfw add 50 divert 8668 ip from any to any via rl0
ipfw add 60 allow ip from any to any via lo0
ipfw add 61 deny ip from any to 127.0.0.0/8
ipfw add 62 deny ip from 127.0.0.0/8 to any
ipfw add 70 allow ip from 10.0.10.99/32 to any
ipfw add 71 allow ip from any to 10.0.10.99/32