什么是向 resolv.conf 文件添加 IP?

什么是向 resolv.conf 文件添加 IP?

我在笔记本电脑上安装了 4 个 Ubuntu 虚拟机,并为每个虚拟机添加了额外的网络适配器,并为专用网络提供了静态 ip。我将其中一台配置为内部 DNS 服务器,将其 IP 添加到每个虚拟机的 resolvconf 基本文件中,然后重新启动 resolvconf 和网络服务。

在 resolv.conf 文件中我看到 2 个 DNS 服务器:

  1. 我的家庭路由器(我没有将其添加到 resolvconf 文件中)

  2. 我添加的那个。

由于某种原因,我的内部 DNS(resolv.conf 文件中的第二个)无法工作。

我没有在 dhcp.conf 和接口文件中添加任何内容。

是什么为文件生成路由器 DNS IP?如果内部 DNS 是第二个,为什么它不起作用? (如果我手动在它们之间切换,它就可以工作)

答案1

在 Ubuntu 上,NetworkManager自动设置resolv.conf,并且后者将NetworkManager在每次连接重置后被覆盖。如果您想设置使用顺序nameservers并使其永久化,请执行以下操作:

  • 备份resolv.confsudo cp /etc/resolv.conf /etc/resolv.conf.backup
  • resolv.conf如果它是符号链接,则将其删除:sudo rm -vf /etc/resolv.conf
  • 创建一个新的resolv.conf:sudoedit /etc/resolv.conf并用以下内容填充它:
nameserver <IP_OF_YOUR_PRIMARY_DNS>
nameserver <IP_OF_YOUR_SECONDARY_DNS>

由于您希望您的内部 DNS 服务器成为第一个被查询的服务器,因此<IP_OF_YOUR_PRIMARY_DNS>应该是该服务器的 IP 地址。

  • 通过以下方式锁定(设置不可变位)resolv.conf以防止更改NetworkManagersudo chattr +i /etc/resolv.conf
  • 重新开始NetworkManagersudo systemctl restart NetworkManager

参考

  • 引用手册resolv.conf页:

如果有多个服务器,解析器库将按列出的顺序查询它们。

https://www.man7.org/linux/man-pages/man5/resolv.conf.5.html

相关内容