Здраствуйте!Задача такая: есть локальная сеть, выходит в инет через шлюз на 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 -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 -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 -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 -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m
>>tcp --dport 80 -j MASQUERADE
>>
>>не работает. Такое ощущение, что не работает 2-е правило. Есть идеи?
>
> с чем связано ощущение? всё должно работать
>конкретней про ощущенияСервак изнутри видит реальный IP, с которого к нему обращаются.
У меня работает вот так
iptables -t nat -A PREROUTING -p tcp -d внешний_ип_сервера --dport 80 -j DNAT --to-destination айпи_веб_сервера_в_локалке:80
И еще небуду умничать и выпендривоться но всеже прочитайте
http://www.opennet.me/docs/RUS/iptables/
>[оверквотинг удален]
>>>
>>>iptables -t NAT -A POSTROUTING -o внутренний_интерфейс -d 192.168.1.9 -p tcp -m
>>>tcp --dport 80 -j MASQUERADE
>>>
>>>не работает. Такое ощущение, что не работает 2-е правило. Есть идеи?
>>
>> с чем связано ощущение? всё должно работать
>>конкретней про ощущения
>
>Сервак изнутри видит реальный IP, с которого к нему обращаются.tcpdump на внутреннем интерфейсе и ощущения станут более отчетливыми