端口映射,就是将内网主机的端口映射到外网主机的端口。
外部用户访问外网主机的端口时,对该端口的所有请求都会转发到指定内部主机端口上。
例如,你有一台计算机 A,想访问计算机 D 上的服务。但是在这个网络中,你的计算机 A 只能访问计算机 B,然后通过计算机 B 访问计算机 C,最终访问到计算机 D。
在这种场景下,你需要在计算机 B、C 上部署端口映射,使得使用计算机 A 能够通过计算机 B 的公开端口使用计算机 D 提供的服务。
目前,市面上比较知名的端口映射软件,如 Port Tunnel,功能全面,但价格稍贵:
单用户/单台计算机约 100 RMB,对于普通用户来讲还是显得比较昂贵,而且多数用户通常只会使用到 TCP 端口映射。
另外,由于是国外软件,如果你需要转移注册权限到新的计算机也会得比较麻烦。
其实 Windows 从 Windows 2000 起就提供了最基本的端口映射方案:
Netsh interface portproxy 命令。相比使用专业软件,这套命令只支持 TCP。
使用 netsh interface portproxy 命令可以轻松配置 TCP 端口映射。
例如,要将 192.168.200.10 的 3389 映射到本机 8933 端口:
netsh interface portproxy add v4tov4 listenport= 8933 connectport= 3389 connectaddress= 192.168.200.10
使用 show all 命令可以查看已配置的全部端口:
netsh interface portproxy show all
删除 8933 端口映射:
netsh interface portproxy delete v4tov4 listenport= 8933
如果觉得命令行操作不太方便,可以选择使用 Port Proxy GUI:
Port Proxy GUIgithub.com这是由我创作并开源在 GitHub 针对 portproxy 命令管理工具(支持 Net35,Core 3.1),非常易用使用。
下载地址(Net35 版本):PortProxyGUI-Net35.zip
下载地址(Core31 版本):PortProxyGUI-Core31.zip
添加映射只需在空白处单击右键,选择 新建,填入信息后 添加 即可。
删除操作在映射条目上单击右键,选择 删除。
完全免费,开放源代码,MIT 协议!
欢迎星星,Pull Request!