URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 82725
[ Назад ]

Исходное сообщение
"iptables nat"

Отправлено alligatorus , 06-Ноя-08 14:09 
Здравствуйте
У меня такая проблема
Есть шлюз, старенький P2 на нем стоит Debian Etch.
Есть длокальная сеть, на одной из машин локальной сети стоит VmWare на ней стоит вряха и там веб сервер.
На шлюзе я пробросил все порты, все настроил с миру с легкостью можно достучаться до всех сервисов виртуалки.
Но вот когда я запрашиваю из локльной сети сайт например, то не могу до него достучаться, тоесть какбы шлюз не натит меня на виртуалку. Я думаю проблема в неправильной настройке iptables, я в нем не очень силен. Вот конфиг iptables, свой ip адрес я заменил на 123.456.78.9

# Generated by iptables-save v1.3.6 on Thu Nov  6 17:15:23 2008
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i dsl-provider -j ACCEPT
-A FORWARD -p tcp -m tcp -m state -d 192.168.0.2 --state NEW,ESTABLISHED,RELATED -j ACCEPT
COMMIT
# Completed on Thu Nov  6 17:15:23 2008
# Generated by iptables-save v1.3.6 on Thu Nov  6 17:15:23 2008
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp -s 192.168.0.0/255.255.0.0 ! -d 192.168.0.0/255.255.0.0 --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -p tcp -m tcp -d 123.456.78.9 --dport 80 -j DNAT --to-destination 192.168.0.2:80
-A POSTROUTING -o ppp0 -j MASQUERADE
-A PREROUTING -p tcp -m tcp -d 123.456.78.9 --dport 21 -j DNAT --to-destination 192.168.0.2:21
-A PREROUTING -p tcp -m tcp -d 123.456.78.9 --dport 20 -j DNAT --to-destination 192.168.0.2:20
-A PREROUTING -p tcp -m tcp -d 123.456.78.9 --dport 50000:60000 -j DNAT --to-destination 192.168.0.2:50000-60000
-A PREROUTING -p tcp -m tcp -d 123.456.78.9 --dport 20000 -j DNAT --to-destination 192.168.0.2:20000
COMMIT
# Completed on Thu Nov  6 17:15:23 2008
# Generated by iptables-save v1.3.6 on Thu Nov  6 17:15:23 2008
*mangle
:PREROUTING ACCEPT [29397:20173692]
:INPUT ACCEPT [3143:361151]
:FORWARD ACCEPT [26236:19810338]
:OUTPUT ACCEPT [3125:453453]
:POSTROUTING ACCEPT [29358:20263563]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Thu Nov  6 17:15:23 2008


пожалуйста подскажите что делать


Содержание

Сообщения в этом обсуждении
"iptables nat"
Отправлено suslic , 06-Ноя-08 21:04 
наскоко я понял внешний адрес на ррр интерфейсе - статический адрес 123.456.78.9
и Ваш сервер на 192.168.0.2
если из 192.168.0.2 надо видеть мир то попробуйте

-A POSTROUTING -s 192.168.0.2/255.255.255.0 -j MASQUERADE

не забываем echo "1" > /proc/sys/net/ipv4/ip_forward



"iptables nat"
Отправлено alligatorus , 07-Ноя-08 07:23 
>наскоко я понял внешний адрес на ррр интерфейсе - статический адрес 123.456.78.9
>
>и Ваш сервер на 192.168.0.2
>если из 192.168.0.2 надо видеть мир то попробуйте
>
>-A POSTROUTING -s 192.168.0.2/255.255.255.0 -j MASQUERADE
>
>не забываем echo "1" > /proc/sys/net/ipv4/ip_forward

Нет, нет не то
он из мира виден и в мир он через нат ходить не может.
НО вот когда я на своей локальной машине запрашиваю домен domain.ru, который указывает на мой внешний адрес 123,145,78,9, то запрос отрабатывается и мой браузер конечно же идет на этот IP, а iptables на шлюзе в такой ситуации не пробрасывает меня во внутрь в мою виртуалку. Тоесть объясню так:
Порты проброшены внутрь локалки, с мира заходить можно. А вот делать петлю из локалки на внешний IP и обратно в локалку на виртуальную машину уже нельзя. А мне это и нужно


"iptables nat"
Отправлено reader , 07-Ноя-08 10:42 
>[оверквотинг удален]
>он из мира виден и в мир он через нат ходить не
>может.
>НО вот когда я на своей локальной машине запрашиваю домен domain.ru, который
>указывает на мой внешний адрес 123,145,78,9, то запрос отрабатывается и мой
>браузер конечно же идет на этот IP, а iptables на шлюзе
>в такой ситуации не пробрасывает меня во внутрь в мою виртуалку.
>Тоесть объясню так:
>Порты проброшены внутрь локалки, с мира заходить можно. А вот делать петлю
>из локалки на внешний IP и обратно в локалку на виртуальную
>машину уже нельзя. А мне это и нужно

http://www.opennet.me/docs/RUS/iptables/#DNATTARGET

если я правильно понял, там ниже таблички описывается то что вы хотите.


"iptables nat"
Отправлено alligatorus , 07-Ноя-08 10:56 
спасибо Вам огромное, все оказалось очень просто, нужно было в цепочку OUTPUT добавить правило :)