我可以通过本地网络 SSH。
nmap -p <ssh_port> 192.168.1.xx => <ssh_port> open
但即使端口转发,我也无法通过互联网进行 SSH 连接。
nmap -p <ssh_port> xxxx.duckdns.org or <public_ip> => <ssh_port> closed
而且我还有另一个端口转发,它可以通过互联网找到。
nmap -p <cctv_port> xxxx.duckdns.org or <public_ip> => <cctv_port> open
我如何检查问题是什么(我的 ubuntu、路由器、duckdns 或 ISP)?以及如何修复它?
更新1:
- 我联系了我的 ISP,他们说他们没有阻止任何端口。
- 现在我尝试使用 python3 -m http.server 8181 并进行端口转发,但无法从外部访问。
答案1
问题是我错误地配置了端口转发。在某些华为路由器(例如 HG8247H)上,您需要设置映射到内部端口的外部端口,但我忘记为某些规则设置外部端口。
这导致我的路由器出现错误的端口映射行为。(例如,客户端请求访问端口 xxx,但客户端可以访问先前规则中的端口 yyy)
我修复了它在每个规则上添加外部端口。