76 windows & mac 连接 linux 上面的 dnsmasq dns服务器, 能够 nslookup 但是 ping 不通

Posted 蓝风9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了76 windows & mac 连接 linux 上面的 dnsmasq dns服务器, 能够 nslookup 但是 ping 不通相关的知识,希望对你有一定的参考价值。

前言

呵呵 前端时间在 我们测试环境 192.168.1.132  搭建了一个 dnsmasq 的一个 dns 服务器, 并增加了 APP_SERVER, app.com 映射到 192.168.1.132 

然后 另外的一台 linux 测试服务器在 /etc/resolve.conf 里面加入了 dns 服务器的配置之后, 就能够正确的解析到 域名 了 

但是在使用 mac 和 windows 机器配置了 dns 服务器为 192.168.1.132  的时候, 似乎是 都不行?? 

这个 让我一度很不能理解, nslookup 能够解析这个域名, 但是 ping 缺 ping 不通 ? 

这里就不具体介绍 dnsmasq 的配置了, 主要需要关注的是 bind-address 的配置, 配置为其他机器连接该服务器的 ip 

windows 操作系统为 win10 

mac 操作系统为 Mojave 

windows 机器

首先 nslookup APP_SERVER 是可以看到解析之后的 ip 和 具体的dns服务器 的信息, 但是 ping 的时候就没了 

C:\\Users\\MyPC>ping APP_SERVER
Ping 请求找不到主机 APP_SERVER。请检查该名称,然后重试。

然后 windows 这个在偶然的情况下 找到了一篇文章看了一下, 试了试, 呵呵 果然是这样, 似乎在 windows 上面是否是域名的规则为 是否包含 ".", 如果不包含 ".", 尝试将该名称当做主机名, 包含 "." 则识别为域名 

然后 “ping APP_SERVER.” 又或者是 "ping app.com" 是能够正常作用的 

内网域名 在windows下能nslookup,但ping不通,也无法访问。而在linux下正常。...
dns-problem-nslookup-works-ping-doesnt
C:\\Users\\MyPC>ping app.com
正在 Ping app.com [192.168.1.132] 具有 32 字节的数据:
来自 192.168.1.132 的回复: 字节=32 时间=7ms TTL=64
来自 192.168.1.132 的回复: 字节=32 时间=10ms TTL=64
192.168.1.132 的 Ping 统计信息:
    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 7ms,最长 = 10ms,平均 = 8ms
Control-C
^C
C:\\Users\\MyPC>ping APP_SERVER
Ping 请求找不到主机 APP_SERVER。请检查该名称,然后重试。
C:\\Users\\MyPC>ping APP_SERVER.
正在 Ping APP_SERVER [192.168.1.132] 具有 32 字节的数据:
来自 192.168.1.132 的回复: 字节=32 时间=2ms TTL=64
来自 192.168.1.132 的回复: 字节=32 时间=2ms TTL=64
192.168.1.132 的 Ping 统计信息:
    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 2ms,最长 = 2ms,平均 = 2ms
Control-C
^C

mac 机器 

在 /etc/resolve.conf 里面将 nameserver 配置成了 192.168.1.132 

然后 同样的效果, nslookup 能够解析域名, 但是 ping 不通 

这里我抓了一下 dns 的包, 呵呵 原来 ping 的时候发送的请求 根本不是我在 /etc/resolve.conf 里面配置的 192.168.1.132, 发送的目标及其是默认网关 

# nslookup 发送的 dns 请求
173	26.519451	192.168.1.129	192.168.1.132	DNS	70	Standard query 0xc72b A APP_SERVER
174	26.527552	192.168.1.132	192.168.1.129	DNS	94	Standard query response 0xc72b A APP_SERVER A 192.168.1.132

# 但是使用 ping 的时候, 目标服务器是 192.168.1.1
606	98.018415	192.168.1.129	192.168.1.1	DNS	70	Standard query 0x6097 A APP_SERVER
607	98.060187	192.168.1.1	192.168.1.129	DNS	78	Standard query response 0x6097 No such name A APP_SERVER

呵呵 最后找了一下 mac 的官方设置文档, 设置 dns, 呵呵 操作了一下 然后 就能够 ping 通了 

后来想了一下, 应该是 mac 上面 ping 使用的是另外的一个地方的配置, 通过 界面操作修改的就是这个地方的配置 

nslookup 取得应该直接是 /etc/resolve.conf 里面的配置去尝试解析域名 

在 Mac 上指定 DNS 服务器

网络 - Wifi - 高级 - DNS 选项卡 

参考

内网域名 在windows下能nslookup,但ping不通,也无法访问。而在linux下正常。...

dns-problem-nslookup-works-ping-doesnt

在 Mac 上指定 DNS 服务器

以上是关于76 windows & mac 连接 linux 上面的 dnsmasq dns服务器, 能够 nslookup 但是 ping 不通的主要内容,如果未能解决你的问题,请参考以下文章

76 windows & mac 连接 linux 上面的 dnsmasq dns服务器, 能够 nslookup 但是 ping 不通

Mac 下永久路由的添加 & Mac 校园网连接教程

苹果Mac电脑永久路由的添加 & Mac 校园网连接教程

npm下scripts执行多条命令下mac与windows的差异

leetcode@ [30/76] Substring with Concatenation of All Words & Minimum Window Substring (Hashtab

oeasy教您玩转vim - 76 - # Session会话