Windows 端口转发踩坑记 netstat v6tov4 IPV4端口转发到IPv6

57次阅读

共计 1212 个字符,预计需要花费 4 分钟才能阅读完成。

有些业务跑在 IPv4,但是没有 V4 公网了,所以用 V6 来转发。# 按微软官方文档 6to4 IPV4 端口转发到 IPv6 始终不成功 https://learn.microsoft.com/zh-cn/windows-server/networking/technologies/netsh/netsh-interface-portproxy#add-v6tov4# add v6tov4Portproxy 服务器侦听发送到特定端口和 IPv6 地址的消息,并映射端口和 IPv4 地址以发送在建立单独的 TCP 连接后收到的消息。# PowerShell 语法 netsh interface portproxy add v6tov4 listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address | HostName} [[protocol=]tcp]# 参数         说明 listenport        按端口号或服务名称指定要对其进行侦听的 IPv6 端口。connectaddress        指定要连接的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认值为本地计算机。connectport        按端口号或服务名称指定要连接的 IPv4 端口。如果未指定 connectport,则默认值为本地计算机上 listenport 的值。listenaddress        指定要对其进行侦听的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认值为本地计算机。protocol        指定要使用的协议。# 把 127.0.0.1 转发到 IPV6[::] 就是这么写:netsh interface portproxy add v6tov4 listenport=443 connectaddress=127.0.0.1# 结果 netstat /ano 看监听端口 死活没有 [::]:443# 于是我想到了# 把 IPv4 转成 IPv6 地址格式 选择 v6 to v6 模式 IPV6 Compressedhttps://iplocation.io/ipv4-to-ipv6# 10.0.0.1 转 IPv6 格式得到:::ffff:a00:1# 同端口转发 netsh interface portproxy add v6tov6 listenport=443 connectaddress=::ffff:a00:1# 不同端口转发 源端口:443 转发到的目标端口:1081netsh interface portproxy add v6tov6 listenport=1081 connectaddress=::ffff:a00:1 connectport=443

正文完
 0