PDA

Показать полную графическую версию : [решено] NATD, Portmapping и IPFW


Страниц : [1] 2

Negativ
07-09-2010, 17:57
в rc.firewall
natd_flags="-same_ports -redirect_port tcp 192.168.1.127:80 80"

Как проверить, работает ли этот маппинг?
Снаружи при попытке зайти на этот хост нет ответа.
tcpdump регистрирует входящие пакеты.

bozordzh
07-09-2010, 18:16
natd_flags="-same_ports yes -redirect_port tcp 192.168.1.127:80 80" вроде так надо
вот например конфиг ната:
use_sockets yes
same_ports yes
unregistered_only yes
interface rl1
#redirect_port tcp 192.168.5.6:20001 20001
еще надо указать интерфейс где он должен крутиться

bozordzh
07-09-2010, 18:40
А вообще юзай лучше rinetd, вот почитай: http://www.lissyara.su/articles/freebsd/trivia/rinetd/

Negativ
08-09-2010, 09:21
еще надо указать интерфейс где он должен крутиться »

в rc.conf вроде бы явно указывается интерфейс для NATD

Negativ
08-09-2010, 09:58
bozordzh,
как только я добавляю в natd.conf
use_sockets yes
same_ports yes
unregistered_only yes
interface stge0
natd_flags="-same_ports -redirect_port tcp 192.168.1.127:80 80"

пропадает интернет везде.

vadblm
08-09-2010, 12:22
Если используете внешний конфигурационный файл для передачи опций, то следует об этом сообщить natd вот так:

natd_flags="-f /etc/natd.conf"

и больше никиких флагов в этой директиве не передавать, а прописывать всё что нужно в natd.conf

Negativ
08-09-2010, 14:15
vadblm,
Сделал как написали, но это все-равно не работает.

в natd.conf:

same_ports yes
use_sockets yes
interface stge0
unregistered_only yes
redirect_port tcp 192.168.1.127:80 80

Telepuzik
08-09-2010, 14:26
Вывод команды ps -A | grep natd покажите. Правила ipfw покажите.

Negativ
08-09-2010, 16:44
ps -A | grep natd
596 ?? Ss 0:02,69 /sbin/natd -f /etc/natd.conf -n stge0
1575 p0 S+ 0:00,00 grep natd


ipfw show
00100 450 24700 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 12979 1291731 allow ip from 192.168.1.0/24 to 192.168.1.0/24 via msk0
00500 124276 100442042 divert 8668 log logamount 100 ip from any to any via stge0
00600 124279 100442618 allow log logamount 100 ip from any to any via stge0
00700 0 0 divert 8668 ip from 192.168.1.0/24 to any out via stge0
00800 0 0 allow ip from внешнийайпи to any out via stge0
00900 53893 5341944 allow ip from 192.168.1.0/24 to any in via msk0
01000 0 0 allow ip from 192.168.1.0/24 to any out via stge0
01100 0 0 allow ip from any to 192.168.1.0/24 in via stge0
01200 74890 95760375 allow ip from any to 192.168.1.0/24 out via msk0
01300 934 95563 allow udp from any to any via msk0
01400 0 0 deny log logamount 100 ip from any to any
65535 0 0 allow ip from any to any

Telepuzik
08-09-2010, 17:03
00500 124276 100442042 divert 8668 log logamount 100 ip from any to any via stge0 »
Что то не нравится мне это правило. Попробуйте прописать 450-ым следующее правило:
ipfw add allow ip from any to <внешний ip> 80 in via stge0

Negativ
08-09-2010, 17:20
Что то не нравится мне это правило. Попробуйте прописать 450-ым следующее правило:
ipfw add allow ip from any to <внешний ip> 80 in via stge0 »
добавил разницы нет.

ipfw show

00450 9 432 allow ip from any to внешнийайпи dst-port 80 in via stge0

Telepuzik
08-09-2010, 17:29
Я думаю что проблема где то в правилах ipfw. У меня просто правило divert разбито на два правила. Попробуйте прописать правило 460: ipfw add divert natd ip from any to <внешний ip > in via stge0 а 450 отключите.
А из локальной сети сайт нормально открывается.

