步骤/目录:
1.常用DNS
2.更换DNS
3.添加解析记录

本文首发于个人博客https://lisper517.top/index.php/archives/37/,转载请注明出处。
本文的目的是为树莓派更换DNS。
本文实验日期为2022年8月27日。本文使用的树莓派为 4B 8GB 版,系统镜像是Pi OS的64位桌面版,名为 2022-04-04-raspios-bullseye-arm64.img

1.常用DNS

DNS,即 Domain Name Server(域名服务器),是可以将域名与IP进行转换的服务器。ip地址是xxx.xxx.xxx.xxx的格式、由数字组成,而我们访问网页时的域名显然更好记一些,但最终域名必须转换成ip,网络请求才能找到目的地,这就是DNS发挥作用的地方。DNS也需要通过ip访问,下面是一些常用的DNS(排名表示推荐程度)。
国外:

(1)Cloudflare DNS
1.1.1.1
1.0.0.1
2606:4700:4700::1111 #IPv6的DNS
2606:4700:4700::1001

(2)谷歌
8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844

(3)微软
4.2.2.1
4.2.2.2

(4)Norton ConnectSafe
199.85.126.10
199.85.126.20
199.85.126.30
199.85.127.10
199.85.127.20
199.85.126.30

(5)OpenDNS
208.67.222.222
208.67.220.220

(6)DNS Watch
84.200.69.80
84.200.70.40

(7)Comodo安全DNS
8.26.56.26
8.20.247.20

(8)威瑞信
64.6.64.6
64.6.65.6

(9)OpenNIC
192.95.54.1
192.95.54.3

(10)GreenTeamDNS
81.218.119.11
209.88.198.133

国内:

(1)114DNS(http://www.114dns.com/)
114.114.114.114
114.114.115.115

(2)腾讯(https://www.dnspod.cn/Products/Public.DNS)
119.29.29.29
182.254.118.118

(3)阿里(http://alidns.com/)
223.5.5.5
223.6.6.6

(4)百度(http://dudns.baidu.com/intro/publicdns/)
180.76.76.76

(5)CNNIC(http://www.sdns.cn/)
1.2.4.8
210.2.4.8

2.更换DNS

DNS其实起到一个指路的作用,当你访问域名时指向对应的ip。但是有时候可能因为一些原因,DNS故意或无意间指错路了,就被称为 DNS污染 、 DNS劫持 ,这会让我们无法访问到正确的服务器,非常的危险。更换DNS为一些靠谱的DNS可以一定程度上规避这个问题。下面就以google的 8.8.8.8 和 8.8.4.4 为例,展示如何更换为这两个DNS。

(0)路由器更换DNS

登录路由器后台,一般都可以手动设置DNS,这样最方便。

(1)windows系统

在 设置 - 网络和Internet - 以太网 - (右上角)更改适配器选项 ,这里可以看到自己的网络连接,可能有无线、有线连接,看一下自己目前用的哪个网络,左下角没有红色叉的是正在使用的网络。对正在用的网络单击鼠标右键,点击 属性 ,点击下面的框里的 Internet协议版本 4 (TCP/IPv4) ,点击右下的 属性 - 常规 - 使用下面的DNS服务器地址 ,填入谷歌DNS。
这实际上是设置了单个网络连接的DNS。如果同时使用有线、无线连接,最好把两个网络连接的DNS都设置一下;如果到新的地方、连接到新的网络,则也需要同样更改新网络连接的DNS。

(2)linux系统(以树莓派为例)

linux系统里一般都可以通过更改 /etc/resolv.conf 这个文件来更改DNS,具体的方法是在这个文件末尾加上:

nameserver 8.8.8.8
nameserver 8.8.4.4

并把原来的 nameserver 192.168.1.1 等之类的行删掉,或者也可以不删。但是这只是临时更改DNS,因为 /etc/resolv.conf 这个文件在每次开机后里面的内容都会由系统根据系统设置重写,所以开机后原来的设置就会丢失。不过一般这个文件前面的注释里都会提示如何永久更改DNS,像树莓派的这个文件,注释只有一行:

# Generated by resolvconf

resolvconf 是一个DNS相关的命令,用 whereis resolvconf 可以看到它的可执行文件位置是 /usr/sbin/resolvconf ,另外还可以看到有一个 /etc/resolvconf.conf 配置文件,实际上这个配置文件可以更改 resolvconf 这个命令的设置。
进行以下操作:

nano /etc/resolvconf.conf

根据注释的提示,把其中:

#name_servers=

这一行改为:

name_servers="8.8.8.8 8.8.4.4"

然后用 reboot 重启树莓派,再次查看 /etc/resolv.conf ,发现前面增加了谷歌的两个nameserver,最后则是 192.168.1.1 (也可能是其他地址),即路由器的局域网地址。

其他linux发行版也是大同小异, /etc/resolv.conf 这个文件的注释一般都会有提示,比如在 Docker实践——用于小诊所的开源医疗记录系统 这篇文章中就用到了OpenSUSE发行版,提示把 /etc/sysconfig/network/config 这个文件中的 NETCONFIG_DNS_STATIC_SERVERS="" 改成了 NETCONFIG_DNS_STATIC_SERVERS="8.8.8.8 8.8.4.4" 。实在不会的,可以自行用bing搜索。

3.添加解析记录

上面的方式可以更换DNS。有时想通过域名访问局域网的机器(比如想把 mycomputer.com 绑定到 192.168.1.10 ),也是可以做到的。

(0)路由器设置解析记录

有少部分路由器支持。如果刷了openwrt,也可以设置,这里不讲解了。

(1)电脑设置

如果路由器无法设置,可以找到hosts文件,它的路径:

Windows下,在 C:\Windows\System32\drivers\etc\hosts 
Linux下,在 /etc/hosts

按照里面的例子,添加一条解析记录即可。这样,在该电脑上,就能通过域名访问内网机器。

标签: 树莓派, DNS

添加新评论