Помогите разобраться с NATD

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
spiderman
проходил мимо

Помогите разобраться с NATD

Непрочитанное сообщение spiderman » 2009-03-02 23:00:15

Есть два компа:
1)

Код: Выделить всё

2d2# uname -a
FreeBSD r2d2.home.org 7.1-STABLE FreeBSD 7.1-STABLE #2: Mon Mar  2 18:17:04 MSK 2009     admin@r2d2:/usr/obj/usr/src/sys/kernel  i386
две сетевушки: rl0 ( c адресом 192.168.0.1 - смотрит в локалку ) и nfe0 ( с адресом 192.168.xxx.yyy - внешка ).
2) WinXP:
адрес 192.168.0.10
шлюз 192.168.0.1
:::::
маска везде 255.255.255.0
Фря получает инет через vpn посредством mpd5. Инет на фряхе есть всё ок. Нужно инет протянуть до 2-ого компа.
Почитал много всего и сделал следующее:

(для справки):

Код: Выделить всё

r2d2# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:02:44:77:16:ff
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
nfe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:1f:c6:c0:f9:b4
        inet 192.168.xxx.yyy netmask 0xffffff00 broadcast 192.168.xxx.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
        inet 172.30.xxx.yyy --> 172.30.96.1 netmask 0xffffffff
ng0 - это то, что создалось при подключении через mpd5 по впн.

собрал ядро:

Код: Выделить всё

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET                    
options IPDIVERT                    
в rc.conf записал:

Код: Выделить всё

ifconfig_rl0="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_nfe0="inet 192.168.xxx.yyy netmask 255.255.255.0"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_logging="YES"

natd_enable="YES"
natd_interface="nfe0"
natd_flags="-l yes -u -m"

gateway_enable="YES"
в rc.firewall прописал:

Код: Выделить всё

#!/bin/sh
fw="/sbin/ipfw "
$fw -f flush
$fw add divert natd all from any to any via nfe0
В винде просто поставил настройки IP, mask и gateway как указано в начале поста. Но проблема в том, что в винде не ходят пинги дальше шлюза прова 192.168.xxx.2 . Т.е. пингуются из винды только фря и шлюз прова. Вопрос: что переделать\сделать нужно, чтобы через комп с виндой был виден весь инет без ограничений? (маны приветствуются)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Sun
прапорщик
Сообщения: 487
Зарегистрирован: 2008-07-14 18:27:14
Откуда: Красноярск
Контактная информация:

Re: Помогите разобраться с NATD

Непрочитанное сообщение Sun » 2009-03-02 23:08:25

А gateway_enable="YES" в rc.conf?

rc.conf

Код: Выделить всё

gateway_enable="YES"
firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw2.conf"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"
ipfw2.conf

Код: Выделить всё

#!/bin/sh
fwcmd="/sbin/ipfw -q"

oif="rl0" # внешний интерфейс
iif="rl1" # локальный интерфейс
oip="x.y.z.c" # внешний ип
iip="x.y.z.c" # локальный ип
mlan="x.y.z.c/24" #внутр сеть

${fwcmd} -f flush
${fwcmd} add check-state
${fwcmd} add allow ip4 from any to any via lo0
${fwcmd} add deny ip4 from any to 127.0.0.0/8
${fwcmd} add deny ip4 from 127.0.0.0/8 to any
${fwcmd} add divert 8668 ip4 from ${mlan} to any out via ${oif}
${fwcmd} add divert 8668 ip4 from any to ${oip} in via ${oif}
${fwcmd} add allow ip from any to any
natd.conf

Код: Выделить всё

log yes
use_sockets yes
same_ports yes
dynamic yes
unregistered_only yes

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Помогите разобраться с NATD

Непрочитанное сообщение paradox » 2009-03-02 23:19:10

нат нужно на ng0 вешать а не на сетевку

Аватара пользователя
Sun
прапорщик
Сообщения: 487
Зарегистрирован: 2008-07-14 18:27:14
Откуда: Красноярск
Контактная информация:

Re: Помогите разобраться с NATD

Непрочитанное сообщение Sun » 2009-03-02 23:21:52

paradox писал(а):нат нужно на ng0 вешать а не на сетевку
Ну у меня просто сразу на сетевуху инет идет,вот я так пример и привел,а вообще то да на ng0 надь :-D

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Помогите разобраться с NATD

Непрочитанное сообщение paradox » 2009-03-02 23:26:35

:smile: не пались
я спайдермену и говорил а не тебе

