Подтвердить что ты не робот

Ошибка AWS - sudo: невозможно решить хост ip-10-0-xx-xx

Я запустил новый экземпляр aws. Мой приватный ip ip-10-0-xx-xx соответствует консоли amazon. Каждый раз, когда я выполняю команду sudo, я получаю следующую ошибку:

sudo: unable to resolve host ip-10-0-xx-xx

Как я могу исправить эту ошибку?

4b9b3361

Ответ 1

Кажется, что он не может разрешить хост, поэтому вы можете помочь ему, добавив эту строку в /etc/hosts

10.0.xx.xx ip-10-0-xx-xx

Ниже приведен ответ с помощью enableDnsHostnames - лучшее решение с помощью

Ответ 2

Эта проблема вызвана не включением enableDnsHostnames в вашу конфигурацию VPC.

enableDnsHostnames

Указывает, будут ли экземпляры, запущенные в VPC, получить имена хостов DNS. Если этот атрибут истинен, экземпляры VPC получают имена хостов DNS; в противном случае они этого не делают. Если вы хотите, чтобы ваши экземпляры получили имена хостов DNS, вы также должны установить для атрибута enableDnsSupport значение true.

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html#vpc-dns-updating

Ответ 3

Это сработало для меня:

Добавьте следующую строку в /etc/hosts

127.0.0.1 ip-xxx-xx-x-xx

IP-адрес - это ваш частный IP-адрес

Ответ 4

enableDnsHostnames, как описано в комментарии Майкла, является одним из предварительных условий. У другого есть параметр VPC настроен правильно настроенный параметр DHCP. Проблема, с которой вы сталкиваетесь, вызвана отсутствием строки search на вашем /etc/resolv.conf; он будет вставлен во время назначения DHCP, если вы установите соответствующий параметр domain-name вашей DHCP. Прочтите связанный документ AWS.

Ответ 5

Может легко удаляться из командной строки следующим образом:

sudo sed -i /etc/hosts -e "s/^127.0.0.1 localhost$/127.0.0.1 localhost $(hostname)/"

И проверил, что перезагрузка или остановка, а затем запуск экземпляра aws сохранит его. Если он потерян, он может легко повторно применяться при загрузке и может быть добавлен в любое положение для новых vms.

Пример

До:

[email protected]:~$ sudo id
sudo: unable to resolve host ip-177-11-22-333
uid=0(root) gid=0(root) groups=0(root)

Fix:

[email protected]:~$ sudo sed -i /etc/hosts -e "s/^127.0.0.1 localhost$/127.0.0.1 localhost $(hostname)/"
sudo: unable to resolve host ip-177-11-22-333

После:

[email protected]:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)
[email protected]:~$

Ответ 6

Два варианта:

  1. Включение имен хостов DNS для вашего VPC, чтобы все экземпляры, запущенные в VPC, разрешали хост

  2. Отредактируйте /etc/hosts и добавьте следующую строку

    127.0.0.1 localhost    
    123.0.0.1 ip-10-0-1-18 ## (Replace with the private ip)
    

Это то, что вам нужно будет сделать для каждого экземпляра, который будет запущен в вашем VPC.

Ответ 7

Моя проблема была вызвана неправильной настройкой параметров DHCP (в консоли VPC). Тип по умолчанию, который вы обычно хотите, выглядит следующим образом:

domain-name = ec2.internal
domain-name-servers = AmazonProvidedDNS

Каким-то образом мое domain-name было изменено на us-east-1.compute.internal, что привело к появлению sudo: unable to resolve host ip-10-0-xx-xx предупреждение sudo: unable to resolve host ip-10-0-xx-xx каждый раз, когда я запускаю sudo. Вернувшись к параметрам DHCP выше, это исправлено.

Ответ 8

Чтобы включить атрибут DnsSupport, просто используйте эту команду в своем терминале

aws ec2 describe-vpc-attribute --vpc-id vpc-****** --attribute enableDnsSupport

Обязательно замените * своим VPC Id для получения дополнительной информации https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-attribute.html