Parece ser difícil para o servidor 192.168.1.2
aceitar que um pacote de entrada venha de seu próprio IP 192.168.1.2
mas do escopo link , não do escopo host , portanto, a partir de seu próprio IP, mas não de si mesmo. Isso parece um problema de roteamento para o qual pode ou não haver uma solução. Ainda é possível contornar essa situação para que nunca aconteça.
Para evitar essa situação, antes mesmo de ter o pacote inicial deixando o servidor web 192.168.1.2
e ir na linha, basta adicionar uma regra iptables sobre ele redirecionando uma conexão de si mesmo para 1.1.1.1:80
diretamente para o lugar certo: .
iptables -t nat -A OUTPUT -s 192.168.1.2 -d 1.1.1.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080
Uma regra alternativa e equivalente (pelo menos em kernels recentes, talvez não em kernels antigos) seria:
iptables -t nat -A OUTPUT -s 192.168.1.2 -d 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080
Ao adicionar esta regra, além das outras configurações, as conexões vindas de fora, da LAN e do servidor web se comportam da mesma forma: elas funcionam, mantêm o IP de origem e, em todos os casos, o IP de destino é% código%. A única desvantagem é ter que saber que há 192.168.1.2
.