我正在尝试修改 NetworkManager 的默认 DNS 设置,以便每当我添加新连接时,它都会使用127.0.0.1
该连接而不是默认 DNS。不过,我仍然希望之后能够修改每个单独连接的 DNS。
我设置了DNS加密最近,它在大多数网络上运行良好。然而,我使用的一些网络要求我使用它们的 DNS 服务器而不是 DNSCrypt,这意味着我不能简单地将默认名称服务器设置resolv.conf
为127.0.0.1
.当我将一些网络更改为使用127.0.0.1
.然而,如果每个新连接默认都有这个配置,那就太好了:
/etc/NetworkManager/system-connections/connection.conf
看起来像这样:
[ipv4]
dns=127.0.0.1;
ignore-auto-dns=true
method=auto
在我的研究中我发现了这一点NetworkConfig.conf
联机帮助页:
Specify default values for connections. […]
Example:
[connection]
ipv6.ip6-privacy=0
但是,只有少数受支持的属性,并且尝试此操作不起作用:
[connection]
ipv4.method=auto
ipv4.dns=127.0.0.1;
ipv4.ignore-auto-dns=true
我想知道是否有任何已知的解决方法可以解决此问题,无论是使用 NetworkManager 还是其他方法。
答案1
我还不允许评论进一步的信息,以确保我能够准确地解决您的问题,但是,根据我在文档中阅读的内容以及使用构建的其他软件包的经验,我不认为我也需要这样做。这种方式。虽然我现在没有能力对此进行测试以绝对确保我收集到的信息是准确的,但您可以将默认值放入下面的文件中,/usr/lib/NetworkManager/system-connections
并且它们比/etc/NetworkManager/system-connections
.然后在 etc 树中,您可以覆盖您想要更改的内容。
也许尝试将您的初始解决方案放入与/usr/lib
etc 树下的文件名称相同的树中:
[ipv4]
dns-priority=100
dns=172.20.21.1
ignore-auto-dns=true
一般来说,下面的文件/usr/lib/*
是包维护者希望您使用的文件(或合理的默认值),并且/etc/
是系统管理员(您)想要使用的文件,所以我不明白为什么它在这里不适用出色地。
如果此解决方案不能解决问题,我还建议您为那些必须不时使用的“其他网络”创建某种临时配置,就像 VPN 配置一样。这样,您只需在需要时更改设置,而不是尝试创建适合所有内容的快乐中型配置...这样做可能会减少尝试遍历无效路径的潜在路由问题。
最后,在您的问题中,您表示您试图ipv4.xxxx
将[connection]
.您必须将这些陈述放在 下的适当节中[ipv4]
。
/usr
你似乎知道发生了什么,所以也许关于vs 的部分/etc
是你所不知道的。 (顺便说一句,对于文件也是如此/var
。)祝你好运!