Локальная сеть в квартире (LAN): 192.168.1.1/24, интерфейс br0
Внешний (WAN) постоянный ip-адрес: 82.199.108.15, интерфейс ppp0
настройки маскарадинга и NAT выглядят так:
Код: Выделить всё
$ iptables -t nat -vnL
Chain PREROUTING (policy ACCEPT 495K packets, 26M bytes)
pkts bytes target prot opt in out source destination
101K 6230K VSERVER all -- * * 0.0.0.0/0 82.199.108.15
144 7591 VSERVER all -- * * 0.0.0.0/0 10.114.172.228
Chain POSTROUTING (policy ACCEPT 106K packets, 6238K bytes)
pkts bytes target prot opt in out source destination
186K 12M MASQUERADE all -- * ppp0 !82.199.108.15 0.0.0.0/0
8345 536K MASQUERADE all -- * vlan1 !10.114.172.228 0.0.0.0/0
2937 250K MASQUERADE all -- * br0 192.168.1.0/24 192.168.1.0/24
Chain OUTPUT (policy ACCEPT 27020 packets, 1694K bytes)
pkts bytes target prot opt in out source destination
Chain VSERVER (2 references)
pkts bytes target prot opt in out source destination
1221 63904 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:192.168.1.2:80
12 565 DNAT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:80 to:192.168.1.2:80На внутренней машине 192.168.1.2 работает apache2.
Так вот, если клиент стучится на 80 порт 82.199.108.15 из WAN (т.е. за пределами сети провайдера), то все ОК, видит сайт.
Если же клиент стучится из сети провайдера на 82.199.108.15, имея при этом динамический внешний ip 79.172.127.147, то он мой сайт не видит!!
Если тот же клиент стучится на 80 порт 10.114.172.228 из сети провайдера, то он видит сайт! Причем в логах он виден с адресом 79.172.127.147, т.е. внешним динамическим.
В чем проблема-то? Неужели нужно отказаться от маскарадинга на MAN-интерфейсе (10.114.172.228)?
Ибо такое впечатление, что при попытке зайти на 82.199.108.15 с адреса 79.172.127.147 пакеты приходят на ppp0, а ответы уходят с vlan1 и отбрасываются на машине клиента.
Не знаю, насколько понятно объяснил... traceroute у клиента пока не получил.