一次奇奇怪怪的防火墙穿透操作
我所的套路真是深,申请个端口办公网开放轻轻松松就申请了一周。在此期间进行了无数乱七八糟的操作拯救我的连接。
目标:一台内网服务器,部署了8243端口的web服务,但8243端口未开放。
最初状态是只开放了一个SSH端口到办公网。之前申请过开放公网访问80端口,现在也迷之无效了。
最神奇的是80端口的当前状态:服务器并没有服务监听80端口,服务器本机telnet 80也无响应。然而!办公网内可以连接80端口,使用测试工具可以建立TCP连接,但无法发送HTTP请求,也无返回数据。此问题迄今为止未得到答案。
可是我用的奇葩软件绑定8243端口而且不能修改...
最初解决方案:
使用反向代理
需要一台公网服务器,绑定8243端口至公网服务器的某端口上。
缺点十分明显,访问速度感人。
后来终于申请成功开放了一部分内网端口,下面是最终较为完美的解决方案:
服务端:
web服务端指定域名为自定义域名,如test.test
iptables端口绑定8243至任意端口,如12345
iptables -t nat -A PREROUTING -p tcp --dport 12345 -j REDIRECT --to-ports 8243
客户端:
修改hosts文件(C:\Windows\System32\drivers\etc\hosts)
加入一行
127.0.0.1 test.test
绑定本机8243端口至远程18243端口
netsh interface portproxy add v4tov4 listenport=8243 connectaddress=xxx.xxx.xxx.xxx connectport=12345
浏览器即可正常访问页面。