Я схожу с ума, потому что это должно быть легко, особенно если следовать документации Amazon. Я использовал это ссылка с Amazon.
Просто пытаюсь изменить DNS-серверы, которые экземпляр AWS EC2 использует для разрешения доменных имен. Отредактировал / etc / sysconfig / network-scripts / ifcfg-eth0, установил PEERDNS = no, добавил DNS1 = 10.0.0.11, сохранен, перезагружен, без кубиков: все еще смотрите сервер имен 10.0.0.2 в /etc/resolve.conf, тестирование эхо-запрос на полное доменное имя внутреннего сервера (server.mycorp.company.com) завершается ошибкой, поскольку для разрешения имени требуется наш внутренний DNS-сервер. Если я вручную отредактирую resolv.conf и изменю строку сервера имен, чтобы отразить наш DNS-сервер 10.0.0.11, эхо-запросы работают.
На сервере установлен последний AMI Amazon Linux, насколько я могу судить, 2017.03. Завершите / etc / sysconfig / network-scripts / ifcfg-eth0:
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes TYPE=Ethernet USERCTL=yes PEERDNS=no DHCPV6C=yes DHCPV6C_OPTIONS=-nw PERSISTENT_DHCLIENT=yes RES_OPTIONS="timeout:2 attempts:5" DHCP_ARP_CHECK=no DNS1=10.0.0.11
* IP-адреса изменены для защиты невиновных
Я считаю, что документ AWS неверен. Настройка в / etc / sysconfig / network-scripts / ifcfg-eth0 PEERDNS=no
предотвратит любой обновление должно быть отражено в файле resolv.conf. Таким образом, у вас есть 2 варианта:
PEERDNS=yes
и добавить DNS1=
, DNS2=
...PEERDNS=no
и изменить nameserver
прямо в resolv.confПротестировано с Linux AMI 2017.03
Для будущих читателей этого вопроса обратите внимание, что статья AWS в вопросе была заменены другими инструкциями.
Вместо редактирования конкретной конфигурации сетевого интерфейса предлагается изменить конфигурацию DHCP-клиента, чтобы игнорировать DNS-сервер, предоставляемый DHCP.
/etc/dhcp/dhclient.conf
supersede domain-name-servers a.b.c.d, e.f.g.h;
(где a.b.c.d
и e.f.g.h
являются IP-адресами одного или нескольких DNS-серверов).Обычно это вступает в силу при следующей загрузке системы, но вы можете принудительно прочитать его немедленно, перезапустив сетевой интерфейс:
# RedHat based systems (e.g. RHEL, Fedora, CentOS, Amazon Linux)
/etc/init.d/network restart
# Debian based systems (e.g. Debian, Ubuntu)
/etc/init.d/networking restart
Я думаю, проблема здесь в том, что вы пытаетесь заставить EC2 использовать DNS-сервер вне VPC. Я не думаю, что это возможно. Вы используете VPN или просто полагаетесь на подключение к Интернету?
AWS опубликовал способ добиться этого с помощью Несвязанный Преобразователь DNS Вот. Он слишком велик для копирования здесь, но в основном действует как пересылка.