我刚刚从 xubuntu 转到 manjaro linux,我想为系统设置 nextdns。
我尝试了两种方法,但都失败了。
尝试 1
我按照github 页面。当我安装 nextdns 时,我看到它在端口 53 上启动了一个服务器(我猜是通过 HTTPS 转发所有 DNS 请求)并将/etc/resolv.conf
以下内容更改为
# This file is managed by nextdns.
#
# Run "nextdns deactivate" to restore previous configuration.
nameserver ::1
但是当我 ping 时,ping www.google.com
它给了我name or service unknown
。我可以 ping 8.8.8.8
尝试 2
接下来,我尝试使用 unbound 的 DNS over TLS。我读到Arch Linux 文档和本教程。我刚刚将以下几行添加到/etc/unbound/unbound.conf
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
forward-zone:
name: "."
forward-tls-upstream: yes
forward-addr: <ip4 address>#<nextdns config_id>.dns1.nextdns.io
forward-addr: <ip6 address>#<nextdns config_id>.dns1.nextdns.io
forward-addr: <ip4 address>#<nextdns config_id>.dns2.nextdns.io
forward-addr: <ip6 address>#<nextdns config_id>.dns2.nextdns.io
转发地址是正确的(它们在我的 nextdns 设置页面中给出)。
然后我将其添加name_servers="::1 127.0.0.1"
到我的并按照指示/etc/resolvconf.conf
执行resolvconf -u
arch linux 文档。我/etc/resolv.conf
做了相应的更改。但我仍然无法 ping 域名。
我不知道如何解决这个问题。Manjaro 与 ubuntu 有点不同。任何帮助都将不胜感激。
编辑
/etc/nsswitch.conf
如下
# Name Service Switch configuration file.
# See nsswitch.conf(5) for details.
passwd: files mymachines systemd
group: files mymachines systemd
shadow: files
publickey: files
hosts: files mymachines mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns mdns4 myhostname
networks: files
protocols: files
services: files
ethers: files
rpc: files
netgroup: files
答案1
要检查的其他地方是文件/etc/nsswitch.conf
对于hosts
您可以添加的行dns
:
hosts: files dns ....
并再次检查。此文件用于定义在解析不同对象(如用户、主机等)时要使用哪个源。