1. 程式人生 > >netsh interface portproxy的一個簡單例子

netsh interface portproxy的一個簡單例子

get 文檔 let pre interface 簡單例子 配置文件 exe CP

netsh interface portproxy的微軟幫助文檔地址:

https://technet.microsoft.com/zh-cn/library/cc776297(WS.10).aspx#BKMK_1

下面是一個簡單的例子:

//顯示所有 portproxy 參數,包括 v4tov4、v4tov6、v6tov4 和 v6tov6 的端口/地址對。
C:\>netsh interface portproxy show all
//因為沒有配置過它,所以沒有東西可以顯示。

//添加配置: 本機監聽10022端口,當有socket連接到10022端口時,本機就連接到192.168.2.53的22端口,本機的10022端口可以接受的連接地址為"*",使用的協議為tcp,當前僅支持傳輸控制協議 (TCP)。
C:\>netsh interface portproxy add v4tov4 listenport=10022 connectaddress=192.168.2.53 connectport=22 listenaddress=* protocol=tcp //添加完畢。 //顯示所有。 C:\>netsh interface portproxy show all 偵聽 ipv4: 連接到 ipv4: 地址 端口 地址 端口 --------------- ---------- --------------- ---------- * 10022
192.168.2.53 22 //刪除配置: 本機的監聽端口為10022,10022端口接受的連接地址為"*",使用的協議為tcp,當前僅支持TCP協議。 C:\>netsh interface portproxy delete v4tov4 listenport=10022 listenaddress=* protocol=tcp //刪除完畢。 //顯示所有。 C:\>netsh interface portproxy show all //因為所有的配置均已刪除,所以沒有東西可以顯示。 //查看幫助信息。 C:\>netsh interface portproxy /? //
略。 //查看幫助信息。 C:\>netsh interface /? //略。 //查看幫助信息。 C:\>netsh /? //略。

-----haproxy主要用於負載,如果只是負載一個,那就成為端口映射了,但是畢竟是linux下面的程序。

-----windows下也有一個小工具:portforward.exe,圖形界面容易操作,個人平常使用可以,但是也沒有辦法實現與程序交互。

經過在網上搜索,發現windows系統,包括xp 2003,2008等,netsh工具都自帶portproxy功能。目前只支持tcp協議的端口轉發,前提需要作為portproxy的主機需要安裝IPV6,安裝可以不啟用IPV6。
A.配置方法
假定需要通過192.168.1.8的14941端口連接192.168.1.118的1494端口,則需要在192.168.1.8主機的命令行輸入如下語句
---如果已經安裝IPV6,該條語可以不需要
netsh interface ipv6 install
---可不用指定本地監聽地址,這樣可以通過操作系統提供浮動地址來實現,如果操作系統開啟了主機防火墻,需要放行TCP 14941的入站連接

netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=14941 connectaddress=192.168.1.118 connectport=1494

netsh interface portproxy add v4tov4 listenport=14941 connectaddress=192.168.1.118 connectport=1494

---取消上面配置的端口轉發,可以用如下語句:

netsh interface portproxy delete v4tov4 listenaddress=192.168.1.8 listenport=33891
---如果想查看已經配置了哪些端口轉發,可以用如下語句:

netsh interface portproxy show v4tov4

B.優點
可以隨時根據需要添加或刪除端口轉發條目,並且重啟操作系統仍能自動保存之前的配置並自動啟用,不像HAproxy修改完配置文件還需重啟HAproxy。
網上有的說xp配置端口轉發不起作用,估計是沒有安裝IPV6的緣故,用xp測試,安裝了IPV6後可以實現端口轉發,並且不需要開啟路由和遠程訪問服務。另外考慮到端口轉發的冗余,可以多臺主機都配置端口轉發。

netsh interface portproxy的一個簡單例子