Каков предпочтительный способ установки resolvconf в Ubuntu в ec2?

Я использовал Ubuntu 10.04.3 или 11.04. В любой из этих версий имена хостов, такие как ec2-123-45-6-7.compute-1.amazonaws.com, будут преобразованы в приватные в диапазоне 10.0.0.0/8. После обновления до 12.04 они теперь преобразуются в публичные адреса.. например, 184.1.2.3. Кажется, это потому, что Ubuntu теперь использует resolvconf. Также кажется, что я бегу по имени.

# more /run/resolvconf/interface/eth0.dhclient
domain ec2.internal
nameserver 172.16.0.23
# more /run/resolvconf/interface/lo.named
nameserver 127.0.0.1

/etc/resolv.conf является символической ссылкой на /run/resolvconf/resolv.conf

 more /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.0.1
 search ec2.internal

Если я отредактирую resolv.conf так, чтобы он указывал на 172.16.0.23 вместо 127.0.0.1, он работает правильно, но после перезагрузки он возвращается обратно.

Кроме того, вот содержимое /etc/resolvconf/resolv.conf.d

/etc/resolvconf/resolv.conf.d# more base
nameserver 172.16.0.23
domain ec2.internal
search ec2.internal

/etc/resolvconf/resolv.conf.d# more head
# 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

/etc/resolvconf/resolv.conf.d# more original
nameserver 172.16.0.23
domain ec2.internal
search ec2.internal

# more interface-order
# interface-order(5)
lo.inet*
lo.dnsmasq
lo.pdnsd
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
eth*
ath*
wlan*
ppp*
*

Кажется, что файлы конфигурации настроены правильно, но он продолжает возвращаться к 127.0.0.1. Я предполагаю, что он хочет указать на 127.0.0.1, чтобы он мог использовать локальную именованную службу, которая кажется очень странной для Ubuntu по установке и использованию по умолчанию.

Что я делаю неправильно? Есть ли "предпочтительный" способ сделать это, вместо того, чтобы связываться с resolvconf, если я получу правильное разрешение локальной именованной службы?

1 ответ

Решение
  • Сделайте /etc/resolvconf/resolv.conf.d/base пустым. Информация в нем предоставляется динамически dhclient для resolvconf.

  • Если вам не нужно работать named локально удалите пакет bind9.

  • Если вам нужно бежать named локально, и вы не хотите использовать его для локального разрешения имен, установите RESOLVCONF=no в /etc/default/bind9 и перезагрузите компьютер. Установка RESOLVCONF=no заставляет bind9 не регистрировать адрес 127.0.0.1 с resolvconf при запуске named.

Ссылка: https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/933723

Другие вопросы по тегам