我正在尝试了解我的机器上的路由。
在我的虚拟机上,地址解析sandbox-hdp-security
为127.0.0.1
.
> dig sandbox-hdp-security
;; ANSWER SECTION:
sandbox-hdp-security. 600 IN A 172.18.0.2
;; Query time: 305 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
(为便于阅读,对部分回复进行了编辑)
127.0.0.11
我看到这个地址通过(DNS)解析为IP 。它看起来像本地 IP 地址,并且正如预期的那样,网络中的其他计算机没有127.0.0.1
通过类似dig
命令指向。
我怀疑这个 DNS 是我的机器本地的(互联网来源表明它是由 Docker 创建的,但据我所知,我不在我的虚拟机上使用 Docker)。
如果这是真的(它是本地 DNS),那么我认为它的配置应该在这台机器上,我可能应该能够找到它、读取它并更改它。
我怎样才能做这样的事情呢?
附言。我尝试解决这个问题- 有关我的设置的更多详细信息。如果需要更多信息,我会更新我的问题。
编辑(1):
它是在 Oracle VM VirtualBox 上运行的 Hortonworks Sandbox:
> uname -a
Linux sandbox-hdp.hortonworks.com 4.17.2-1.el7.elrepo.x86_64 #1 SMP Sat Jun 16 11:18:11 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux
> cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
答案1
背景
是的,127.0.0.11 是可能在 Hortonworks VM 中运行的 DNS 服务器的本地实例。它正在侦听端口 53。您可以通过响应中的这一行知道这一点dig
:
;;服务器:127.0.0.11#53(127.0.0.11)
本地主机*
大多数人惊讶地发现 localhost 不仅仅有众所周知的 IP 127.0.0.1。它实际上是/8
地址空间方面的:
$ ip a l lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
因此,诸如 127.0.0.2 等地址都是系统可以在内部用于任何认为必要的用途的地址。在这种情况下,DNS 服务器绑定到该 IP 地址上的端口 53。
SS
您可以通过使用命令查找来确认ss
:
$ ss -ltpn '( sport = :53 )' | less
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 5 *:53 *:* users:(("dnsmasq",pid=24086,fd=7))
LISTEN 0 5 :::53 :::* users:(("dnsmasq",pid=24086,fd=9))
(END)
在上面我们可以看到dnsmasq
PID 24086是正在监听端口53的进程。
拉索夫
一旦我们知道了 PID,我们就可以开始查看它以找出它正在使用哪些文件:
$ lsof -p 24086 | grep -E '/etc|/var'
dnsmasq 24086 dnsmasq 3u REG 179,2 1103 128324 /etc/pihole/dhcp.leases
dnsmasq 24086 dnsmasq 13w REG 179,2 3201111 20530 /var/log/pihole.log
笔记:请记住,大多数服务守护进程通常会打开其配置文件,读取它们,然后关闭它们,因此如果我们在上面的输出中没有看到任何配置文件,请不要惊慌。
从上面的内容中,您可以按照日志文件来了解如何重新配置您正在处理的任何 DNS 服务器。