今天研究了下windows下实现端口转发:网上发现方法很多。这些方法不是我想要的,本文主要实现windows裸机实现端口转发(只用操作系统):
应用场景:
一、服务器对外一个应用程序端口,使用不同端口处理不同业务
二、服务器对外多个端口,但是服务器只有一个程序,分配多个程序接口,映射到同一端口上处理。
先整理下可以实现端口转发的工具:
1.利用IIS实现WWW和FTP服务的重定向
2.专用的端口映射工具PortTunnel
3. WinRoute Pro的端口映射功能
WinRoute Pro是一个工作于NAT(网络地址翻译)方式的Internet共享软件。它本身自带了端口映射功能。
4.使用硬件防火墙实现端口映射和转发
5.使用应用服务器代理apache 或nginx
6.使用windows命令实现端口代理实现(本文重点)
步骤如下:
# cmd进入命令行
#首先安装IPV6(xp下IPV6必须安装,否则端口转发不可用!)
netsh interface ipv6 install
#添加一个IPV4到IPV4的端口映射
netsh interface portproxy add v4tov4 listenaddress=192.168.0.11 listenport=1988 connectaddress=121.199.53.8 connectport=80
#指定监听ip和端口可以删除
netsh interface portproxy delete v4tov4 listenaddress=192.168.193.1 listenport=22
#可以查看存在的转发
netsh interface portproxy show all
侦听 ipv4: 连接到 ipv4:
地址 端口 地址 端口
-------------- ---------- --------------- ----------
192.168.0.11 1988 192.168.0.11 80