在这个Raspberry Pi DNS设置教程中,记录下如何更改Raspberry Pi的DNS服务器。
改变Raspberry Pi上的DNS服务器的过程非常简单,只需要修改一个文件。除了向您展示您需要编辑的文件外,我还将向您介绍几种Raspberry Pi加载配置文件的方法。
有许多原因,让我们想要更改DNS服务器的配置,其中一个最重要的原因是性能。许多ISP提供的DNS服务器在查找时速度非常慢,有时可能需要很长时间来更新和添加域名。
还有就是要考虑隐私因素,通常ISP的DNS服务器会泄露IP地址以及正在访问的网站的缓存。像Cloudflare 1.1.1.1这样的替代品不记录任何可识别的数据并通过DNS提供HTTPS来增加隐私防护。
设备清单
下面是树莓派配置DNS服务器需要的所有设备清单。
建议
可选
在Raspberry Pi上设置DNS服务器
我建议在最新版本的Raspbian上进行本教程,以确保一切都能正常工作。
1. 在Raspberry Pi上,要更改DNS服务器,只需要修改一个文件:dhcpcd配置文件。
在某些设置中,可以修改/etc/resolv.conf文件,但不应该在Raspbian中这样做。
这是因为Raspbian自带了一个名为resolvconf的程序,这个文件会动态地生成resolv.conf文件。所以对它的任何修改都可能被覆盖,因此编辑 “resolv.conf “文件是一个不可靠的解决方案。
在Raspberry Pi上运行以下命令来修改/etc/dhcpcd.conf文件。
sudo nano /etc/dhcpcd.conf
2. 现在已经打开了接口文件,需要在文件底部添加以下一行。
这一行将定义Raspberry Pi要使用的DNS服务器。resolvconf程序将自动使用这个值来重新生成resolv.conf文件。
在 “static domain_name_servers=”后面指定的任何IP地址都会被用来尝试并发出DNS请求。在下面的例子中,会看到我已经定义了8.8.4.4和8.8.8.8这两个Google的公共DNS服务器。
static domain_name_servers=8.8.4.4 8.8.8.8
如果不想用谷歌的DNS服务器, 有一些其他的替代品。两个最流行的替代品是Cloudflare公共DNS和OpenDNS。
最新的公共DNS之一是Cloudflare的1.1.1.1,它是目前最快、最私密的公共DNS之一,甚至实现了DNS over HTTPS(DoHS)等现代技术。
DoHS意味着您的计算机和DNS服务器之间的连接是加密的,与大多数DNS提供商不同。
可以使用IP地址1.1.1.1和1.0.0.1来利用Cloudflare公共DNS。
第二种公共DNS的替代方案是OpenDNS,它是由思科公司运行的,它使用的IP是208.67.222.222和208.67.220.220。
OpenDNS可以阻止某些网站加载,如钓鱼网站。此外,它还允许你设置自己的过滤类别,这样就可以根据需要过滤掉网站。
3. 现在对/etc/dhcpcd.conf文件做了这些修改,可以按下面的CTRL + X键保存它,然后按Y键,最后按ENTER键。
4. 我已经对dhcpcd配置进行了修改,需要运行以下命令来重新启动它的服务。
sudo service dhcpcd restart
测试DNS变化
1. 重启DHCPCD服务后,resolvconf软件会自动更新resolv.conf配置文件。
可以使用下面的命令打开resolv.conf文件来验证新的域名服务器IP是否在Raspberry Pi上被正确设置。
sudo nano /etc/resolv.conf
2. 在这个文件中,现在应该看到像我下面所示的东西。
按CTRL + X键退出文件即可。
# Generated by resolvconf
domain home
nameserver 8.8.8.8
nameserver 8.8.4.4
3. 如果仍然不确定Raspberry Pi是否在使用新设置的DNS服务器,可以利用dig工具。
在使用 “dig”工具之前,必须先安装dnsutils包。可以在Raspberry Pi的终端上运行以下命令来安装该软件包。
sudo apt-get install dnsutils
4. 现在要使用dig工具,只需要输入 “dig”,后面跟着一个域名。在下面的示例命令中,我会尝试在 “labno3.com”上使用它。
dig labno3.com
5. 运行这个命令,应该能看到一些文本输出,比如我下面的内容。这段文字告诉你,Raspberry Pi查询该域名的IP地址是什么。
可以看到下面我的是用谷歌公共DNS IP 8.8.8.8进行的,这表明一切都在正常工作,已经成功地改变了Raspberry Pi上的DNS服务器。
;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Dec 23 11:44:52 UTC 2018
;; MSG SIZE rcvd: 75
我希望本教程已经向您展示了如何将树莓派上的DNS服务器更改为像谷歌公共DNS或其他替代DNS。
如果你对这篇关于更改Raspberry Pi DNS设置的指南有任何反馈,那么欢迎在下面留言讨论。
欢迎转载,请留下出处链接:Labno3 » 防止DNS劫持,详细步骤记录树莓派如何配置DNS服务器