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

Я использую 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-адресами?

13 ответов

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

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

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

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

sudo /etc/init.d/network-manager restart

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

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

Что касается того факта, что /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, Также обратите внимание, что если вы хотите перенастроить свои интерфейсы, лучше их отключить один за другим, чем полагаться на перезапуск "сети".

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

Попробуй это:

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

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

nameserver 10.20.1.2

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

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

Все ответы, которые относятся к /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)

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

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

nameserver 66.212.63.228 
nameserver 66.212.48.10

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

Под IPv4 введите свой DNS-сервер (ы)

введите описание здесь

Я смог обойти это безголовую установку сервера 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

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

Примечание: осторожное использование без прямого доступа на машине, это разорвет соединение...

я использую

sudo ifdown eth0

затем

sudo ifup eth0

Это сбросит и выпустит все...

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

sudo ifdown eth0 --force

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

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

и добавить:

nameserver <add your router ip>

Бежать:

sudo resolvconf -u

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

У меня была эта проблема. Я думал, что схожу с ума. Каждый раз, когда я редактировал /etc/resolv.conf, он удалил мой конфиг. Оказывается, какой-то общий сумасшедший распространил debian с сетевым менеджером, который перезаписывает все мои настройки сети.

Вот как я это исправил:

1) sudo apt-get purge network-manager

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

2) Редактировать /etc/network/interfaces файл:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) Отредактируйте /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

4) Перезагрузка.

Поздравляю, теперь у вас есть нормальные конфиги, которые снова работают.

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

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

По какой-то причине dns-nameservers заявление ничего не делает в моем случае. И другие ответы не по книге, так как они обходят dnsmasq как это используется в Ubuntu.

Чтобы сделать это правильно, отредактируйте /etc/dnsmasq.conf

Добавьте свои серверы имен в конец файла:

server=8.8.8.8
server=8.8.4.4

Перезапустите dnsmasq, чтобы использовать новые настройки:sudo service dnsmasq restart

Кредит: https://unix.stackexchange.com/a/163506/187949

В большинстве дистрибутивов вы можете настроить свой DNS-СЕРВЕР по пути

      nano /etc/resolv.conf

и настроить внутри для ex [мой выглядит следующим образом]:

      nameserver 192.168.43.1
nameserver 8.8.8.8
nameserver 8.8.8.4

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

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

Другие вопросы по тегам