我最近将服务器从 Ubuntu 14.04 升级到了 16.04。升级似乎成功了(所以我不确定这是否相关),但大约一周后我重新启动了主机,现在它无法接受远程请求。
我可以使用托管服务提供商的控制台访问连接到终端,但无法远程 SSH 进入机器。进入机器后,我可以成功 ping myhost.com,但无法从远程位置 ping 机器。从我的开发机器 ping 请求Request timed out
。
我尝试过加载升级操作系统之前的快照,并且可以成功 ping 机器。
我已尝试跟踪/var/log/auth.log
,但当我尝试远程访问时日志未更新。
我不知道下一步该尝试什么来找出我的服务器没有响应的原因。
编辑
运行iptables -nvL
结果:
modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.4.0-28-generic
iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
答案1
您可以做很多事情,但也有很多事情可能成为问题。不幸的是,您提到的相关点指向了两个不同的方向。
由于这是在系统升级和重启后发生的,我认为您的服务可能未启动。
执行sudo netstat --tcp -l
。应该有这样一行:
tcp 0 0 *:ssh *:* LISTEN
如果没有,则说明您的 ssh 服务器没有监听。执行sudo service ssh restart
。如果问题解决了,请检查您的运行级别,并确保 ssh 在启动时启动。
如果有,那么可能存在网络问题(并且 ping 超时肯定指向那个方向),但iptables -nvL
如果它在系统上则应该显示,而没有。
嗯,我刚刚看到你的评论说你无法出去,现在看来更有可能是你遇到了一般的网络问题。
您需要 的输出来ifconfig -a
检查您的公共 IP 是否在其中。如果是,您需要 的输出来route -n
检查您是否有向外的默认路由(我认为这可能是问题所在,如果您可以联系子网中的其他机器但无法联系到外部机器,那么几乎可以肯定是问题所在)。