1、有同事问解析内网url里的域名失败,bug.raisecom.com,问原因和解决方法?
他说,设置固定ip,dns失败,ip设置为自动获取,但dns如下图就是ok的?
告诉他,首选dns是内部dns,上面做了静态dns表项设置,会把设置内网域名映射为内网地址,但有时pc会选到备用dns服务器公网dns地址上去,造成无法查询到dns内容,导致dns查询失败。让他抓包看看,是否走了公网dns上去了?
具体,让他cmd下执行ipconfig/flushdns,然后ping bug.raisecom.com,然后抓包里过滤dns contains raisecom || icmp。
回显查询失败,发现走了公网dns。
Pc选dns的次序问题,我不知道是什么机制,让他把备用dns删掉,只保留内网dns后,问题解决。
2、另有一同事反馈,能用微信,但上不了网,ping baidu.com不通,如下图:
看结果,dns出的是一个内网地址,怎么会这样?
看他的设置
看着dns设置的内网192.168.212.1没有问题,抓包看看。
cmd下ipconfig/flushdns清掉dns缓存,ping baidu.com,然后在wireshark里查看对应的过滤项dns contains baidu || icmp看看dns和ping的结果?
发现dns走了ipv6协议,而且环境中的dns服务器回了baidu.com的ip是192.168.1.1,导致ping发出,走了网关的默认路由出去了,超时没有应答回来,显示time out。
环境中,人多手杂,无法查询是那个设备,让把ipv6协议关掉后观察。
反馈,去掉ivp6协议后,正常了。
总结:
Pc设置两个dns时,有时会切换到第二dns去查询地址,具体的切换机制不清楚。
当ipv6网关设置后,下面开发ipv6的设备会被改变dns的发送反向到ipv6设备上去,导致查询失败。