目的:

用户可以自定义/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

CentOS7.6 鲜为人知的/etc/resolv.conf 之 /etc/resolv.conf.save (保持/etc/resolv.conf不被修改:/etc/dhcp/dhclient-enter-hooks 无效之/etc/resolv.conf被清空的特殊案例)的更多相关文章

  1. Centos7.5搭建ELK-6.5.0日志分析平台

    Centos7.5搭建ELK-6.5.0日志分析平台 1. 简介 工作工程中,不论是开发还是运维,都会遇到各种各样的日志,主要包括系统日志.应用程序日志和安全日志,对于开发人员来说,查看日志,可以实时 ...

  2. iOS 9之适配ATS(转载)

    iOS 9系统已经出来了,而网络方面的ATS(App Transport Security)特性可以说每个人都要经历.而我这篇博客,就是结合我最近几天的经历,来谈谈从服务器到iOS客户端对ATS的适配 ...

  3. coredns CrashLoopBackOff 报错

    1.kubectl logs -f coredns-99b9bb8bd-47mvf -n kube-system .:53 2018/09/22 07:39:37 [INFO] CoreDNS-1.2 ...

  4. Python并发编程-Redis

    Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Remote Dictionary Server(Redis)是一个基于 key-value ...

  5. 在linux服务器上装svn版本管理,自动部署代码到项目

    在linux服务器上装svn版本管理,自动部署代码到项目 http://bbs.aliyun.com/read/9715.html?spm=5176.7114037.1996646101.1.W3zw ...

  6. 阿里云上部署了zabbix,突然无法收到报警邮件的解决办法

    在阿里云上部署了zabbix,一直能正常接收到zbx发来的报警邮件(报警邮箱是163的),不知是什么原因,突然无法接收到报警邮件了. 但在服务器上手动执行echo "hello"| ...

  7. Linux yum 安装 Nginx

    搭建 Nginx 静态服务器 安装 Nginx 使用 yum 安装 Nginx: yum install nginx -y 修改 /etc/nginx/conf.d/default.conf,去除对 ...

  8. 在linux服务器上装svn版本管理,自动部署代码到web项目

    在linux服务器上装svn版本管理,自动部署代码到项目 1.安装svn服务器端  yum install subversion   从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认  ...

  9. jenkins + maven + nexus + [ svn 或 GitLab 或 GitHub ]

    目录 介绍 DevOps平台四大模块 针对DevOps开源项目 Jenkins 介绍 Maven 介绍 maven的核心概念介绍 SVN介绍 Nexus介绍 Maven私服的 个特性: 流程图 环境搭 ...

随机推荐

  1. javascript-初级-day03自定义属性

    day01-自定义属性应用 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type ...

  2. 在SEO过程中,如何避免网站中出现软404

    这篇文章分享一个SEO的问题,软404.我们在网站中经常见到的一个状态码就是404.无论我们是否开发一个网站,这都是要面对的一个问题 何谓软404 在说软404之前,我们首先要了解什么是404.404 ...

  3. 如何基于 React 封装一个组件

    如何基于 React 封装一个组件 前言 很多小伙伴在第一次尝试封装组件时会和我一样碰到许多问题,比如人家的组件会有 color 属性,我们在使用组件时传入组件文档中说明的属性值如 primary , ...

  4. 全面了解一致性哈希算法及PHP代码实现

    在设计一个分布式系统的架构时,为了提高系统的负载能力,需要把不同的数据分发到不同的服务节点上.因此这里就需要一种分发的机制,其实就是一种算法,来实现这种功能.这里我们就用到了Consistent Ha ...

  5. Codeforces 1089I - Interval-Free Permutations(析合树计数)

    Codeforces 题面传送门 & 洛谷题面传送门 首先题目中涉及排列的 interval,因此可以想到析合树.由于本蒟蒻太菜了以至于没有听过这种神仙黑科技,因此简单介绍一下这种数据结构:我 ...

  6. Perl语言编程(大骆驼)

    啰嗦几句 Perl的时代已经过去,现在年轻的同事们基本上都在用Python了.但个人认为单就生物信息文本处理而言,Perl语言是绝对够用的.最主要的是,前辈们搭建的流程大多数是Perl写的,因此,如果 ...

  7. SourceTree使用图解-转

    这篇文档的目的是:让使用Git更轻松. 看完这篇文档你能做到的是: 1.简单的用Git管理项目. 2.怎样既要开发又要处理发布出去的版本bug情况. SourceTree是一个免费的Git图形化管理工 ...

  8. Oracle-创建新表,创建备份表,对表中插入多条数据

    一.创建新表 0.基本语法 create table 表名称(id varchar2(50) primary key ,name char(200) not null,phone number(11) ...

  9. CAD简介

    Computer-aided design (CAD) is the use of computers (or workstations) to aid in the creation, modifi ...

  10. js中!!的妙用

    0.-0.null."".false.undefined 或者 NaN转化为false,其他为true