Войти

Показать полную графическую версию : [решено] Форвардинг пакетов через два NAT-а


dmitryst
24-04-2009, 23:33
Итак, что имеется:
1. Модем с внешним адресом 85.ххх.ххх.ххх и внутренним 10.0.1.1, включен нат и перенаправление пакетов на адрес 10.0.1.2
2. Шлюз с прокси и еще некоторыми сервисами. Интерфейс vr0 10.0.1.2 и rl0 192.168.1.1
3. Локальная сеть 192,168,1,0 и в ней машина с адресом 192,168,1,4, которая предоставляет сервис на порту 3389.
Что сделано:
1. На модеме его средствами организован проброс портов с внешнего адреса на 10,0,1,2 - работает http и ssh. По аналолгии сделано перенаправление порта 3389
2. Конфиг ipfw
#!/bin/sh

FW="/sbin/ipfw -q"


${FW} -f flush

# forward http from internet to my local apache
${FW} add 90 fwd 10.0.1.2,80 tcp from any to any 8080 in via vr0
# forward to SQUID
${FW} add 100 fwd 127.0.0.1,3128 all from 192.168.1.0/8 to any 80 via rl0

## allow SSH and FTP locally for me - locally
#${FW} add 300 allow ip from 192.168.1.168 to 192.168.1.1,21 via rl0
#${FW} add 310 allow ip from 192.168.1.168 to 192.168.1.1,22 via rl0
#${FW} add 320 deny ip from not 192.168.1.168 to 192.168.1.1,21 via rl0
#${FW} add 340 deny ip from not 192.168.1.168 to 192.168.1.1,22 via rl0



# add NAT from local
${FW} add 700 divert 8668 ip4 from any to any via vr0

#block loop
${FW} add 1100 allow ip from any to any via lo0
${FW} add 1110 deny ip from any to 127.0.0.0/8
${FW} add 1120 deny ip from 127.0.0.0/8 to any


${FW} add 2000 allow ip from any to any

Надо:
Организовать доступ к машине 192,168,1,4 и порту 3389 из интернета. Уже голову сломал с перенаправлениями и прочими премудростями - нет коннекта :(

WhitePangolin
27-04-2009, 08:31
проброс портов с внешнего адреса на 10,0,1,2 - работает http и ssh. По аналолгии сделано перенаправление порта 3389 »
Вообще странно... в конфиге ipfw только один forward, но даже если предположить что их всеже 3 то надо для начала послушать порт машины 10.0.1.2 на предмет того приходит ли туда вообще хоть чтонибудь. Ну и фаервол бы проверить не мешало... помнится в свое время часов 6 убил пытаясь понять, почему MySQL не слушает порт, а оказалось что сам его же и закрыл...

dmitryst
27-04-2009, 12:24
но даже если предположить что их всеже 3 »
их три в НАТ-е модема :)
http://keep4u.ru/imgs/s/2009/04/27/c0/c0b598f012a77805a7d631feee753a93.jpg (http://keep4u.ru/full/2009/04/27/c0b598f012a77805a7d631feee753a93/jpg)

насчет послушать - слушал trafshow. Даже добавил правило - форвард пактов с 3389 порта на 21-й. ФТП законнектился :). Теперь осталось реальзовать проброс пакетов с 10.0.1.2 на 192.168.1.4. Любая помощь приветствуется :)

Telepuzik
27-04-2009, 14:21
dmitryst,
Попробуйте прописать следующее:
rc.conf:
natd_enable="YES"
natd_interface="vr0"
natd_flags="-f /etc/natd.conf"
natd_program="/sbin/natd"

natd.conf:
same_ports yes
use_sockets yes
redirect_port tcp 192.168.1.4:3389 3389

Добавить правила ipfw(rc.firewall):
ipfw='/sbin/ipfw -q'

${ipfw} flush

${ipfw} add allow tcp from any to 192.168.1.4 3389 in recv vr0
${ipfw} add allow tcp from any to 192.168.1.4 3389 out via rl0
..............
Перезапустить natd.

dmitryst
27-04-2009, 15:39
natd_program="/sbin/natd" »
без этого тоже работает :)
В natd.conf такое:

port 8668
interface vr0
same_ports
redirect_port tcp 127.0.0.1:80 3128
redirect_port tcp 192.168.1.4:3389 3389

Работает :). Спасибо!

mss_sarvarbek
26-08-2009, 10:01
А как это сделать если подключение идет через PPP , в конфе rc.conf написано
ppp_enable="yes"
ppp_mode="ddial"
ppp_profile="DataGrup"
ppp_nat="yes"

Где написать redirect_port ???

dmitryst
26-08-2009, 12:27
Где написать redirect_port ??? »
В natd.conf »

mss_sarvarbek
26-08-2009, 12:56
В natd.conf » »

NAT включается, через ppp ppp_nat="yes" Изменения на natd.conf не помогло

dmitryst
26-08-2009, 13:14
mss_sarvarbek,
А разве в rc.conf добавить natd_enable="YES" не надо? :)

mss_sarvarbek
26-08-2009, 13:16
А разве в rc.conf добавить natd_enable="YES" не надо? »

В ppp, у меня без этого работает :)




© OSzone.net 2001-2012