主機網絡ping: unknown host baidu.com問題解決


本機環境:

系統:Centos 網絡:NAT

虛擬機之前一直都可以連外網,但最近不能連了,現狀如下:

[root@vhost03 ~]# ping baidu.com
ping: unknown host baidu.com

查看了下本機的網卡配置:

[root@vhost03 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:D7:D2:49"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="f08dcf57-d670-46b3-8298-240cd0b76bc2"
IPADDR=192.168.196.129
BROADCAST=192.168.196.255
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

 

 新裝的虛擬機默認都是dhcp方式獲取IP。為了保證IP固定,自己更新了網卡信息,使用了static模式。其中最后四行是按照dhcp模式時,使用ifconfig命令獲取的信息。

查看DNS信息:

[root@vhost03 ~]# more /etc/resolv.conf 
# Generated by NetworkManager
# 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

 上述結果表示並沒有配置DNS。

正確的解決方式:

 

[root@vhost03 ~]# cd /etc/sysconfig/network-scripts/

[root@vhost03 network-scripts]# cp ifcfg-eth0 ifcfg-eth0.bak
[root@vhost03 network-scripts]# vi ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:0C:29:D7:D2:49"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"

[root@vhost03 Desktop]# service network restart

[root@vhost03 Desktop]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:D7:D2:49  
          inet addr:192.168.196.135  Bcast:192.168.196.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fed7:d249/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:222887 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29460 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:147116593 (140.3 MiB)  TX bytes:3667288 (3.4 MiB)

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:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1064 (1.0 KiB)  TX bytes:1064 (1.0 KiB)

[root@vhost02 ~]#  netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.196.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.196.2   0.0.0.0         UG        0 0          0 eth0

[root@vhost03 Desktop]# more /etc/resolv.conf 
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.196.2

根據上面的信息重新配置ifcfg-eth0文件

[root@vhost03 ~]# cd /etc/sysconfig/network-scripts/

[root@vhost03 network-scripts]# vi ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:D7:D2:49"
IPV6INIT="yes"
NM_CONTROLLED="yes"

ONBOOT="yes"
TYPE="Ethernet"
UUID="f08dcf57-d670-46b3-8298-240cd0b76bc2"
IPADDR=192.168.196.129
BROADCAST=192.168.196.255
NETMASK=255.255.255.0
GATEWAY=192.168.196.2

[root@vhost03 ~]# cd /etc/sysconfig/network-scripts/

[root@vhost03 network-scripts]# service network restart

[root@vhost03 network-scripts]# vi /etc/resolv.conf 

# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.196.2

[root@vhost03 ~]# ping www.baidu.com
PING www.a.shifen.com (115.239.210.27) 56(84) bytes of data.
64 bytes from 115.239.210.27: icmp_seq=1 ttl=128 time=6.46 ms
64 bytes from 115.239.210.27: icmp_seq=2 ttl=128 time=7.00 ms

ok,問題解決。分析下來,看來是之前獲取的歷史網卡信息變了,導致不能ping外網。

之前有在其它網絡環境下重啟過宿主機,應該和這個有關。解決問題的時候發現,只要重啟網卡就會出現/etc/resolv.conf 被重置的現象。這是因為

[root@vhost02 ~]# chkconfig --list |grep -i network
NetworkManager  0:off   1:off   2:on    3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@vhost02 ~]# service NetworkManager stop

NetworkManager進程會實時修改/etc/resolv.conf 中的信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM