重启后,我的 Linux 服务器出现了一些问题。我可以登录到机器,但无法通过 ssh 客户端远程访问这台机器:ssh -v -v -v root@IP
显示connect to host IP port 22: No route to host
。当我从这台机器 ping 一个域名(如 google.com)时,我得到了这个:unknown host
当我尝试 ping 任何 IP 地址时,我得到了network is unreachable
。这显然是一个网络配置问题,所以我查看了我的/etc/resolv.conf
文件,一切似乎都正常:
nameserver <internal DNS server IP>
domain <FQDN>
search <FQDN>
并且ifconfig
commad 给我:
eth0 Link encap:Ethernet Hardware Adresse 18:a9:05:3f:7a:62
inet Adresse:MY-IP Bcast:192.xxx.x.255 Maske:255.255.255.0
inet6-Adresse: fe80::1aa9:5ff:fe3f:7a62/64
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:27983252 errors:0 dropped:0 overruns:0 frame:0
TX packets:111252815 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:3051411934 (2.8 GiB) TX bytes:159983260344 (148.9 GiB)
Interrupt:18 Speicher:f8000000-f8012800
但问题是 eth0 已关闭:
cat /sys/class/net/eth0/operstate
我尝试激活它:ifconfig eth0 up
但没有成功。有什么想法吗?
答案1
您收到的消息是这样的:“没有到主机的路由”。检查您正在执行 ssh 的主机的路由表从。执行该操作的命令是:
ip route show
输出结果如下:
10.200.2.0/24 dev eth0 proto kernel scope link src 10.200.2.7
169.254.0.0/16 dev eth0 scope link
default via 10.200.2.1 dev eth0
因为您收到“无主机路由”消息,这意味着:1) 您尝试 ssh 连接的 IP 不在您的本地网络上,2) 您没有默认路由。也就是说,该 IP 与您的路由表中的任何路由都不匹配。
您有路由器吗?如果有,您应该有一条到该路由器的默认路由。要添加一个,请输入类似以下命令:
ip route add default via 10.200.2.1
您可能希望使这些更改永久生效(即在重新启动系统后仍然生效),但由于您没有提到您的操作系统发行版,因此我无法为您提供帮助。