INPUT 層級的連接埠轉發

INPUT 層級的連接埠轉發

我想在INPUT層級更改ipv6封包的目標連接埠。

所以我嘗試在 INPUT 級別使用 ip6tables 和 nat

但似乎這個命令不起作用

# 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.

我認為除了 iptable 返回的錯誤之外,我認為 nat 在 INPUT 級別不起作用。

那麼有沒有辦法在INPUT層級改變ipv6封包的目的連接埠呢?

我不想在 PREROUTING 層級中更改它,因為我不想更改將轉送的 ipv6 封包(不適用於本機進程)

答案1

NAT 在 INPUT 鏈中不起作用。從http://www.karlrupp.net/en/computer/nat_tutorial:

REDIRECT - 將資料包重新導向至本機

DNAT 的一個特例是重定向。封包被重定向到路由器的本地端口,從而實現透明代理等功能。對於 DNAT,REDIRECT 分別在 PREROUTING 和 OUTPUT 鏈中發揮作用。

如果您只想將封包重新導向到您自己的伺服器,請在規則中新增目標 ip 限制(1.2.3.4 是您的本機 IP):

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

相關內容