LINUX.ORG.RU
ФорумAdmin

iptables и проброс портов


0

2

Есть сервак в локалке и есть шлюз. Со шлюза 80 порт проброшен на этот сервак. На серваке крутятся несколько php-скриптов, которым надо собирать статистику. И вот в результате мы имеем в $_SERVER['REMOTE_ADDR'] адрес этого шлюза, а не реальный адрес, с которого пришел клиент. Как бы это победить?

Причем раньше подобную схему уже делал, таких проблем не было

★★★★★
Ответ на: комментарий от adriano32

10.10.10.10 - внешний ип шлюза 192.168.100.101 - внутренний ип шлюза 192.168.100.1 - ип сервера в локалке eth0 - внешний интерфейс шлюза tun0 - внутренний интерфейс шлюза

# Generated by iptables-save v1.3.5 on Tue May 10 08:35:47 2011
*filter
:INPUT ACCEPT [11903:1546621]
:FORWARD ACCEPT [4422:208966]
:OUTPUT ACCEPT [12488:6392817]
-A FORWARD -d 192.168.100.1 -i eth0 -o tun0 -p tcp -m tcp --dport 80 -j ACCEPT 
COMMIT
# Completed on Tue May 10 08:35:47 2011
# Generated by iptables-save v1.3.5 on Tue May 10 08:35:47 2011
*nat
:PREROUTING ACCEPT [2450:229555]
:POSTROUTING ACCEPT [11:1064]
:OUTPUT ACCEPT [11:1064]
-A PREROUTING -d 10.10.10.10 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.100.1:80 
-A POSTROUTING -d 192.168.100.1 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.100.101 
-A OUTPUT -d 10.10.10.10 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.100.1 
COMMIT
# Completed on Tue May 10 08:35:47 2011

boombick ★★★★★
() автор топика
Ответ на: комментарий от ventilator

можно и без дефолта в этом случае, просто роут на подсеть прихода через шлюз

visual_pipe
()
Ответ на: комментарий от ventilator

В таком случае вопрос - почему такая же схема работала раньше в аналогичной ситуации и не работает сейчас? Может есть какие-то параметры iptables, о которых я не знаю? :)

boombick ★★★★★
() автор топика
Ответ на: комментарий от boombick

Отключи SNAT,
оставь только правила DNAT и FORWARD.

Вобщем, вентилятор прав.

Novator ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.