OpenWRT IPv6 防火墙重定向端口

OpenWRT IPv6 防火墙重定向端口

有人知道如何在 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

相关内容