При настройке компьютера на использование статического IP-адреса возникает проблема разрешения имен в Ubuntu 12.04 Server Edition.
В / etc / network / interfaces:
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
Запуск $ sudo apt-get upgrade
приводит к «Не удалось получить ...»:
. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]
Когда я меняю свой / etc / network / взаимодействует с:
auto eth0
iface eth0 inet dhcp
Все отлично работает.
Просмотр /etc/resolv.conf дает еще несколько советов.
В тех случаях, когда я получал решение проблемы, resolv.conf был пуст; серверы имен не были указаны. Затем я переключился на DHCP со статической и перезапустил сеть; /etc/resolv.conf был изменен на: 'nameserver 192.168.1.1'.
Переключение с DHCP на статический и перезапуск не удаляет запись сервера имен. Но когда я перезапустил систему со статическим набором, resolv.conf был пуст. Когда я перезагружаю систему с установленным DHCP, resolv.conf имеет сервер имен 192.168.1.1. Итак, похоже, что проблема в том, что resol.conf не записывается правильно? Какой пакет / код отвечает за запись в resolv.conf? Есть ли конкретный пакет, на который я могу взглянуть на открытые проблемы?
ОБНОВЛЕНИЕ: istream опубликовал хорошую статью, в которой обсуждаются изменения в resol.conf в 12.04. http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
Согласно справочной странице resolvconf (пример приведен на справочной странице), добавьте следующее в ваш / etc / network / interfaces под вашей статической конфигурацией:
dns-nameservers [IP address(es) of your DNS]
dns-search [your dns-search strings (optional)]
ОП использует сервер ред. NetworkManager не применяется .. хотя кто знает, может быть, он будет добавлен только для того, чтобы добавить сложности серверу.
В связи с этим, почему в мире resolvconf были добавлены на сервер? ] / etc / network / interfaces
примерно так:
auto eth0 inet static
dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com
Важным параметром является «dns-nameservers».
Если вы не хотите (или не можете) использовать апплет Network Manager для настройки сетевых параметров, я нахожу правильный способ настройки «статической» конфигурации IP, когда вы не иметь доступного сервера DHCP, значит иметь статическую аренду dhclient.conf
. Там вы должны указать сервер имен, который будет записан в файл resolv.conf
, когда dhclient переключится на статический.
Однако, если вы не хотите испачкать руки, я все же рекомендую использовать графический интерфейс для указания адреса DNS-сервера в настройках IP вашего соединения, как в https://askubuntu.com /a/127537/33305.
Вы уверены, что указали 192.168.1.1
в качестве значения для DNS при настройке статического IP-адреса?
Я не знаю, как это сделать из командной строки, но с помощью [ 111] GUI тоже должен работать, нет? Все, что я думаю, это то, что вы хотите что-то вроде снимка экрана ниже? Или я не понимаю, что вы пытаетесь сделать?
Примечание: игнорируйте значения в левом окне. Это просто мои значения от DHCP. Я не удосужился сохранить статическую конфигурацию, так как я просто пытался проиллюстрировать, о чем я думал.
Кстати, я использовал 192.168.1.1
, потому что это то, что вы использовали. Но вы также можете использовать IP-адреса для любых допустимых DNS-серверов. Например, 8.8.8.8
и / или 208.67.222.222
также должны работать.