Negativ
08-09-2010, 17:59
Я думаю что проблема где то в правилах ipfw. У меня просто правило divert разбито на два правила. Попробуйте прописать правило 460: ipfw add divert natd ip from any to <внешний ip > in via stge0 а 450 отключите.
А из локальной сети сайт нормально открывается. »

сделал. хост по прежнему снаружи не отвечает по 80 порту. И пропал инет у клиентов.
Сайт в локалке открывается.

Telepuzik
09-09-2010, 10:16
Попробуйте отключить свое правило диверта (500), и прописать вместо него правила:
ipfw add divert natd ip from 192.168.1.0/24 to any out via stge0
ipfw add divert natd ip from any to <внешний ip > in via stge0
ipfw add allow tcp from any to any established
и вывод ipfw show с этими правилами покажите. И вывод ifconfig с Веб сервера покажите.

Negativ
09-09-2010, 16:38
gate_serv# ipfw show
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 106 23040 allow ip from 192.168.1.0/24 to 192.168.1.0/24 via msk0
00500 0 0 divert 8668 ip from 192.168.1.0/24 to any out via stge0
00600 0 0 divert 8668 ip from any to внешнийайпи in via stge0
00700 0 0 allow tcp from any to any established
00800 0 0 allow ip from 192.168.1.0/24 to any in via msk0
00900 0 0 allow ip from 192.168.1.0/24 to any out via stge0
01000 0 0 allow ip from any to 192.168.1.0/24 in via stge0
01100 0 0 allow ip from any to 192.168.1.0/24 out via msk0
01200 0 0 allow udp from any to any via msk0
01300 0 0 deny log logamount 100 ip from any to any
65535 20 2016 allow ip from any to any


на вебсервере куда мапятся пакеты это сделать невозможно. Это железка с вебинтерфейсом.
Собственно с этими правилами инета нет нигде. И маппинг так же не работает.

Telepuzik
09-09-2010, 16:50
на вебсервере куда мапятся пакеты это сделать невозможно »
На нем шлюз прописан? Вы после внесения изменений в настройки файрвола перезапускаете машину или тока файрвол? Содержимое rc.conf покажите. И правило 400 поставьте ниже диверта.

Negativ
13-09-2010, 11:40
На нем шлюз прописан? »
как я мог про это забыть? Прописал это

ipfw show
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 0 0 divert 8668 ip from 192.168.1.0/24 to any out via stge0
00500 0 0 divert 8668 ip from any to внешнийайпи in via stge0
00600 199 44600 allow tcp from any to any established
00700 15 1344 allow ip from 192.168.1.0/24 to 192.168.1.0/24 via msk0
00800 7 822 allow ip from 192.168.1.0/24 to any in via msk0
00900 0 0 allow ip from 192.168.1.0/24 to any out via stge0
01000 0 0 allow ip from any to 192.168.1.0/24 in via stge0
01100 0 0 allow ip from any to 192.168.1.0/24 out via msk0
01200 1 68 allow udp from any to any via msk0
01300 0 0 deny log logamount 100 ip from any to any
65535 44 4496 allow ip from any to any

заработал проброс
но не работает инет ни на шлюзе ни на клиентах.

Telepuzik
13-09-2010, 12:03
00400 0 0 divert 8668 ip from 192.168.1.0/24 to any out via stge0
00500 0 0 divert 8668 ip from any to внешнийайпи in via stge0 »
Так а stge0 это внешний интерфейс? Вывод ifconfig покажите?

Negativ
13-09-2010, 16:04
Так а stge0 это внешний интерфейс? Вывод ifconfig покажите? »


ifconfig
msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=11a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4>
ether 00:11:2f:e0:0e:e4
inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (1000baseTX <full-duplex,flag0,flag1>)
status: active
stge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
ether 00:22:15:11:02:7b
inet внешнийайпи netmask 0xfffffff0 broadcast броадкастайпи
media: Ethernet autoselect (1000baseTX <full-duplex,flag0,flag1,flag2>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet 127.0.0.1 netmask 0xff000000

Telepuzik
13-09-2010, 16:15
Допишите еще правило ipfw add allow ip from <внешний ip> to any out xmit stge0




© OSzone.net 2001-2012