一. 問題描述
A (內網:10.10.0.69)服務器連接在公網上
B (內網:10.10.1.204)服務器位於內網中
B服務器有一個使用9988端口的TCP程序需要被公網訪問,但不能改變網絡拓撲架構
二、問題解決
1. 新增端口轉發:
首先打開命令提示符(cmd)
netsh interface portproxy add v4tov4 listenport=監聽端口 connectaddress=轉發到的地址 connectport=轉發到的端口
例子: netsh interface portproxy add v4tov4 listenport=5588 connectaddress=10.10.1.204 connectport=80
2. 查看轉發了哪些端口
netsh interface portproxy show all
3. 刪除轉發規則
netsh interface portproxy delete v4tov4 listenaddress=10.10.0.69 listenport=80
三、其它說明
1. 監聽端口與轉發到的端口可以不同。例如想暴露公網端口為5588,實際服務器端口為80,那么可寫成netsh interface portproxy add v4tov4 listenport=5588 connectaddress=10.10.1.204 connectport=80
2. 能使用DMZ的情況還是推薦使用DMZ
3.使用netsh interface portproxy記得配置Windows和出口路由器防火牆規則