Nic*_*ick 6 networking dns debian dig
我正在运行薄荷伴侣 17.2。
当我使用dig时,对于某个特定的域名,解析出的IP“应答”是错误的,应答服务器是127.0.0.1.
尝试通过 ssh、Web 浏览器等从我的本地计算机访问此域也解析为错误的 IP。
使用在线工具或其他计算机进行 DNS 查找工作正常。
本地机器上的某些东西正在拦截请求并返回错误的缓存结果。我查看了各种缓存程序,但我认为我没有安装或配置任何缓存程序。
返回的 IP 地址是旧 IP,并且主 DNS 记录在一年前更改。
如何确定哪个程序在本地拦截 DNS 并禁用它,以便我可以在我的计算机上正确解析此域?
/etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
Run Code Online (Sandbox Code Playgroud)
Resolvconf 将其指向在本地机器的端口 53 中运行的本地软件。
找出哪一个:
sudo netstat -anlp | grep :53
Run Code Online (Sandbox Code Playgroud)
正如我们所发现的,它是 avahi 守护进程。
要跟踪 DNS 解析,以下命令也很有用:
dig +trace www.cnn.com
Run Code Online (Sandbox Code Playgroud)
如果您想自己控制 DNS 设置,特别是在服务器情况下(我注意到您说的是 Mint),我建议您取消 resolvconf
您可以使用以下命令卸载它:
dpkg --purge resolvconf
Run Code Online (Sandbox Code Playgroud)
然后,如果您通过 DHCP 获得 IP,请保持原样,否则在 /etc/resolv.conf 中填写您的 DNS 服务器。
如果您对 mDNS 解析或公司网络不感兴趣,我建议您卸载 avahi。
在桌面设置中,建议重新启动或重新启动所有服务。我至少会用service networking restart.
Avahi mDNS/DNS-SD 守护进程实现了 Apple 的 Zeroconf 架构(也称为“Rendezvous”或“Bonjour”)。该守护进程使用 mDNS/DNS-SD 注册本地 IP 地址和静态服务,并为本地程序提供两个 IPC API,以利用 avahi-daemon 维护的 mDNS 记录缓存。
在工作环境中,在宣布 mDNS 记录的网络级服务器/工作站上进行跟进可能也很有趣,如果它们是绝对必要的。我敢打赌,某些丢失的主机文件或某些旧的服务器设置正在通过 mDNS 传播您的旧 IP 地址。
您还可以使用以下命令侦听本地网络 mDNS 数据包:
sudo tcpdump -n udp port 5353
Run Code Online (Sandbox Code Playgroud)
来自mDNS
多播域名系统 (mDNS) 将主机名解析为不包括本地名称服务器的小型网络中的 IP 地址。它是一种零配置服务,使用与单播域名系统 (DNS) 基本相同的编程接口、数据包格式和操作语义。尽管 Stuart Cheshire 将 mDNS 设计为具有独立功能,但它可以与单播 DNS 服务器协同工作。
| 归档时间: |
|
| 查看次数: |
4861 次 |
| 最近记录: |