背景
有天忽然公司的网络里面默认 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 设置。
暂且先这样。
参考
其他:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。