windows 自带 netsh interface portproxy 可实现 ipv4 端口转发,支持本地监听(127.0.0.1)和局域网监听(0.0.0.0),需管理员权限及防火墙放行,tcp 转发稳定,udp 仅适合简单场景。
可以使用 netsh interface portproxy 在 windows 上实现本地端口转发(ipv4)或远程端口映射,无需第三方软件。它本质是 windows 自带的 tcp/udp 端口代理功能,适用于调试、内网穿透(配合其他工具)、服务暴露等场景。
基础语法与常用模式
该命令支持两种核心模式:
-
本地监听转发(listenaddress=127.0.0.1):把本机某个端口收到的连接,转发到另一个本地或远程地址的端口(如将访问
localhost:8080转给192.168.1.100:80) - 任意地址监听(listenaddress=0.0.0.0):允许局域网其他设备通过本机 IP 访问被转发的服务(需关闭 Windows 防火墙或放行对应端口)
添加一条 TCP 端口转发规则
例如:把本机 8080 端口收到的所有 TCP 请求,转发到 192.168.1.50:3306(远程 MySQL):
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=127.0.0.1 connectport=3306 connectaddress=192.168.1.50 protocol=tcp
说明:
-
v4tov4表示 IPv4 到 IPv4(也支持v4tov6/v6tov4) -
listenaddress默认为127.0.0.1,若想让其他设备访问,改为0.0.0.0 -
protocol=tcp可替换为udp(UDP 转发需额外注意:仅支持单次数据包转发,不适用长连接)
查看、删除和启用规则
查看当前所有端口代理规则:
安全更新和维护 CLI Proxy API(CPA)部署与配置。用于 CPA 镜像升级、配置变更、认证目录兼容修复、上线验证与回滚。适用于用户提到“CPA 更新/升级/配置改了/容器重建/回滚”等场景。
netsh interface portproxy show v4tov4
删除某条规则(按监听端口):
netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=127.0.0.1
注意:修改或删除时,listenaddress 必须与添加时完全一致(包括是否写 127.0.0.1),否则会提示“找不到元素”。
如需开机自动生效,可将命令保存为 .bat 文件,并设为管理员权限运行(推荐加入任务计划程序,触发条件为“用户登录”,勾选“以最高权限运行”)。
常见问题与注意事项
- 必须以管理员身份运行命令提示符或 PowerShell,否则提示“拒绝访问”
-
Windows 防火墙默认阻止外部访问新监听端口,若用
0.0.0.0,需手动新建入站规则放行listenport -
不支持域名解析缓存:如果
connectaddress是域名(如example.com),系统只在添加规则时解析一次 IP,后续 DNS 变更不会自动更新 - 不处理 HTTPS SNI 或 HTTP Host 头:这是纯四层转发,无法做基于域名或路径的七层路由
- UDP 转发稳定性较差,仅适合简单场景(如 DNS 查询),不建议用于 VoIP 或游戏联机










