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