Sim, é possível usar uma regra como:
iptables -t nat -A OUTPUT -p tcp --dport 80 -d 10.23.11.1 -j DNAT --to-destination :8080
O aplicativo na minha caixa linux está se conectando a "ip.example.com".
O endereço IP para "ip.example.com" é definido em / etc / hosts como
10.23.22.1 ip.example.com
No IP de destino, um serviço está sendo executado na porta 8080. No entanto, o aplicativo está tentando conectar 10.23.22.1:80
e ele falha. Não há como modificar o IP de destino ou o aplicativo em execução no local.
Gostaria de encaminhar o tráfego de saída de 10.23.11.1:80
para 10.23.22.1:8080
na minha caixa local.
Isso é possível de se conseguir em tabelas ip?
Sim, é possível usar uma regra como:
iptables -t nat -A OUTPUT -p tcp --dport 80 -d 10.23.11.1 -j DNAT --to-destination :8080
Se esse não é um princípio para usar o iptables, eu aconselho usar o módulo nginx (ou outro servidor web) e o caminho do proxy:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
proxy_connect_timeout 9999h;
proxy_send_timeout 240;
proxy_read_timeout 9999h;
proxy_pass http://10.23.22.1:8080;
}
Tags iptables nat linux linux-networking