有誰如何在 OpenWRT 中將傳入連接埠重新導向到 IPv6 位址的另一個連接埠嗎?
不涉及 NAT,只是普通的全球 IPv6 位址。
我想做的是更改一些伺服器的 SSH 連接埠;在內部將任意連接埠號碼重定向到 22。同時保留在本機網路的連接埠 22 上。
例如 [2345::1]:5000 -> OpenWRT -> [2345::1]:22
當使用等效的 IPv4 NAT 時,此配置非常簡單,因為連接埠可以輕鬆配置連接埠轉送。
非常感謝
答案1
實際上,您也可以在 Linux ip6tables 中使用相同的基於 DNAT 的連接埠轉送。主要區別是你不改變目的地地址;另一方面,你確實需要匹配在現有地址上。
-t nat -I PREROUTING -d 2345::1 -p tcp --dport 5000 -j DNAT --to-destination [2345::1]:22
當然,使用 IPv6,您不需要基於 SNAT 的偽裝,但這是一個完全獨立的防火牆規則,因此可以簡單地省略它。
我不知道這如何轉換為 OpenWRT(除非你可能需要該kmod-ipt-nat6
套件),但我懷疑它是這樣的:
config redirect
option family ipv6
option src wan6
option src_dip 2345::1
option proto tcp
option src_dport 5000
option target DNAT
option dest_ip 2345::1
option dest_port 22
答案2
目前似乎無法在 OpenWRT 的防火牆 3 中使用 IPv6 的「設定重定向」。
但是我可以使用以下規則手動實現它:
ip6tables -t nat -I PREROUTING -d IPV6_ADDRESS_HERE -p tcp --dport 5000 -j DNAT --to-destination [IPV6_ADDRESS_HERE]:22 ip6tables -A zone_wan_input -m conntrack --ctstate DNAT -j ACCEPT ip6tables -A zone_wan_forward -m conntrack --ctstate DNAT -j zone_(ZONE_NAME)_dest_ACCEPT