У меня есть сервер на Amazon, который обычно работает как чемпион; после увеличения размера экземпляра в эти выходные, а затем уменьшения его до нормального размера, я начал получать странные ошибки каждый раз, когда запускаю команду под sudo
. Вот пример:
sudo ps -ef
sudo: unable to resolve host domU-##-##-##-##-##-##
Где # - это число. Важно отметить затем команда выполняется, как ожидалось. Я подумал, что в моем файле hosts может быть что-то странно связанное, поэтому я взглянул на это:
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
И это кажется вполне нормальным, хотя я не знаю достаточно, чтобы быть уверенным. Может ли кто-нибудь пролить свет на эту повторяющуюся ошибку и как ее исправить?
Убедитесь, что ваше имя хоста находится в / etc / hostname. Чтобы увидеть, что там сейчас, вы можете запустить hostname -f или cat / etc / hostname.
Когда вы перемещаете свои экземпляры EC2, вы теряете свое имя хоста, поэтому оно больше не совпадает с именем хоста во время установки Ubuntu.
Похоже, вы используете неправильный DNS Amazon.
Если ваш экземпляр EC2 находится в VPC 172.31.0.0
, вам следует использовать DNS 172.31.0.2
. Поэтому к последнему числу нужно «прибавить два».
Только DNS вашего VPC будет отвечать на ваше локальное имя хоста ip-XXX-XXX-XXX-XXX
.
Из документации:
Строка AmazonProvidedDNS сопоставляется с DNS-сервером, работающим на зарезервированном IP-адресе на основе диапазона сети VPC «плюс два». Например, DNS-сервер в сети 10.0.0.0/16 расположен по адресу 10.0.0.2.
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS
У меня возникла эта проблема, когда я скопировал настройки из одной зоны доступности в другую. Набор опций DHCP для моего VPC указывал на us-west-1, но мой новый VPC находился в us-west-2. В результате, когда машина была запущена, сценарии EC2, которые настраивали машину, помещали это в мой файл 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 10.0.0.2
search us-west-1.compute.internal
После создания нового параметра DHCP, установленного с помощью domain = us-west-2.compute.internal, и его применения к моему VPC, после перезапуска экземпляра EC2 файл 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 10.0.0.2
search us-west-2.compute.internal
(обратите внимание на us-west-2 во втором блоке по сравнению с us-west-1 в первом), и я больше не получал ошибку «не удается разрешить хост».