簡介:
自Windows XP開始,Windows中就內置網絡端口轉發的功能。任何傳入到本地端口的TCP連接(IPv4或IPv6)都可以被重定向到另一個本地端口,或遠程計算機上的端口,並且系統不需要有一個專門用於偵聽該端口的服務。目前只支持tcp協議的端口轉發,前提需要作為portproxy的主機需要安裝IPV6,安裝可以不啟用IPV6。
在Linux中,使用iptables和Firewalld可以非常輕松地配置端口重定向。詳細請見。在這介紹一下windows命令Netsh使用Portproxy模式進行端口轉發,以達到端口重定向功能。

問題描述
服務器A
eth0 10.10.10.4 內網
eth1 106.14.12.52 外網
服務器B
eth0 10.10.10.5 內網
通過服務器A 106.14.12.52公網+8933端口遠程訪問服務器B內網10.10.10.5
1、以管理員身份運行cmd
netsh interface portproxy add v4tov4 listenport=8933 listenaddress=106.14.12.52 connectport=3389 connectaddress=10.10.10.5
listenaddress - 等待連接的本地IP地址(本機IP 106.14.12.52)
listenport - 本地偵聽TCP端口(本機所開的端口 8933)
connectaddress - 將傳入連接重定向到本地或遠程IP地址(內網主機IP 10.10.10.5)。
connectport - 內網主機遠程端口 3389
2、查看已轉發端口,如果沒轉發顯示為空
netsh interface portproxy show all
3、刪除轉發
netsh interface portproxy delete v4tov4 listenport=8933 listenaddress=106.14.12.52 connectport=3389 connectaddress=10.10.10.5
注:windows轉發需要新建防火牆規則,放行8933端口