如何在 Raspberry Pi 上设置 DNS 服务器?

Jos*_*gue 38 dns opendns raspberry-pi

我希望我的 Raspberry Pi 使用 OpenDNS 来解析域名。如何修改此设置?

sta*_*abs 43

我发现在最新版本的 Raspbian 中(我认为是拉伸?)您现在需要编辑/etc/dhcpcd.conf. 应该有一行开头static domain_name_servers=- 您可以使用空格分隔的 DNS 服务器列表对其进行自定义,如下所示:

static domain_name_servers=1.1.1.1 1.0.0.1 208.69.38.205 8.8.8.8
Run Code Online (Sandbox Code Playgroud)

推荐的 DNS 服务器:CloudflareOpenDNSGoogle

编辑:作为@DavidOliver所指出的,你可能需要重新启动的dhcpcd也:sudo systemctl restart dhcpcd.service

  • 这是唯一对我有用的解决方案。我在树莓派上使用 raspbian (4认同)
  • 似乎需要重新启动服务:`sudo systemctl restart dhcpcd.service` (2认同)

Jus*_*tin 31

不要编辑,/etc/resolv.conf因为该文件是自动生成的。而是编辑/etc/network/interfaces以下内容并将其添加到末尾:

dns-nameservers 8.8.4.4 8.8.8.8
Run Code Online (Sandbox Code Playgroud)

  • resolv.conf 只是被 resolvconf 工具覆盖。如果未安装此工具,则第一个答案将起作用。但是您的解决方案无论如何都会起作用,这就是为什么它应该被标记为正确的解决方案。 (5认同)

Ang*_*ngs 17

如果您在 Raspberry Pi 上使用 Debian,那么您需要编辑 /etc/resolv.conf

nano /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

然后添加openDNS的服务器IP

nameserver  208.67.222.222
nameserver 208.67.220.220
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果您对 DNS 的速度有任何疑问,您可能想看看这篇文章

  • 你重新启动了你的主板并且正在使用 Debian 服务器,对吗?如果是这种情况,请尝试将 `nameserver 208.67.220.220` 和 `nameserver 208.67.222.222` 添加到 `/etc/network/interfaces` 然后重新启动您的板子或执行 `/etc/init.d/networking restart` . 如果还是不行,请粘贴`dig google.com`的输出 (4认同)

Rob*_*tet 5

我从另一个网站找到了答案,这是最好的。我使用了文章的最后一部分,因为 Raspbian 已经安装了 dchpcd,我仍然想要一个自动 ip 地址而不是静态 ip 地址。从带有 Raspbian - Pixel 类型的 Raspberry Pi3 多重引导 [berryboot] 运行

sudo nano /etc/resolv.conf.head
Run Code Online (Sandbox Code Playgroud)

在您的终端中。你将有一个空白的石板工作。接下来复制并粘贴以下代码:

#OpenDns Servers
nameserver 208.67.222.222
nameserver 208.67.220.220
Run Code Online (Sandbox Code Playgroud)

点击 cntrl + x 退出并选择 y 以保存以下选项。重启你的树莓派

sudo reboot
Run Code Online (Sandbox Code Playgroud)

要确保您使用的是 OpenDNS,请访问以下网站: OpenDns 欢迎页面