ip6tables - IPv6 DNAT para localhost

1

Eu tenho as seguintes regras do IPv4:

  1. iptables -t nat -A PREROUTING -d "server ipv4" -p tcp -m tcp --dport 80 -i eth0 - j DNAT --to-destination 127.0.0.1:55555

  2. iptables -P INPUT ACCEPT

Além disso, tenho um proxy simples que ouve o endereço localhost : 127.0.0.1:55555

No IPv4, está funcionando bem.

Quando tentei fazer o mesmo no IPv6:

  1. iptables -t nat -A PREROUTING -d "server ipv6 " -p tcp -m tcp --dport 80 -i eth0 -j DNAT --to-destination [::1]:55555

  2. ip6tables -P INPUT ACCEPT

Eu não consigo fazer isso funcionar!

Consegui fazê-lo funcionar com:

  1. --to-destination ["link-local IPv6"]:55555
  2. --to-destination ["Server IPv6"]:55555

Quando ligo o encaminhamento e adiciono alguma linha de registro na tabela de filtros, na cadeia de encaminhamento.

  1. echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

  2. ip6tables -I FORWARD -j LOG --log-prefix='[filter FORWARD] '

Eu posso ver o pacote.

[268332.372177] [filter FORWARD] IN=eth0 OUT=eth0 MAC=be:69:fd:2a:9e:bd:0a:08:f1:46:19:a1:86:df SRC= DST=0000:0000:0000:0000:0000:0000:0000:0001 LEN=80 TC=0 HOPLIMIT=63 FLOWLBL=0 PROTO=TCP SPT=42082 DPT=55555 WINDOW=28800 RES=0x00 SYN URGP=0

Eu posso ver que a interface OUT é "eth0" e não "lo", e o kernel acha que o pacote não é destinado a este servidor.

Eu tenho centOS 7, e eu tentei isso no Ubuntu 16 também.

    
por Oren 01.01.2018 / 09:01

0 respostas