經過在網上搜索,發現windows系統,包括xp 2003,2008、2016等,netsh工具都自帶portproxy功能。目前只支持tcp協議的端口轉發,前提需要作為portproxy的主機需要安裝IPV6,安裝可以不啟用IPV6。
A.配置方法
假定需要通過192.168.1.8的1212端口連接192.168.1.8的1313端口,則需要在192.168.1.8主機的命令行輸入如下語句
---如果已經安裝IPV6,該條語可以不需要
netsh interface ipv6 install
---可不用指定本地監聽地址,這樣可以通過操作系統提供浮動地址來實現,如果操作系統開啟了主機防火牆,需要放行TCP 14941的入站連接
netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=1313 connectaddress=192.168.1.8 connectport=1212
---取消上面配置的端口轉發,可以用如下語句:
netsh interface portproxy delete v4tov4 listenaddress=192.168.1.8 listenport=1313
---如果想查看已經配置了哪些端口轉發,可以用如下語句:
netsh interface portproxy show v4tov4
B.優點
可以隨時根據需要添加或刪除端口轉發條目,並且重啟操作系統仍能自動保存之前的配置並自動啟用,不像HAproxy修改完配置文件還需重啟HAproxy。
網上有的說xp配置端口轉發不起作用,估計是沒有安裝IPV6的緣故,用xp測試,安裝了IPV6后可以實現端口轉發,並且不需要開啟路由和遠程訪問服務。另外考慮到端口轉發的冗余,可以多台主機都配置端口轉發。