缠丝猫 发表于 2024-9-23 06:24:14

办理Linux重启后resolv.conf文件被重置问题

办理Linux重启后resolv.conf文件被重置问题
问题形貌

修改云服务器规格的时候,会修改/etc/resolv.conf 文件和网卡配置,用户不希望/etc/resolv.conf 被修改。
问题原因

此问题为Linux本身问题与产物无关,从Centos5.6就存在,Centos重新启动网络服务主动使用/etc/sysconfig/network-scripts/ifcfg-eth0中重新置/etc/resolv.conf,导致修改/etc/resolv.conf内容, dhclient -> dhclient-scripts -> resolve.conf 
https://i-blog.csdnimg.cn/direct/7fc28fdfb3524f13a0e7ec4937e95736.png
# cat /etc/resolv.conf
options timeout:5 attempts:3 rotate single-request-reopen
; generated by /usr/sbin/dhclient-script options rotate
nameserver 100.96.0.2 nameserver 100.96.0.3
# 办理方案

用户需求:修改云服务规格、重启网络或呆板不重置/etc/resolv.conf 文件。
方案一:

使用chattr +i 命令将resolv.conf文件变成只读,则dhclient无法修改resolv.conf文件
#锁定/etc/resolv.conf
   sudo chattr +i /etc/resolv.conf
#解除锁定
   sudo chattr -i /etc/resolv.conf
**长期化:**可以将sudo chattr +i /etc/resolv.conf加到/etc/rc.local里
方案二:在网卡里设置DNS,以Centos 7.6为例

vim /etc/sysconfig/network-scripts/ifcfg-eth0
#注意备份ifcfg-eth0信息 增加自定义DNS服务器,
如示例DNS1=8.8.8.8 #谷歌dns服务器  
systemctl restart network #重启网络服务使配置生效,会影响 DNS 解析,请评估后操纵。
执行后查看/etc/resolv.conf,就会把原来DNS覆盖为eth0网卡下配置,如下所示
https://i-blog.csdnimg.cn/direct/bd4358b9b74f40d3a09a829b12512f84.png

# cat /etc/resolv.conf
options timeout:5 attempts:3 rotate single-request-reopen
options rotate
; generated by /usr/sbin/dhclient-script
nameserver 8.8.8.8   #会被8.8.8.8覆盖

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 办理Linux重启后resolv.conf文件被重置问题