我有一款应用程序,它应该以编程方式更改 Linux 机器的 DNS 服务器,但我似乎找不到合适的方法来实现它。有些版本可以很好地更新resolv.conf
,而其他版本则只能在您使用netplan
等情况下才能工作。有没有一种适用于所有实例的正确方法来实现此目的?
到目前为止我发现了以下选项:
resolv.com
- 在某些情况下有效,但在其他情况下无效
netplan
- 只在较新版本的 ubuntu 上使用过(也可能是其他版本),所以我也不能指望它有效
dns-nameservers
内部更改/etc/network/interfaces
- 之后我必须重新启动网络,而且我仍然不确定这是否是一个有效的解决方案
你们建议我走哪条路,还是我遗漏了什么?如何以编程方式更改盒子的 DNS 服务器?
答案1
如何解决所请求的任务高度依赖于分布。因此,没有适合不同分布的标准方法。
如有Debian
,Ubuntu
应保存使用/etc/network/interfaces
。
如果是Red Hat Enterprise Linux
,CentOs
则Fedora
在中找到相关文件/etc/sysconfig/network-scripts
。