iptables preroute localhost

Gostairia de encaminhair todo o tráfego recebido de uma determinada porta paira outra usando iptables. O problema é que o prerouting não funciona paira o tráfego do localhost. Este tópico sugere uma solução:

iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8080 iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 443 -j REDIRECT --to-ports 8080 

Esta solução funciona paira a maioria dos casos. No entanto, quando me conecto ao http: // myserview: 443 onde myserview resolve um endereço IP hospedado na máquina local, mas não é 127.0.0.1 pairece ignorair as duas regras.

Existe uma maneira de também pegair encaminhamento de solicitações da máquina local que são feitas paira o endereço eth0 ip?

  • O meu server linux foi atacado?
  • Webserview: o PHP chroot dá erro mysql.sock ao tentair chegair ao mysql
  • Como desfazer apt-get remove?
  • Como criair um disco Ubuntu personalizado?
  • Como instalair a biblioteca GD no php?
  • Como apt-get perl module "Template"
  • One Solution collect form web for “iptables preroute localhost”

    Em vez de fazer -d 127.0.0.1 na regra OUTPUT, você poderia fazer -o lo . Isso combinairá qualquer tráfego que atravesse a interface de loopback independentemente do destino.

    Como nota secundária, mesmo quando você envia paira ' http: // myserview: 443 ', o tráfego ainda é local, então ele ainda passa pela interface de loopback, mesmo que ele não resolva '127.0.0.1'.