端口转发实战:Windows netsh、Linux socat 与 macOS(含命令生成器)

本文总结三大平台的 TCP/UDP 端口转发方法:Windows 用系统自带的 netsh interface portproxy,Linux 和 macOS 用 socat(并注册成开机自启的服务)。文末还有平台对比和排错清单。 命令参数又多又容易记错,所以我在下面放了一个命令生成器,填好地址端口就能直接复制。 什么时候需要端口转发 我自己最常遇到的几种场景: 服务只监听 127.0.0.1,想让局域网里的其他设备也能访问; VPN 抢走了全部路由(比如 Cisco AnyConnect 默认关闭 split tunnel),本机访问不到局域网设备,需要借道一个能通的机器; WSL2 里跑的服务,需要从 Windows 宿主机或局域网访问,而 WSL 的 IP 每次重启都会变; 端口被占用或被规范限制,想用另一个端口对外提供同一个服务。 需要区分两个概念:这里说的都是本机层面的端口转发(用户态代理),也就是「进来的连接原样接到另一个地址端口」;如果要让整台机器充当网关替一个网段做转发,那是 NAT 的活,Linux 上应该用 nftables/iptables 的 DNAT 并打开 net.ipv4.ip_forward,不在本文范围内。 🧰 命令生成器 支持多条规则一起生成,切换标签页即可得到对应平台的命令,每个代码块右上角可以一键复制。 Windows · netsh Linux · socat macOS · socat / pf 协议 TCP UDP + 添加一条规则 重置 ...

2026年8月17日 · 3 分钟 · Vinkey