![将 MAAS 设置为管理私有 IP 范围内子网上的 DNS,为什么只有某些节点具有 DNS 条目?](https://linux22.com/image/854279/%E5%B0%86%20MAAS%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%E7%AE%A1%E7%90%86%E7%A7%81%E6%9C%89%20IP%20%E8%8C%83%E5%9B%B4%E5%86%85%E5%AD%90%E7%BD%91%E4%B8%8A%E7%9A%84%20DNS%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AA%E6%9C%89%E6%9F%90%E4%BA%9B%E8%8A%82%E7%82%B9%E5%85%B7%E6%9C%89%20DNS%20%E6%9D%A1%E7%9B%AE%EF%BC%9F.png)
我正在尝试使用 Trusty 在 MAAS 上设置 OpenStack。
我将这些机器桥接/交换在一起,形成一个网络。我已将 MAAS 设置为 192.168.7.200,在 192.168.7.201 处有一台 Juju 客户端机器,在 192.168.7.199 处有一台“普通”笔记本电脑。我已将 MAAS 设置为使用 192.168.7.32-192.168.7.195。我还将路由器 192.168.7.1/24 设置为路由 192.168.64.1/19,我打算稍后使用它。我已将 MAAS 设置为管理 DNS 和 DHCP。
我继续引导 Juju,并且成功了。从我的 Juju 客户端机器,我可以 ping Juju 引导节点:
juju status
environment: maas
machines:
"0":
agent-state: started
agent-version: 1.18.2
dns-name: c3enj.maas
instance-id: /MAAS/api/1.0/nodes/node-d4feaf72-d658-11e3-8737-525400671a47/
series: trusty
"1":
agent-state: started
agent-version: 1.18.2
dns-name: 3epj7.maas
instance-id: /MAAS/api/1.0/nodes/node-37735c5c-d659-11e3-818d-525400671a47/
series: trusty
services:
juju-gui:
charm: cs:trusty/juju-gui-2
exposed: true
units:
juju-gui/0:
agent-state: started
agent-version: 1.18.2
machine: "1"
open-ports:
- 80/tcp
- 443/tcp
public-address: 3epj7.maas
erik@openstackjuju:~$ ping c3enj.maas
PING 192-168-7-184.maas (192.168.7.184) 56(84) bytes of data.
64 bytes from 192-168-7-184.maas (192.168.7.184): icmp_seq=1 ttl=64 time=0.661 ms
64 bytes from 192-168-7-184.maas (192.168.7.184): icmp_seq=2 ttl=64 time=0.730 ms
^C
--- 192-168-7-184.maas ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.661/0.695/0.730/0.043 ms
erik@openstackjuju:~$ ping 3epj7.maas
ping: unknown host 3epj7.maas
erik@openstackjuju:~$ cat /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 192.168.7.200
nameserver 192.168.7.200
search maas
我不明白这是怎么回事。DNS 应该如何设置?
我要说的是,我一开始在 MAAS 中的“新节点的默认域”框中什么都没有设置,但后来在联系引导节点时遇到了一些 DNS 查找问题,所以我决定重新开始。我从 MAAS 中删除了所有机器,将设置设置为“vcluster.erikbandersen.com”,然后擦除/重置节点上的硬盘,并重新运行 PXE 启动和调试过程。我将 vcluster.erikbandersen.com 设置为具有指向 MAAS 服务器的 NS 记录(尽管它是一个私有 IP 地址,192.168.7.200,因此递归名称服务器无法解析查询)。如前所示,我的 Juju 客户端机器设置为直接向 MAAS 服务器查找 DNS 查询,因此它应该能够通过直接转到源来解析查询而不会遇到麻烦,而不是要求无法到达私有 IP 范围的递归名称服务器为其解析地址。正如您所看到的,我可以直接使用 dig 查询 MAAS DNS 服务器,它不会返回该机器的任何记录。
erik@openstackjuju:~$ dig a 3epj7.maas
; <<>> DiG 9.9.5-3-Ubuntu <<>> a 3epj7.maas
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 54842
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;3epj7.maas. IN A
;; AUTHORITY SECTION:
maas. 300 IN SOA maas. nobody.example.com. 127 600 1800 604800 300
;; Query time: 0 msec
;; SERVER: 192.168.7.200#53(192.168.7.200)
;; WHEN: Wed May 07 21:08:58 PDT 2014
;; MSG SIZE rcvd: 93
erik@openstackjuju:~$ dig a c3enj.maas
; <<>> DiG 9.9.5-3-Ubuntu <<>> a c3enj.maas
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6111
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;c3enj.maas. IN A
;; ANSWER SECTION:
c3enj.maas. 300 IN CNAME 192-168-7-184.maas.
192-168-7-184.maas. 300 IN A 192.168.7.184
;; AUTHORITY SECTION:
maas. 300 IN NS maas.
;; ADDITIONAL SECTION:
maas. 300 IN A 192.168.7.200
;; Query time: 0 msec
;; SERVER: 192.168.7.200#53(192.168.7.200)
;; WHEN: Wed May 07 21:09:07 PDT 2014
;; MSG SIZE rcvd: 113
我在这里遗漏了什么?为什么在我将 DNS 设置设置为使用“vcluster.erikbandersen.com”作为 DNS 的(后缀?)修复后,名称不是采用“3epj7.vcluster.erikbandersen.com”格式,而是变成“3epj7.maas”?此外,为什么 MAAS 服务器本身会回答部分地址的 DNS 查询,但不是全部?有没有办法进一步调试?
这是一个调试报告使用 sosreport 生成。