CentOS7.6 鮮為人知的/etc/resolv.conf 之 /etc/resolv.conf.save (保持/etc/resolv.conf不被修改:/etc/dhcp/dhclient-enter-hooks 無效之/etc/resolv.conf被清空的特殊案例)


目的:

用戶可以自定義/etc/resolv.conf內容,且不被系統修改。

常規方法1:

/etc/sysconfig/network-scripts/ifcfg-eth0 網卡配置文件中增加PEERDNS=no

注意:雲平台受cloud-init 管理網卡,制作鏡像后創建新機器會被重置

# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=no

常規方法2:

創建dhcp 配置文件 /etc/dhcp/dhclient-enter-hooks 寫入空函數

#!/bin/sh
make_resolv_conf(){
:
}

chmod +x /etc/dhcp/dhclient-enter-hooks

 

 

 常規方法3:

類似2,直接修改dhcp腳本:/usr/sbin/dhclient-script將里面的make_resolv_conf函數置空同上

 

 

 然並卵..............

案例1:

方法2.方法3 僅配置 /etc/dhcp/dhclient-enter-hooks無效。重啟系統后/etc/resolv.conf 並沒有保持住,反而被置空

 

 

 

 查看是否有備份文件/etc/resolv.conf.save

[root@localhost ~]# ls -l /etc/resolv.conf*
-rw-r--r-- 1 root root 1 Dec 18 17:10 /etc/resolv.conf
-rw-r--r-- 1 root root 1 Dec 18 17:13 /etc/resolv.conf.save
[root@localhost ~]# cat /etc/resolv.conf.save 

[root@localhost ~]# 

 

解決:

  刪除/etc/resolv.conf.save

 原因解析:

/etc/resolv.conf.save 為備份文件,當dhcp腳本make_resolv_conf 為空時,直接從.save文件進行復制,導致配置無效。

案例2:

  https://www.cnblogs.com/xulingjie/p/9227799.html

  每次重啟服務器后,/etc/resolv.conf文件就被自動還原了,最后發現是被Network Manager修改了。

查看Network Manager服務狀態

systemctl status  NetworkManager

停止Network Manager服務

systemctl stop  NetworkManager

關閉Network Manager開機啟動

systemctl disable  NetworkManager


免責聲明!

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



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