如何以编程方式更改 Linux 中的 DNS 服务器

如何以编程方式更改 Linux 中的 DNS 服务器

我有一款应用程序,它应该以编程方式更改 Linux 机器的 DNS 服务器,但我似乎找不到合适的方法来实现它。有些版本可以很好地更新resolv.conf,而其他版本则只能在您使用netplan等情况下才能工作。有没有一种适用于所有实例的正确方法来实现此目的?

到目前为止我发现了以下选项:

resolv.com- 在某些情况下有效,但在其他情况下无效

netplan- 只在较新版本的 ubuntu 上使用过(也可能是其他版本),所以我也不能指望它有效

dns-nameservers内部更改/etc/network/interfaces- 之后我必须重新启动网络,而且我仍然不确定这是否是一个有效的解决方案

你们建议我走哪条路,还是我遗漏了什么?如何以编程方式更改盒子的 DNS 服务器?

答案1

如何解决所请求的任务高度依赖于分布。因此,没有适合不同分布的标准方法。

如有DebianUbuntu应保存使用/etc/network/interfaces

如果是Red Hat Enterprise LinuxCentOsFedora在中找到相关文件/etc/sysconfig/network-scripts

相关内容