首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 修改resolv后生效

基础概念

resolv.conf 是 Linux 系统中的一个配置文件,用于指定 DNS 解析器的设置。它包含了 DNS 服务器的地址、域名搜索列表等信息。当系统需要进行域名解析时,会读取这个文件来确定使用哪个 DNS 服务器进行查询。

相关优势

  1. 灵活性:通过修改 resolv.conf,可以轻松地切换 DNS 服务器,以适应不同的网络环境或优化解析速度。
  2. 自定义搜索域:可以在文件中设置域名搜索列表,使得系统在解析不带域名的主机名时,会自动尝试添加这些搜索域进行解析。

类型

resolv.conf 文件通常包含以下几种配置项:

  • nameserver:指定 DNS 服务器的 IP 地址。
  • domain:指定本地域名。
  • search:指定域名搜索列表。
  • options:指定其他选项,如超时时间、重试次数等。

应用场景

  1. 网络环境切换:在不同的网络环境中,可能需要使用不同的 DNS 服务器。
  2. 优化解析速度:通过更换更快的 DNS 服务器,可以提高域名解析的速度。
  3. 自定义搜索域:在多域名环境下,可以通过设置搜索列表来简化域名输入。

修改 resolv.conf 后生效问题

为什么修改后不生效?

  1. 文件权限问题resolv.conf 文件通常需要 root 权限才能修改。
  2. 网络服务未重启:某些网络服务(如 NetworkManager)可能会缓存 DNS 设置,需要重启这些服务才能使新的设置生效。
  3. 配置错误:配置文件中的语法错误或配置项不正确,导致系统无法正确解析。

如何解决?

  1. 确保文件权限正确
  2. 确保文件权限正确
  3. 重启网络服务
    • 如果使用 NetworkManager:
    • 如果使用 NetworkManager:
    • 如果使用 systemd-resolved:
    • 如果使用 systemd-resolved:
  • 检查配置文件语法
  • 检查配置文件语法
  • 确保文件内容如下所示:
  • 确保文件内容如下所示:
  • 手动刷新 DNS 缓存
  • 手动刷新 DNS 缓存

示例代码

假设你想将 DNS 服务器设置为 8.8.8.88.8.4.4,并设置搜索域为 example.com,可以按照以下步骤操作:

  1. 编辑 resolv.conf 文件:
  2. 编辑 resolv.conf 文件:
  3. 添加以下内容:
  4. 添加以下内容:
  5. 保存并退出编辑器。
  6. 重启网络服务(以 NetworkManager 为例):
  7. 重启网络服务(以 NetworkManager 为例):

通过以上步骤,你应该能够成功修改 resolv.conf 并使其生效。

参考链接

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux下.bashrc文件修改和生效

.bash_logout 当你退出时执行的命令 .bash_profile 当你登入shell时执行 .bashrc 当你登入shell时执行 请注意后两个的区别:’.bash_profile’只在会话开始时被读取一次...一些第三方软件没有将可执行文件放到 Linux 的标准目录中。因此,将这些非标准的安装目录添加到 $PATH 是一种解决的办法。此外,您也将看到如何处理一般的环境变量。...这样,每次打开控制台或终端窗口时,都会生效。 (5)举例,生效方式  这个文件主要保存个人的一些个性化设置,如命令别名、路径等。...每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc) 就可以立刻加载修改后的设置,使之生效。 一般会在.bash_profile文件中显式调用.bashrc。...登陆linux启动bash时首先会 去读取~/.bash_profile文件,这样~/.bashrc也就得到执行了,你的个性化设 置也就生效了。

13.1K30
  • linux修改文件句柄数生效_linux文件句柄释放

    引之: 在一个工作中的实践项目中,项目是一个部署到linux下的中间件项目,当收到一个Client登录的时候,需要为这个Client打开四个文件,当进行 多用户的大压力测试的时候,程序就出问题了: too...(65535是我已经修改后的值了,没修改前是1024) 2,修改/etc/security/limits.conf 增加下面的代码: Shell代码 你的用户名 soft nofile 65535 你的用户名...附:具体修改方法 修改linux的最大文件句柄数限制的方法: 1)ulimit -n 65535 在当前session有效,用户退出或者系统重新后恢复默认值 2)修改profile文件:在profile...文件中添加:ulimit -n 65535 只对当个用户有效 3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-当前session中运行ulimit -a命令无法显示...在文件中添加: fs.file-max=655350 #限制整个系统最大文件句柄数 运行命令:/sbin/sysctl -p 使配置生效 原理分析: Linux是有文件句柄限制的,而且默认不是很高,一般都是

    8.2K50

    修改centos等linux的hostname-永久生效

    步骤 uname -a (或者hostname)可以看到hostname,修改步骤如下: uname -a 查看hostname hostname newname 修改下,让hostname立刻生效。...vi /etc/hosts 修改原hostname为 newname vi /etc/sysconfig/network 修改原hostname为 newname , reboot重启后也生效 reboot...---- 解析 临时生效 Linux操作系统的 hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。...修改运行时Linux系统的hostname,即不需要重启系统 hostname命令可以设置系统的hostname #hostname newname newname即要设置的新的hostname,运行后立即生效...修改hostname后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。

    7.3K40

    记一次Linux修改MySQL配置不生效的问题

    18.04.1 LTS) 过程 在 Stackoverflow上的高票回答很简单,修改只需要三步就可以完成 /etc/my.cnf // 找到配置文件port = 3306 // 修改内容...mysql restart 重启服务的时候,我发现我的内网机器还是访问不了,我使用 netstat -ntlp 查看 Local Address,Foregin Address,发现我修改的配置后的配置没有生效...my.cnf 上面是指文件由于全局可写存在风险,被MySQL忽略,并且列出MySQL读取配置文件的顺序,这里是可以看到MySQL是存在多个my.cnf配置文件,有些是全局配置,有些是局部配置,找到线索后,....my.cnf 然后再执行 sudo service mysql restart,然后再看看 Local Address 和 Foreign Address 已经变成我们在my.cnf配置的内容,但是修改后的配置已经成功生效...,确认是文件全局可读的安全问题导致 总结 最后是关于 MySQL 的安全规则导致修改配置不生效,当然这条规则,大部分情况下我们是不知道的(如果没有完整阅读官网文档的话),在经过这次问题,我大概有如下几点总结

    4.7K20
    领券