轉自:月光博客《通過Windows實現端口轉發》
這里介紹一個使用兩台雲服務器訪問外網的方法,一台國內服務器,一台國外服務器,國內服務器通過端口轉發來用於中轉,中轉的好處是,服務器對服務器是很快的,國內對國內也很快,國內服務器對國外也快一些,這種方法比直接訪問國外服務器的速度要快一些。
首先要找到你國內雲服務器的內網ip,不是你的公網IP,使用命令ipconfig即可找到。
對於Windows Server 2008以下版本的系統,需要安裝IPV6才行,如果是Windows Server 2008或者以上的系統則默認已經支持。
之后,使用Portproxy模式下的Netsh命令即能實現Windows系統中的端口轉發,轉發命令如下
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress
解釋一下這其中的參數意義
1.listenaddress -- 等待連接的本地ip地址
2.listenport -- 本地監聽的TCP端口(待轉發)
3.connectaddress -- 被轉發端口的本地或者遠程主機的ip地址
4.connectport -- 被轉發的端口
這里舉個例子,服務器內網IP是172.16.0.4,需要將8080端口轉發到國外服務器104.104.104.104的9999端口,那么命令如下:
netsh interface portproxy add v4tov4 listenaddress=172.16.0.4 listenport=8080 connectaddress=104.104.104.104 connectport=9999
下面的命令是用來展示系統中的所有轉發規則:
netsh interface portproxy show v4tov4
刪除剛才創建的那個轉發的命令:
netsh interface portproxy delete v4tov4 listenaddress=172.16.0.4 listenport=8080
注意:連接時請確保防火牆(Windows防火牆或者其他的第三方防護軟件)允許外部連接到一個全新的端口,如果不允許,那么只能自行添加一個新的Windows防火牆規則。