1

背景

有天忽然公司的网络里面默认 DNS 变成了 8.8.8.8 会被墙掉,导致百度之类的网站都不能正常打开(除了少数机器可能本地有缓存或者翻墙了的)。那么电脑上默认的那个设置是那里来的呢?

在搜索的时候看到别人说的“suggested by the router”,在路由器里也有看到设置的地方。所以应该有关。在这篇文章中也发现了关键的内容:个人如何防御近一年流行的路由器DNS劫持攻击 - 懒人在思考 - 知乎专栏

这里大家注意下:修改DNS请修改DHCP服务器里的,当DHCP没有设置DNS的时候,是继承WAN口的DNS的。如果DHCP设置了DNS,WAN口怎么改都没有用的,改WAN口可能导致别人网络故障,这个我不清楚。

后来同事也指出 DHCP 百度百科里的:

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

测试

修改了路由器设置之后好像并没有生效。过了些时候想要去验证一下,就想到了可以 WireShark 抓 DHCP 的包,DHCP 使用 UDP 协议,67、68 端口,用 BOOTP 做传输层协议。

只添加一个 Capture Filter: port 67 or port 68,再去续租 DHCP 就好了。顺便还大概知道了 DHCP 是怎么工作的。任何设备都是 from 0.0.0.0 to 255.255.255.255,能看到所有设备发出的 DHCP 请求。

抓包的时候发现接收到 114.114.114.114 的设置了:

图片描述

PS. Mac 里可以 cat /etc/resolv.conf 看到当前的 DNS 设置。

暂且先这样。

参考

其他:


常伟佳
310 声望16 粉丝