重新启动一个无头CentOS 6.3机器后,它失去了出站互联网连接,即我仍然可以通过SSH连接到服务器( ssh root@**.126.18.56 ),但ping google.com等东西给google.com: unknown host和yum list some_package给出了很多networking错误。
这是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)
我绝对不知道如何debugging这个,我觉得很奇怪,因为我仍然可以通过SSH连接。
编辑:奇怪的是, / etc/ /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
那么是否有可能重新启动服务器删除该文件? 它起作用了,至less! 我该如何解决这个问题?
顺便说一句,ping一个IP地址的作品。
好的你可以编辑下面的文件以防止覆盖resolv.conf
文件名是/etc/sysconfig/network-scripts/ifcfg-eth0
要设置的值是PEERDNS=no
我认为你的文件/etc/resolv.conf不存在或没有条目。 一般来说,它包含的名称服务器地址,只是DNS服务器地址。 所有域名如google.com等将通过使用该DNS服务器解决。
在ssh root@**.126.18.56的情况下,它正在工作,因为在这里你给的是直接的IP地址而不是名字。
我似乎CentOS在启动时使用/ etc / sysconfig / network-scripts脚本中的值重build了/etc/resolv.conf。 那些可能是失踪的,根本没有设置或者可能是腐败的。
那么是否有可能重新启动服务器删除该文件? 它起作用了,至less!
它用新的,最新的值重新创build它。 除了出错之外。 (例如因为它没有设定值)
我该如何解决这个问题?
快速解决方法: echo "nameservers 8.8.8.8" > /etc/resolv.conf
正确的解决scheme:正确configurationnetworking。 首先看看Networkmanager。 (因为我没有CentOS的经验,所以在这里我不能详细介绍。)
不要让NetworkManagerpipe理您的服务器的NIC。
编辑/etc/sysconfig/network-scripts/ifcfg-eth0 。 find这一行:
NM_CONTROLLED=yes
将其更改为:
NM_CONTROLLED=no
如果该行不存在,只需添加它。