В локальной сети имеется FreeBSD 4.3 с установленным на нее модемом, с нее
осуществляется дозвон на модемный пул в инет, а также виндовоя машина. Для
доступа с виндовой машины в инет настроил NATD, по инструкции с
http://www.void.ru/stat/0008/08.html
Адрес виндовой машины 192.168.0.1, сервера FreeBSD - 192.168.0.2, на
последней все это сидит на интерфейсе ed0, интерфейс dial-up-а по
"ifconfig -au" во время своей активности виден как tun0, реальный IP-адрес
на номере модемного пула всегда скажем 195.195.195.195 так их и величал в
правилах.Ядро собрал так:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERTКак и сказано в доке, создал в /usr/local/etc/rc.d файл firewall.sh,
содержащий в себе:#!/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add divert natd ip from 192.168.0.0/24 to any out via tun0
/sbin/ipfw add divert natd ip from any to 195.195.195.195 in via tun0
/sbin/ipfw add pass all from any to any via ed0И там же файл natd.sh, содержащий следующее (ясно на все это chmod u x
сделал):#!/bin/sh
/sbin/natd -f /etc/natd.conf -n tun0В /etc/natd.conf прописал следующее:
#!/bin/sh
same_ports yes use_sockets yesВ /etc/rc.conf добавил gateway_enable="YES"
Но ясно дело ничего не заработало.. :)
При установке соединения по модему на попытку пинга с той же юниксовой
машины в пирмишен динайт, не говоря уже про виндовую, что-то где-то
неправильно, помогите разобраться с ситуацией!
>В локальной сети имеется FreeBSD 4.3
>с установленным на нее модемом,
>с нее
>осуществляется дозвон на модемный пул в
>инет, а также виндовоя машина.
>Для
>доступа с виндовой машины в инет
>настроил NATD, по инструкции с
>
>http://www.void.ru/stat/0008/08.html
>Адрес виндовой машины 192.168.0.1, сервера FreeBSD
>- 192.168.0.2, на
>последней все это сидит на интерфейсе
>ed0, интерфейс dial-up-а по
>"ifconfig -au" во время своей активности
>виден как tun0, реальный IP-адрес
>
>на номере модемного пула всегда скажем
>195.195.195.195 так их и величал
>в
>правилах.
>
>Ядро собрал так:
>
>options
> IPFIREWALL
>options
> IPFIREWALL_VERBOSE
>options
> IPFIREWALL_FORWARD
>options
> IPFIREWALL_VERBOSE_LIMIT=100
>options
> IPDIVERT
>
>Как и сказано в доке, создал
>в /usr/local/etc/rc.d файл firewall.sh,
>содержащий в себе:
>
>#!/bin/sh
>/sbin/ipfw -f flushipfw add pass all from any to any via lo0
>/sbin/ipfw add divert natd ip from
>192.168.0.0/24 to any out via
>tun0
>/sbin/ipfw add divert natd ip from
>any to 195.195.195.195 in via
>tun0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ipfw add divert natd all from any to any via tun0>/sbin/ipfw add pass all from any
>to any via ed0
>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ipfw add pass all from any to any>И там же файл natd.sh, содержащий
>следующее (ясно на все это
>chmod u x
>сделал):
>
>#!/bin/sh
>/sbin/natd -f /etc/natd.conf -n tun0
>
>В /etc/natd.conf прописал следующее:
>
>#!/bin/sh
>same_ports yes use_sockets yes
>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Не неадо>В /etc/rc.conf добавил gateway_enable="YES"
>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ok
add in rc.conf
natd_enable=yes
natd_interface="tun0"Обрезал по самые ...
Но ДОЛЖНО РАБОТАТЬ>Но ясно дело ничего не заработало..
>:)
>При установке соединения по модему на
>попытку пинга с той же
>юниксовой
>машины в пирмишен динайт, не говоря
>уже про виндовую, что-то где-то
>
>неправильно, помогите разобраться с ситуацией!
Ну что, пробовал, не работает.
Правда не очень понятно написано, что вместо чего.Сегодня переставил фрю, все сделал заново.
Может ли быть проблема из-за того, что интерфейс tun0 появляется только после установки соединения по модему, а правила ищут его при загрузке системы? Кстати и сообщение соответствующие выводятся при этом, что мол ваш tun0 не обнаружен.Пробовал по-всякому уже, вот что сейчас выводится по ipfw list:
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 divert 8668 ip from 192.168.0.0/24 to any out xmit tun0
00500 divert 8668 ip from any to 194.85.84.220 in recv tun0
00600 allow ip from any to any via ed0
65535 deny ip from any to anyправила 00200 и 00300 убирал... кстати без добавления ipfw add 00X00 allow from any to any кажется и с юниксовой машины пинги в мир не шли.
С виндовой машины 192.168.0.1 ничего не видно, на ней в качестве шлюза указан адрес фри 192.168.0.2, также DNS этот же и вышестоящий.
Содержимое firewall.sh в /usr/local/etc/rc.d#!/bin/sh
/sbin/ipfw add divert natd ip from 192.168.0.0/24 to any out via tun0
/sbin/ipfw add divert natd ip from any to 194.85.84.220 in via tun0
/sbin/ipfw add pass all from any to any via ed0
Содержимое natd.sh в /usr/local/etc/rc.d#!/bin/sh
/sbin/natd -f /etc/natd.conf -n tun0
Содержимое /etc/natd.confsame_ports yes use_sockets yes
в /etc/rc.conf вот что:...
gateway_enable="YES"
firewall_enable="YES"
firewall_flags="/etc/rc.firewall"
natd_enable="YES"
natd_interface="tun0"
...
Тебе же уже нарисовали всё :)
ipfw -f flush
ipfw -f pipe flush
ipfw add 200 divert natd ip from any to any via ${inet_ip}
ipfw add 210 allow all from any to any via lo0
ipfw add 220 deny all from any to 127.0.0.0/8
natd -same_ports -unregistered_only -i ${inet_ip}
Да, NATD заработал у меня с такими правилами:00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 divert 8668 ip from any to any via tun0
65000 allow ip from any to any
65535 deny ip from any to anynatd при загрузке запускаю таким образом /sbin/natd -dynamic -interface tun0
Но слишком много тут any to any, при этом всем еще бы открыть наружу только http, ftp, ping, telnet, mail сервисы (порты)..
МАНЫ РЕКОМЕНДУЮ ЧИТАТЬ, БАТЕНЬКА!!!!man ipfw :)))
Ух, блеснул оригинальным ответом :)