Как настроить мой статический DNS в интерфейсах?

46

Я использую Ubuntu 12.04.

Мой файл /etc/network/interfaces состоит из:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

Я выполнил команду: /etc/init.d/networking restart

Что ответили:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Далее я запустил ping google.com и получил:

ping: unknown host google.com

Я не уверен, обновлены ли интерфейсы. Как правильно настроить сеть с моими статическими адресами DNS?

    
задан dottedquad 29.05.2012 в 20:48
источник

10 ответов

18

Как задает вопрос о содержании его /etc/network/interfaces , я делаю вывод, что он использует ifup для настройки интерфейсов. Но поскольку он действительно может использовать NetworkManager, я также обсужу это.

Если вы используете ifup, параметры DNS перейдут в /etc/network/interfaces . Для каждого интерфейса вы добавляете опции dns-* , подходящие для серверов имен, доступных по этому интерфейсу. Например, если сервер имен по адресу 1.2.3.4 доступен через интерфейс eth0, добавьте dns-nameservers 1.2.3.4 в iface eth0 stanza.

Если вы используете NetworkManager, тогда настройки вводятся в Редакторе подключений (сетевой индикатор | Редактировать соединения ...) на вкладке «Параметры IPv4».

Выполнение /etc/init.d/networking restart для перенастройки интерфейсов устарело. Если вы используете ifup , то сначала ifdown каждого активного сетевого интерфейса, затем ifup каждого интерфейса. Если вы используете NetworkManager, то сначала отключите сетевое взаимодействие с помощью индикатора (сверху рабочего стола); затем откройте терминал и запустите

sudo restart network-manager

, а затем включите сеть с помощью индикатора.

Или вы можете просто перезагрузиться.

Относительно того факта, что /etc/init.d/networking restart привело к

RTNETLINK answers: File exists
Failed to bring up eth0  

Это означает, что ifupdown считает, что eth0 уже занято. Используйте ifdown --force eth0 , чтобы заставить ifupdown перестать полагать, что он уже настроил интерфейс.

Что касается сообщения «устаревшее», это сообщение больше не печатается в Ubuntu 12.10, но вы все равно должны заметить, что initscripts «находятся на пути». Чтобы перезапустить службу foo , используйте service foo restart или restart foo . Обратите также внимание на то, что если вы хотите перенастроить свои интерфейсы, лучше отключить их по очереди, чем полагаться на перезапуск «сети».

    
ответ дан jdthood 29.10.2012 в 14:40
13

Если ни одно из указанных выше не работает, имейте в виду, что Ubuntu добавляет файл tail в файл resolv.conf, который он генерирует.

Попробуйте следующее:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Что откроет пустой файл resolv.conf.d в текстовом редакторе. Вам нужно будет поместить ваш адрес DNS-сервера в первую строку этого файла и не забудьте закончить линию возвратом каретки (нажмите enter), как показано ниже:

nameserver 10.20.1.2

Редактирование файла хвоста вместо фактического файла resolv.conf предотвратит потерю вашего изменения при перезагрузке системы.

Вам нужно будет запустить sudo resolvconf -u , чтобы активировать изменение. После этого вы сможете выполнить ping google.com. Удачи!     

ответ дан Sean Huggans 04.07.2013 в 08:41
9

Версия командной строки:

Вы должны добавить свои серверы имен в файл /etc/resolvconf/resolv.conf.d/base следующим образом:

nameserver 66.212.63.228 
nameserver 66.212.48.10
    
ответ дан pl1nk 29.05.2012 в 21:02
7

Все ответы, относящиеся к / etc / network / interfaces, неправильно отображают dns-nameservers , а не dns-nameserver - ниже, должны работать:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(проверено на Ubuntu 15.04)

    
ответ дан babelmonk 20.09.2015 в 09:31
6

Самый простой способ настройки DNS-серверов - использовать NetworkManager

В соответствии с IPv4 запишите сервер (ы) dns

    
ответ дан Panther 29.05.2012 в 21:02
4

Я использую

sudo ifdown eth0

затем

sudo ifup eth0

Он сбросит и освободит все ...

Если он сталкивается с ошибками, связанными с конфигурацией, вы можете использовать:

sudo ifdown eth0 --force
    
ответ дан user294233 17.06.2014 в 05:57
3

Мне удалось обойти это без установки сервера без ubuntu, добавив

nameserver 8.8.8.8

... после соответствующего интерфейса в / etc / network / interfaces:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

Надеемся, что это поможет более поздним пользователям!

    
ответ дан corq 30.08.2014 в 02:07
2

В файле интерфейсов отсутствует спецификация подсети.

Добавьте сетевую маску 255.255.255.0 в /etc/network/interfaces ниже сетевой линии.

    
ответ дан Brian 11.10.2012 в 14:46
2

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

sudo vi /etc/resolvconf/resolv.conf.d/base

и добавьте:

nameserver <add your router ip>

Run:

sudo resolvconf -u

Я использую базовую установку сервера ubuntu.

    
ответ дан Bongo 07.06.2016 в 13:54
0

Вы также можете настроить этот интерфейс в другом файле, так как у вас больше шлюзов.

Подробнее здесь .

    
ответ дан antivirtel 02.04.2016 в 22:22