首頁 > 軟體

Cent0S 6.7直接在/etc/resolv.conf檔案下修改DNS地址重新啟動不生效問題解決

2020-06-16 17:09:58

CentOS 6.7/Linux下設定IP地址

1:臨時修改:

1.1:修改IP地址 # ifconfig eth0 192.168.2.104

1.2:修改閘道器地址 # route add default gw 192.168.2.1 dev eth0

1.3:修改DNS # echo "nameserver 192.168.2.1" >> /etc/resolv.conf         // 與主機的DNS伺服器保持一致

這個時候就可以上網了,上網的IP地址為192.168.2.104,閘道器地址為192.168.2.1。但是這樣的設定是臨時性的,一旦重新啟動網絡卡或者重新啟動伺服器,除了1.3的操作其他均會被還原,這樣的方式只適合臨時IP修改,想要永久性修改網絡卡組態檔,就需要修改相應的檔案

2:永久性修改: 

2.1:修改IP地址
修改/etc/sysconfig/network-scripts/ifcfg-eth0檔案,如果有多張網絡卡,則修改相應的網絡卡
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0                             #網絡卡對應的裝置別名
BOOTPROTO=static                    #網絡卡獲得ip地址的方式(預設為dhcp,表示自動獲取)
HWADDR=08:00:27:F9:5B:B9    #網絡卡MAC地址(實體地址)
IPADDR=192.168.2.104             #IP地址
NETMASK=255.255.255.0          #子網掩碼 
ONBOOT=yes                            #系統啟動時是否啟用此裝置
 
2.2:修改閘道器地址
修改/etc/sysconfig/network檔案
# vi /etc/sysconfig/network
NETWORKING=yes                #表示系統是否使用網路,no表示不能使用網路
HOSTNAME=doiido                #設定本機的主機名,要和/etc/hosts中設定的主機名相同
GATEWAY=192.168.100.1      #設定閘道器的IP地址
 
這個時候已經可以ping通IP地址,但是還無法ping通域名,因此需要修改DNS
 
2.3:修改DNS
修改/etc/resolv.conf檔案
# vi /etc/resolv.conf
nameserver 192.168.2.1          #與主機DNS伺服器保持一致
nameserver 114.144.114.114      #國內域名伺服器
 
2.4:重新啟動網絡卡
# service network restart
正在關閉介面 eth0: [確定]
關閉環迴介面: [確定]
彈出環回介面: [確定]
彈出介面 eth0: [確定]
這個時候,系統就可以正常的上網了嗎?按照正常情況是可以的,但是我在centos 6.7中這樣嘗試的時候,發現依然是只能ping通IP地址,不能存取域名。在網上查詢了下

原來在Centos6.7下面直接修改/etc/resolv.conf不行。必須要在/etc /sysconfig/network-scripts/ifcfg-eth0裡面最後加上dns的設定。要不然,重新啟動後,肯定使用eth0設定中沒有設 dns的相關資訊,使/etc/resolv.conf恢復到原來的狀態。

開啟/etc/sysconfig/network-scripts/ifcfg-eth0,在裡面加上DNS的設定
[root@localhost /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
 
DEVICE=eth0
HWADDR=08:00:27:F9:5B:B9
TYPE=Ethernet
UUID=16b21d21-1ea0-4d4f-9d5d-4c164066cf15
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.2.104
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.1                #可選擇與主機DNS保持一致,也可使用谷歌的8.8.8.8,根據實際情況切換
DNS2=114.144.114.114         #國內域名伺服器
~                          
儲存退出後,可以發現/etc/resolv.conf裡面根本就不需要設定。service network restart 後,可以發現/etc/resolv.conf裡面就有兩個dns的解析ip了。設定好以後重新啟動網路,cat /etc/resolv.conf,可以看到如下引數:
[root@localhost /]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 192.168.2.1
nameserver 114.144.114.114
 
DNS解析設定成功。 這個時候重新ping 域名地址,可以ping通
在此要強調一點的是,直接修改/etc/resolv.conf這個檔案是沒用的,網路服務重新啟動以後會根據/etc/sysconfig /network-scripts/ifcfg-eth0來過載設定,如果ifcfg-eth0沒有設定DNS,那麼resolv.conf會被沖掉,重 新變成空值。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-07/145844.htm


IT145.com E-mail:sddin#qq.com