>ME поставил, потому что на знал, что поставить взамен реального. "Не знал", батенька, тут не катит.
>>Пусть меняется IP на tun0 .
>>Запустите с опциями "natd -dynamic -n tun0" и все .
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это запустили ?
>>СКВИД отбиндьте на адрес 192.168.20.4 (ed2) . Пусть он там слушает порт
>>3128 и делает свои запросы во внешний мир.
>Да, он так и стоит по жизни, так и работает
Очень хорошо.
Посмотрите для проверки netstat -an , порт 3128.
>>Не надо менять правила IPFW с divert для
>>${fwcmd} add divert natd from any to any via tun0
>>, если меняется IP на tun0.
>По логике правило ${fwcmd} add divert natd from any to any via
>tun0
>содержит в себе ${fwcmd} add divert natd from any to
>me via tun0.
>неужели адреса ME не попадут в ANY ?
Попадут адреса ME в ANY, но Вы плохо не прочитали man ipfw .
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Смотрите, любой пакет из сети 192.168.0.0 ,
который направляется из роутера через tun0 во внешний мир, должен попасть в правило
${fwcmd} add divert natd from any to any via tun0 .
Ваше ${fwcmd} add divert natd from any to me via tun0 , здесь не подойдет.
Пронатиться natd, если надо ( это устанавливается в natd.conf ).
natd натит пакеты, которые ему поставляет ipfw через divert.
После этого пакет отправляется во внешний мир через tun0 с публичным src адресом.
Обратно из внешнего мира на вход tun0 приходит пакет с любым src адресом и dst
IP адресом для tun0.
Он снова должен попасть в это же правило, как входящий пакет.
${fwcmd} add divert natd from any to any via tun0 .
Пронатиться natd ( изменитьcя dst IP) и следовать на выход ed2 , например.
Перед тем как покинуть ed2, пакет еще раз должен пройти все правила IPFW, как
исходящий, но уже не попасть в
${fwcmd} add divert natd from any to any via tun0 .
Еще раз прочитайте man ipfw в переводе на этом сайте на предмет идеологии работы
IPFW.
В конце поставьте
deny log ip from any to any