在本地虚拟机中部署DNS后应如何配置网络?
本帖最后由 BetaHT 于 2023-2-22 16:53 编辑如图所示。将PC的DNS指向.33后,发现nslookup可以查到正确ip,可以ping通ip,但是无法ping通域名。
而且查看路由表,默认路由是走10.22.33.0的
我理解PC向DNS发请求,DNS响应后,PC应该是再拿着IP地址向默认网关发送请求,按说路都是通的。是哪里有误呢?
半破案了。要点有二,一是PING是向默认网关发起的DNS请求,并非使用windows默认的dns地址。二是windows(win11)的dns设置似乎影响路由表中默认网关的设置并有延迟生效的现象。待我再实验一下。
基本结案。仍并不知道为什么windows会弄出这个网络配置。
关键信息:
路由表里缺少了PC到我的DNS的路由项。根据PING的工作原理,PING用ARP获取了10的默认网关,并把DNS发了过去。而正好我的10网里,网关上没有配置DNS项,因此PING解析不到IP,就无法访问。
当我在192的网关上配置上了.33的DNS,这里win会往路由表里加一条默认网关项去192网。这样PING就能够解析,拿到IP后就成功了。如果直接PING DNS的IP,因为有192的路由表项,因此PING DNS是通的。
然后,当我删除192网关上的.33DNS设置后,win并不会(至少不会立刻)删除这条去192的默认网关项。非常amazing。说明这里给192网关加.33并不是必须的,而是用它让win在路由表里加一条去192的默认项。
后来我netsh ipv4 reset了,重新部署了一次,还是一样,关键是得有一条0.0去192的路由项,否则ping不通。
总结:如果发现ping ip通,ping域名不通,请检查路由表项的默认网关项,确认默认网关或者其上游可否解析域名。
有没有一种可能baidu禁ping了 重启系统?还是不行的话用Wireshark抓包看看ping时发了啥请求? Saber001 发表于 2023-2-22 11:57
有没有一种可能baidu禁ping了
禁ping不会找不到主机只会超时,找不到主机一般都是dns出问题了 PING是向默认网关发起的DNS请求这个确定吗? 你的这个dns解析是非权威应答,自建的这个查询baidu时还是向上级dns服务做了请求 192.168.137.33这台DNS要能上网才行,否则只解析你设置的本地DNS纪录,看看添加了第二个DNS地址没有。我在win server DNS服务器上的网卡主DNS填写127.0.0.1,第二DNS写网关路由IP,其他机器用这个DNS访问外网每问题 先在你的DNS上ping一下baidu试试。
页:
[1]