Как мне настроить мой статический 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
В большинстве дистрибутивов вы можете настроить свой DNS-СЕРВЕР по пути
nano /etc/resolv.conf
и настроить внутри для ex [мой выглядит следующим образом]:
nameserver 192.168.43.1
nameserver 8.8.8.8
nameserver 8.8.8.4
Вы также можете настроить этот интерфейс в другом файле, так как у вас больше шлюзов.
Подробности здесь.