>поставил FReeBSD 6.2.
>скомпилировал ядро с опциями
>options IPDIVERT >в RC.conf добавил
>ppp_enable="YES"
>ppp_mode="ddial"
>ppp_profile="ISP"
У ppp свой NAT, он точно выключен?
>в ppp.conf
>default:
> set log phase tun command
> set mru 1492
> set mtu 1492
>
>ISP:
> set device PPPoE:ed0
> set authname MYNAME
> set authkey MYPASS
>в rc_ppp.firewall
>#!/bin/sh
>#
>fwcmd="/sbin/ipfw -q"
>Lan_0_IP="192.168.20.4"
>Lan_0="192.168.20.0"
>MASK="24"
>Lan_0="ed2"
^^^^^^^^^^^^^
Тут не ошибка?
echo $Lan_0
Посмотри ipfw show .
>${fwcmd} -f flush
>
>${fwcmd} add 1 divert natd ip from ${Lan_0}/${MASK} to any out via
>tun0
>${fwcmd} add 2 divert natd ip from any to me in via
>tun0
>${fwcmd} add 3 allow all from any to any
>
>Соединение с провайдером PPPoE IP - динамический
>соединение поднимается - TCPDUMP говорит что с tun0 пакеты уходят с назначенного
>IP (НАТ работает) и возвращаются ответы. НО больше ИХ НИГДЕ НЕ
>ВИДНО - ни на внутреннем интерфейсе - нигде, не работает
>с сервера ни пинг ни ДНС. Если убрать правило 2 в
>rc_ppp.firewall (${fwcmd} add 2 divert natd ip from any to me
>in via tun0), тогда ping, днс, сквид, начинают работать, но НАТ
>соответсвенно работать без него не будет.
>ЧТО ПОДСКАЖУТ ГУРУ?
Зачем два правила divert?
${fwcmd} add 100 pass all from any to any via lo0
${fwcmd} add 200 deny all from any to 127.0.0.0/8
${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
...
${fwcmd} add divert natd ip from any to any via tun0
...
Что посылать через tun0, определяешь таблицей роутинга.
Включи лог на divert правила и посмотри , что туда попадает.