我在家里有一台运行 ArchLinux 的服务器,叫做 SERVER。ssh user@SERVER
目前,我可以通过 SSH从连接在同一 LAN 上的另一台计算机发出访问这台机器的权限。如果我用 SERVER_LAN_IP (192.168.XX) 替换 SERVER,它也可以工作。
我希望这个服务器可以从互联网上公开访问,所以我设置了我的路由器来转发适当的端口(外部 1234 到内部 22)。现在,从同一 LAN 上的计算机发出ssh -p 1234 user@ROUTER_WAN_IP
似乎可以解决问题。但是,一旦我离开局域网,我什至无法 ping ROUTER_WAN_IP。
如果有帮助,我正在使用有线互联网连接。路由器通过 DHCP 检测调制解调器vlan
并获取其外部 IP。
有时,从最简单的配置开始,然后从那里开始工作是最简单的。
确保您使用的是端口转发,而不是“端口触发”
禁用“来自 WAN 的无 ping”功能,(这会阻止 PING 到路由器)
使用 traceroute/tracert 查看数据包是否可以成功到达您的路由器
把你的服务器放在 DMZ 里面,然后先试试这个
接下来,尝试不重定向端口(只需使用 22)
如果上述方法有效,请从 1234 转发到 22
禁用不必要的防火墙安全功能,成功后一一启用。(如果运气不好,记得恢复到原来的安全设置)
检查您的路由器防火墙日志和服务器日志,以获取潜在问题的报告