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

Исходное сообщение
"Маскарадинг в iptables"

Отправлено Reskit , 10-Окт-08 13:37 
Здраствуйте!

Задача такая: есть локальная сеть, выходит в инет через шлюз на iptables (NAT) (192.168.1.1). В этой сетке есть один веб-сервер (192.168.1.9), который должен принимать соединения из интернета как от шлюза (шлюз должен маскировать адреса клиентов из инета своим). Пытался сделать это так:

iptables -t NAT -A PREROUTING -d внешний_ip_шлюза -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.9

тогда адрес источника не меняется, сервак видит, что к нему обращаются из инета, добавил еще одно:

iptables -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m tcp --dport 80 -j MASQUERADE

не работает. Такое ощущение, что не работает 2-е правило. Есть идеи?


Содержание

Сообщения в этом обсуждении
"Маскарадинг в iptables"
Отправлено Andrey Mitrofanov , 10-Окт-08 14:19 
>[оверквотинг удален]
>принимать соединения из интернета как от шлюза
>(шлюз должен маскировать адреса клиентов из инета своим)
>iptables -t NAT -A PREROUTING -d внешний_ip_шлюза -p tcp -m tcp --dport
>80 -j DNAT --to-destination 192.168.1.9
>
>тогда адрес источника не меняется, сервак видит, что к нему обращаются из
>инета, добавил еще одно:
>
>iptables -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m
>tcp --dport 80 -j MASQUERADE

-t nat -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -j SNAT --to-source 192.168.1.1

про "-p tcp -m tcp --dport 80" не знаю, может, тоже будет работать.


"Маскарадинг в iptables"
Отправлено Reskit , 10-Окт-08 15:09 
>[оверквотинг удален]
>>инета, добавил еще одно:
>>
>>iptables -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m
>>tcp --dport 80 -j MASQUERADE
>
>-t nat -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -j SNAT --to-source 192.168.1.1
>
>
>про "-p tcp -m tcp --dport 80" не знаю, может, тоже будет
>работать.

не помогает.


"Маскарадинг в iptables"
Отправлено Oyyo , 11-Окт-08 09:48 
>[оверквотинг удален]
>iptables -t NAT -A PREROUTING -d внешний_ip_шлюза -p tcp -m tcp --dport
>80 -j DNAT --to-destination 192.168.1.9
>
>тогда адрес источника не меняется, сервак видит, что к нему обращаются из
>инета, добавил еще одно:
>
>iptables -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m
>tcp --dport 80 -j MASQUERADE
>
>не работает. Такое ощущение, что не работает 2-е правило. Есть идеи?

с чем связано ощущение? всё должно работать
конкретней про ощущения


"Маскарадинг в iptables"
Отправлено Reskit , 12-Окт-08 18:27 
>[оверквотинг удален]
>>тогда адрес источника не меняется, сервак видит, что к нему обращаются из
>>инета, добавил еще одно:
>>
>>iptables -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m
>>tcp --dport 80 -j MASQUERADE
>>
>>не работает. Такое ощущение, что не работает 2-е правило. Есть идеи?
>
> с чем связано ощущение? всё должно работать
>конкретней про ощущения

Сервак изнутри видит реальный IP, с которого к нему обращаются.


"Маскарадинг в iptables"
Отправлено sonkilla , 12-Окт-08 21:45 
У меня работает вот так
iptables -t nat -A PREROUTING -p tcp -d внешний_ип_сервера --dport 80 -j DNAT --to-destination айпи_веб_сервера_в_локалке:80
И еще небуду умничать и выпендривоться но всеже прочитайте
http://www.opennet.me/docs/RUS/iptables/

"Маскарадинг в iptables"
Отправлено reader , 12-Окт-08 21:56 
>[оверквотинг удален]
>>>
>>>iptables -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m
>>>tcp --dport 80 -j MASQUERADE
>>>
>>>не работает. Такое ощущение, что не работает 2-е правило. Есть идеи?
>>
>> с чем связано ощущение? всё должно работать
>>конкретней про ощущения
>
>Сервак изнутри видит реальный IP, с которого к нему обращаются.

tcpdump на внутреннем интерфейсе и ощущения станут более отчетливыми