今天研究了下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