Страница 1 из 1

mpd5 pppoe_client nat

Добавлено: 2011-11-23 4:28:16
Tera
Стоит FreeBSD 8.2, машина выполняет роль маршрутизатора.
Подключение устанавливается к провайдеру по PPPoE, клиент mpd5.

mpd.conf

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

pppoe_client:

        create bundle static B1
        set iface route default
        set iface enable nat
#       set iface up-script "/usr/local/etc/mpd5/mpd.script"
#       set iface down-script "/usr/local/etc/mpd5/mpd.script"
        set iface enable tcpmssfix
        set ipcp ranges 0.0.0.0/0.0.0.0/0

        create link static L1 pppoe
        set link action bundle B1
        set auth authname gsd34525
        set auth password 625250
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 10 60
        set pppoe iface vr0
        set pppoe service ""
        open
Файервол ipfw.

Вопрос, как настроить проброс портов во внутрению сеть?

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-23 18:14:22
simon272
Основываясь на личном опыте я бы закоментировал строчку :

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

        set iface enable nat
и организовал НАТ посредством IPFW со всеми его прелестями (в том числе прозрачное проксирова и проброс портов).

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-24 4:24:12
Tera
дело в том что при вводе в работу ядреного ната ни чего не работает.
делаю так

/etc/ipfw.conf

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

ipfw add allow ip from any to any
ipfw nat 50 config if ng0
ipfw add nat 50 ip4 from any to any

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-24 14:02:57
simon272
Покажи какие опции добавил в ядро, содержимое rc.conf и вывод след. команд:

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

# ifconfig
# kldstat
# ipfw nat 50 show

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-24 22:55:38
vadim64
))))

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

sysctl -a | grep one_pass

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-25 18:51:08
Tera
добавил в ядро

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

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=50
options         IPFIREWALL_NAT
options         IPFIREWALL_FORWARD
options         LIBALIAS
options         DUMMYNET
options         HZ="1000"
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPPOE
options         NETGRAPH_TCPMSS
ifconfig

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

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:19:99:38:04:0e
        inet 192.168.1.102 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:1a:4d:86:a4:51
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
        inet 80.20.11.175 --> 87.20.11.176 netmask 0xffffffff
kldstat

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

 1   26 0xc0400000 bd97b4   kernel
 2    1 0xc629f000 11000    ipfw.ko
 3    1 0xc628f000 d000     libalias.ko
 4    1 0xc640f000 4000     ng_socket.ko
 5    8 0xc6416000 b000     netgraph.ko
 6    1 0xc64af000 4000     ng_mppc.ko
 7    1 0xc64b3000 2000     rc4.ko
 8    1 0xc64b8000 4000     ng_iface.ko
 9    1 0xc64c3000 7000     ng_ppp.ko
10    1 0xc64cc000 3000     ng_tee.ko
11    1 0xc64d0000 4000     ng_ether.ko
12    1 0xc64d4000 6000     ng_pppoe.ko
13    1 0xc6523000 3000     ng_tcpmss.ko
ipfw nat 50 show

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

nat 50: icmp=0, udp=0, tcp=51, sctp=0, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=51

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-25 18:52:41
Tea1987
sysctl -a | grep one_pass

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

net.inet.ip.fw.one_pass: 1

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-27 0:45:14
simon272
Отличный пример (как раз с пробросом портов):
http://www.lissyara.su/articles/freebsd ... #example_1

... если не получается с ядерным NAT - попробуй для начала по-старинке через natd, гляди чего прояснится.

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-27 10:36:43
Dog
А зачем такие сложности? Не проще ли решить поставленную задачу средствами самого MPD, согласно документации: http://mpd.sourceforge.net/doc5/mpd39.html#39.

Re: mpd5 pppoe_client nat

Добавлено: 2011-11-27 18:11:46
Tera
simon272 писал(а):Отличный пример (как раз с пробросом портов):
http://www.lissyara.su/articles/freebsd ... #example_1

... если не получается с ядерным NAT - попробуй для начала по-старинке через natd, гляди чего прояснится.
А кто говорит что плохой пример, только я выше написал, что так не работает и прошу помочь разобраться почему.
Dog писал(а):А зачем такие сложности? Не проще ли решить поставленную задачу средствами самого MPD, согласно документации: http://mpd.sourceforge.net/doc5/mpd39.html#39.
Если бы я хотел воспользоватся натом mpd5 я бы не стал создавать тему.