Portweiterleitung im Eingangspegel

Portweiterleitung im Eingangspegel

Ich möchte den Zielport des IPv6-Pakets auf der INPUT-Ebene ändern.

Also habe ich versucht, ip6tables mit nat auf der INPUT-Ebene zu verwenden

aber dieser Befehl scheint nicht zu funktionieren

# ip6tables -t nat -I INPUT ! -i br0 -p TCP --dport 8080 -j REDIRECT --to-ports 80
ip6tables v1.2.7a: Unknown arg `--to-ports'
Try `ip6tables -h' or 'ip6tables --help' for more information.

Ich denke, dass neben dem von iptable zurückgegebenen Fehler auch NAT auf der INPUT-Ebene nicht funktioniert.

Gibt es also eine Lösung, um den Zielport des IPv6-Pakets auf der INPUT-Ebene zu ändern?

Ich möchte es nicht auf der PREROUTING-Ebene ändern, da ich das weitergeleitete IPv6-Paket nicht ändern möchte (nicht für den lokalen Prozess).

Antwort1

NAT funktioniert nicht in der INPUT-Kette. Vonhttp://www.karlrupp.net/en/computer/nat_tutorial:

REDIRECT - Pakete an den lokalen Rechner umleiten

Ein Spezialfall von DNAT ist REDIRECT. Pakete werden dabei auf einen lokalen Port des Routers umgeleitet, was beispielsweise transparentes Proxying ermöglicht. Wie DNAT wirkt REDIRECT innerhalb der PREROUTING- bzw. der OUTPUT-Kette.

Wenn Sie nur Pakete an Ihren eigenen Server umleiten möchten, fügen Sie der Regel eine Ziel-IP-Begrenzung hinzu (1.2.3.4 ist Ihre lokale IP):

ip6tables -t nat -I PREROUTING ! -i br0 -p TCP -d 1.2.3.4 --dport 8080 -j REDIRECT --to-ports 80

verwandte Informationen