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

58次阅读

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

有些业务跑在 IPV4,但是没有 V4 公网了,所以用 V6 来转发。

# 按微软官方文档 6to4 IPV4 端口转发到 IPV6 始终不成功
https://learn.microsoft.com/zh-cn/windows-server/networking/technologies/netsh/netsh-interface-portproxy#add-v6tov4
# add v6tov4
Portproxy 服务器侦听发送到特定端口和 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 Compressed
https://iplocation.io/ipv4-to-ipv6
# 127.0.0.1 转 IPV6 格式得到:
::FFFF:7F00:1
# 同端口转发
netsh interface portproxy add v6tov6 listenport=443 connectaddress=::FFFF:7F00:1
# 不同端口转发 源端口:443 转发到的目标端口:1081
netsh interface portproxy add v6tov6 listenport=1081 connectaddress=::FFFF:7F00:1 connectport=443

# 127.0.0.1
netsh interface portproxy add v6tov6 listenaddress=[::] listenport=443 protocol=tcp connectaddress=[::ffff:7f00:1] connectport=443# 0.0.0.0
netsh interface portproxy add v6tov6 listenaddress=[::] listenport=443 protocol=tcp connectaddress=[::ffff:0:0] connectport=443nginx 不好用吗

Bai. 发表于 2022-12-16 02:44
nginx 不好用吗

系统自带能解决 何必要装多一个软件之前玩过内网 v4 到虚拟机里的服务转到家宽的 v6Mk

正文完
 0