spiderman
проходил мимо

Re: Помогите разобраться с NATD

Непрочитанное сообщение spiderman » 2009-03-02 23:42:01

Sun писал(а):А gateway_enable="YES" в rc.conf?
Оно есть в самом низу rc.conf...

исправил natd_interface="ng0". в firewall'е исправил. nadt.conf тоже... в итоге mpd5 перестало подключаться. зависало на

Код: Выделить всё

r2d2# mpd5                                                                       
Multi-link PPP daemon for FreeBSD                                                
                                                                                 
process 10663 started, version 5.2 (root@r2d2.mshome.net 20:19  1-Mar-2009)      
CONSOLE: listening on 127.0.0.1 5005                                             
web: listening on 0.0.0.0 5006                                                   
[B1] Bundle: Interface ng0 created                                               
[L1] [L1] Link: OPEN event                                                       
[L1] LCP: Open event                                                             
[L1] LCP: state change Initial --> Starting                                      
[L1] LCP: LayerStart                                                             
по ctrl-c выходил... подключалось только при закоментировании всех строк в rc.firewall.

mpd5.conf:

Код: Выделить всё

startup:
        set user foo bar admin
        set user foo1 bar1
        set console self 127.0.0.1 5005
        set console open
        set web self 0.0.0.0 5006
        set web open
default:
        load pptp_client
pptp_client:
        create bundle static B1
        set iface route default
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0
        create link static L1 pptp
        set link action bundle B1
        set auth authname XXXXXXXXXXX
        set auth password XXXXXXXXXXX
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 20 75
        set pptp peer 192.168.xxx.2
        set pptp disable windowing
        open
неужто firewall блокирует?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Помогите разобраться с NATD

Непрочитанное сообщение paradox » 2009-03-02 23:47:27

в фаерволе одну строчку что ли закоментировал?
та ну бред
такого быть не может
что то у тебя не то накручено

spiderman
проходил мимо

Re: Помогите разобраться с NATD

Непрочитанное сообщение spiderman » 2009-03-02 23:57:27

paradox писал(а):в фаерволе одну строчку что ли закоментировал?
та ну бред
такого быть не может
что то у тебя не то накручено
комментирую

Код: Выделить всё

#!/bin/sh
fwcmd="/sbin/ipfw -q"

oif="nfe0"
iif="rl0"
oip="192.168.xxx.yyy"
iip="192.168.0.1"
mlan="192.168.0.0/24"

${fwcmd} -f flush
${fwcmd} add check-state
${fwcmd} add allow ip4 from any to any via lo0
${fwcmd} add deny ip4 from any to 127.0.0.0/8
${fwcmd} add deny ip4 from 127.0.0.0/8 to any
${fwcmd} add divert 8668 ip4 from ${mlan} to any out via ${oif}
############${fwcmd} add divert 8668 ip4 from any to ${oip} in via ${oif}
${fwcmd} add allow ip from any to any
инет подключается.. а с этой строчкой даже пинг до шлюза внешки 192.168.xxx.2 не доходят. вот прямь и не знаю, что я не так делаю..
если интересно вывод ipfw при пинге оного :) :

Код: Выделить всё

r2d2# ipfw -at list
00100      0        0                         check-state
00200     12     1008 Mon Mar  2 23:51:38 2009 allow ip4 from any to any via lo0
00300      0        0                         deny ip4 from any to 127.0.0.0/8  
00400      0        0                         deny ip4 from 127.0.0.0/8 to any  
00500      0        0                         divert 8668 ip4 from 192.168.0.0/24 to any out via nfe0
00600     19     1692 Mon Mar  2 23:51:57 2009 divert 8668 ip4 from any to 192.168.208.92 in via nfe0
00700     78     4989 Mon Mar  2 23:51:57 2009 allow ip from any to any                  

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Помогите разобраться с NATD

Непрочитанное сообщение paradox » 2009-03-03 0:02:53

вы что с дуба рухнули?
убирите нах все ваши диверты
и оставте один
который должен висеть на ng0
и все должно рабоать
:cz2:

spiderman
проходил мимо

Re: Помогите разобраться с NATD

Непрочитанное сообщение spiderman » 2009-03-03 0:11:19

paradox писал(а):вы что с дуба рухнули?
убирите нах все ваши диверты
и оставте один
который должен висеть на ng0
и все должно рабоать
:cz2:
ну наконец-таки заработало! спасибо всем большое откликнувшимся за оказанную помощь.