亲爱的Linux Graybeards,
127.0.0.1是使用DHCP推送的DNS设置时Ubuntu 14 LTS中resolvconf的神奇令牌吗?
我正在使用AWS(ami-0f8bce65)中的Ubuntu 14.0.3(LTS)和我的VPC的DHCP选项中的自定义DNS设置。 只有当值不包括回送适配器时,我才可以通过AWS VPC中的DHCP选项将多个DNS服务器推送到Ubuntu。
推送127.0.0.1作为DNS服务器似乎导致Ubuntu忽略所有后续名称服务器。
例如,如果我将DHCP选项configuration为使用8.8.4.4和AmazonProvidedDNS (例如,在我的VPC中为172.24.0.2 ),我可以在/etc/resolve.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 8.8.8.8 nameserver 8.8.4.4 nameserver 172.24.0.2
但是,将DNS服务器设置为AmazonProvidedDNS和AmazonProvidedDNS导致:
# 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 8.8.8.8 nameserver 127.0.0.1
第二个示例中缺less期望值172.24.0.2 。
我确认这不是他们的DHCP服务器的AWS问题。 dhcpdump确认DHCP服务器正在响应8.8.8.8,127.0.0.1,172.24.0.2作为DNS服务器:
ubuntu@ip-172-24-0-13:~$ sudo dhcpdump -i eth0 & [1] 1742 ubuntu@ip-172-24-0-13:~$ sudo: unable to resolve host ip-172-24-0-13 sudo dhclient -v eth0 sudo: unable to resolve host ip-172-24-0-13 Internet Systems Consortium DHCP Client 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/0e:fa:a9:1e:38:c1 Sending on LPF/eth0/0e:fa:a9:1e:38:c1 Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0xd6248a3f) DHCPREQUEST of 172.24.0.13 on eth0 to 255.255.255.255 port 67 (xid=0x3f8a24d6) DHCPOFFER of 172.24.0.13 from 172.24.0.1 DHCPACK of 172.24.0.13 from 172.24.0.1 RTNETLINK answers: File exists bound to 172.24.0.13 -- renewal in 1361 seconds. ubuntu@ip-172-24-0-13:~$ TIME: 2015-11-18 20:38:09.837 IP: 0.0.0.0 (e:fa:a9:1e:38:c1) > 255.255.255.255 (ff:ff:ff:ff:ff:ff) OP: 1 (BOOTPREQUEST) HTYPE: 1 (Ethernet) HLEN: 6 HOPS: 0 XID: d6248a3f SECS: 0 FLAGS: 0 CIADDR: 0.0.0.0 YIADDR: 0.0.0.0 SIADDR: 0.0.0.0 GIADDR: 0.0.0.0 CHADDR: 0e:fa:a9:1e:38:c1:00:00:00:00:00:00:00:00:00:00 SNAME: . FNAME: . OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER) OPTION: 12 ( 14) Host name ip-172-24-0-13 OPTION: 55 ( 13) Parameter Request List 1 (Subnet mask) 28 (Broadcast address) 2 (Time offset) 3 (Routers) 15 (Domainname) 6 (DNS server) 119 (Domain Search) 12 (Host name) 44 (NetBIOS name server) 47 (NetBIOS scope) 26 (Interface MTU) 121 (Classless Static Route) 42 (NTP servers) --------------------------------------------------------------------------- TIME: 2015-11-18 20:38:09.839 IP: 172.24.0.1 (e:56:f6:92:57:f3) > 172.24.0.13 (e:fa:a9:1e:38:c1) OP: 2 (BOOTPREPLY) HTYPE: 1 (Ethernet) HLEN: 6 HOPS: 0 XID: d6248a3f SECS: 0 FLAGS: 0 CIADDR: 0.0.0.0 YIADDR: 172.24.0.13 SIADDR: 0.0.0.0 GIADDR: 0.0.0.0 CHADDR: 0e:fa:a9:1e:38:c1:00:00:00:00:00:00:00:00:00:00 SNAME: . FNAME: . OPTION: 53 ( 1) DHCP message type 2 (DHCPOFFER) OPTION: 54 ( 4) Server identifier 172.24.0.1 OPTION: 51 ( 4) IP address leasetime 3600 (60m) OPTION: 1 ( 4) Subnet mask 255.255.255.240 OPTION: 28 ( 4) Broadcast address 172.24.0.15 OPTION: 3 ( 4) Routers 172.24.0.1 OPTION: 6 ( 12) DNS server 8.8.8.8,127.0.0.1,172.24.0.2 OPTION: 12 ( 14) Host name ip-172-24-0-13 OPTION: 26 ( 2) Interface MTU 9001 ---------------------------------------------------------------------------
127.0.0.1是一个用于resolvconf的神奇令牌
我没有可用的Ubuntu 14系统,但是在大多数版本的resolvconf上它是“神奇的”。
特别是在文件/etc/resolvconf/update.d/libc有一个variables$TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS ,如果保持默认状态,将导致回送取代任何其他设置。 如果绑定或DNSMasq在您的系统上,并且正在设置名称服务器在resolvconf接口顺序中得到非常高的应用的127.0.0.1 ,并且您几乎总是只有127.0.0.1 。
如果要更改此行为,请尝试创build文件/etc/default/resolvconf并设置TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS=y 。