Я пытаюсь заставить мою систему разрешать адреса IPv4 через соединение IPv6, потому что мое соединение IPv6 является более безопасным (да, это действительно так. Долгая история). Сервер имен IPv6 разрешает адреса IPv4; он отлично работает с инструментом командной строки «копать».
Однако графический интерфейс NetworkManager не принимает адреса IPv6 для DNS IPv4. Некоторые руководства рекомендуют редактировать /etc/resolv.conf, но в Ubuntu этот файл имеет уведомление о том, что файл будет перезаписан и не должен редактироваться.
Есть ли способ убедить какую-то часть NetworkManager, что я действительно хочу использовать IPv6 DNS для IPv4? Или, может быть, есть какой-то файл, отличный от /etc/resolv.conf? Для справки, я нахожусь на Ubuntu 12.04 (Precise).
Это правда, что в Ubuntu 12.04 и более поздних версиях вам не следует редактировать /etc/resolv.conf
напрямую. Вместо этого вы вводите информацию о сервере имен в файл конфигурации (или диалоговое окно) для каждой утилиты, которая конфигурирует сетевой интерфейс, будь то ifup
, NetworkManager
, клиент VPN, что угодно.
Несмотря на то, что это динамически генерируемый файл, /etc/resolv.conf
имеет тот же синтаксис, что и всегда. См. Resolv.conf (5) для его синтаксиса.
Поскольку вы используете NetworkManager, вы должны ввести свои адреса DNS-серверов в поля «DNS-серверы» для рассматриваемого соединения.
На вкладке
Network indicator | Edit Connections... | <connection> | Edit... | IPv6 Settings
вы сможете ввести IPv6-адрес вашего DNS-сервера имен в поле «DNS-серверы». Этот адрес должен затем появиться в resolv.conf
и, таким образом, использоваться в качестве адреса сервера имен для распознавателя glibc.