重新启动 CentOS 6.3 后没有出站互联网连接

重新启动 CentOS 6.3 后没有出站互联网连接

重新启动无头 CentOS 6.3 机器后,它失去了出站互联网连接,即我仍然可以通过 SSH 连接到服务器( ),但会出现ssh root@**.126.18.56诸如、和之类的东西,并出现很多网络错误。ping google.comgoogle.com: unknown hostyum list some_package

ifconfig 给出的结果如下:

eth0      Link encap:Ethernet  HWaddr 00:25:90:78:2D:5D  
          inet addr:**.126.18.56  Bcast:**.126.18.255  Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fe78:2d5d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:75594 errors:0 dropped:0 overruns:0 frame:0
          TX packets:787 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7074741 (6.7 MiB)  TX bytes:144391 (141.0 KiB)
          Interrupt:20 Memory:f7a00000-f7a20000 

eth1      Link encap:Ethernet  HWaddr 00:25:90:78:2D:5C  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:16 Memory:f7900000-f7920000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:504 (504.0 b)  TX bytes:504 (504.0 b)

我完全不知道如何调试这个,而且我觉得这很奇怪,因为我仍然可以通过 ssh 连接。

编辑:奇怪的是,/etc/resolv.conf不包含任何条目,或者没有我能理解的条目:

# Generated by NetworkManager
search sui-inter.net


# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com

那么重新启动服务器是否有可能删除该文件?至少以前是可以的!我该如何解决这个问题?

顺便说一下,ping IP 地址是可行的。

答案1

好的,您可以编辑以下文件以防止覆盖 resolv.conf

文件名/etc/sysconfig/network-scripts/ifcfg-eth0

价值设置是 PEERDNS=no

答案2

我认为您的文件 /etc/resolv.conf 不存在或其中没有条目。通常它包含名称服务器地址,即 DNS 服务器地址。所有域名(如 google.com 等)都将使用该 DNS 服务器进行解析。

如果是 ssh root@**.126.18.56,它可以正常工作,因为这里您提供的是直接 IP 地址而不是名称。

答案3

我觉得 CentOS 在启动时会使用 /etc/sysconfig/network-scripts 中的脚本值重建 /etc/resolv.conf。这些值可能缺失、未设置或损坏。

那么重启服务器是否有可能删除该文件?至少以前是有效的!

它使用新的、最新的值重新创建了它。但出了点问题。(例如,因为它没有要设置的值)

我该如何解决这个问题?

快速解决方法:echo "nameservers 8.8.8.8" > /etc/resolv.conf

正确的解决方案:正确配置网络。首先查看网络管理器。(由于我没有 CentOS 经验,因此无法在此详细介绍。)

答案4

不允许 NetworkManager 管理您服务器的 NIC。

编辑/etc/sysconfig/network-scripts/ifcfg-eth0。找到以下行:

NM_CONTROLLED=yes

将其改为:

NM_CONTROLLED=no

如果该行不存在,则添加它。

相关内容