Как настроить мой статический 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-адресами?

54
задан 30 May 2012 в 17:18

67 ответов

По какой-то причине оператор 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

1
ответ дан 15 August 2018 в 19:09

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

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

14
ответ дан 15 August 2018 в 19:09
  • 1
    Звучит неплохо, но моя система Ubuntu 14.04 не использовала этот файл хвоста. Так что это не решение в моем случае. Спасибо хоть. – James T Snell 24 September 2015 в 21:16

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

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

и добавлено:

nameserver <add your router ip>

Run:

sudo resolvconf -u

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

10
ответ дан 15 August 2018 в 19:09
  • 1
    Мне придется попробовать этот метод через несколько часов и вернуться к вам. Вы знаете, почему я получаю устаревшее сообщение, и сообщение не удалось вызвать eth0? – dottedquad 30 May 2012 в 01:15
  • 2
    Вы можете использовать это: $ ifdown eth0 && ifup eth0 Подробнее об этой проблеме здесь . – pl1nk 30 May 2012 в 03:05
  • 3
    @dottedquad, что вы меняете файл / etc / network / interfaces: auto lo iface lo inet loopback 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 Позаботьтесь, чтобы это: auto eth0 iface eth0 inet static - две строки – pl1nk 30 May 2012 в 05:17
  • 4
    Лучше добавить информацию сервера имен в соединения NetworkManager (если вы используете NetworkManager), как описано bodhi.zazen, или определить определения интерфейса в / etc / network / interfaces (если вы используете ifup), чем добавлять информацию статически и глобально на /etc/resolvconf/resolv.conf.d/base. – jdthood 30 October 2012 в 14:21
  • 5
    @jdthood Кажется, что вы видели мои комментарии и вопрос, а также другие ответы! Некоторые комментарии вверх [..] & quot; Вы можете использовать это: $ ifdown eth0 & amp; & amp; & amp; ifup eth0 "[..] – pl1nk 1 November 2012 в 19:19

Я использую

sudo ifdown eth0

, затем

sudo ifup eth0

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

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

sudo ifdown eth0 --force
4
ответ дан 15 August 2018 в 19:09

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

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

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

22
ответ дан 15 August 2018 в 19:09

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

. В соответствии с IPv4 запишите сервер dns

enter image description here [/g0]

6
ответ дан 15 August 2018 в 19:09
  • 1
    Я забыл упомянуть, что у меня нет единства или гнома. Установка Gnome - это мой следующий проект. – dottedquad 30 May 2012 в 01:13

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

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

nameserver 66.212.63.228 
nameserver 66.212.48.10
10
ответ дан 18 August 2018 в 21:56
  • 1
    Мне придется попробовать этот метод через несколько часов и вернуться к вам. Вы знаете, почему я получаю устаревшее сообщение, и сообщение не удалось вызвать eth0? – dottedquad 30 May 2012 в 01:15
  • 2
    Вы можете использовать это: $ ifdown eth0 && ifup eth0 Подробнее об этой проблеме здесь . – pl1nk 30 May 2012 в 03:05
  • 3
    @dottedquad, что вы меняете файл / etc / network / interfaces: auto lo iface lo inet loopback 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 Позаботьтесь, чтобы это: auto eth0 iface eth0 inet static - две строки – pl1nk 30 May 2012 в 05:17
  • 4
    Лучше добавить информацию сервера имен в соединения NetworkManager (если вы используете NetworkManager), как описано bodhi.zazen, или определить определения интерфейса в / etc / network / interfaces (если вы используете ifup), чем добавлять информацию статически и глобально на /etc/resolvconf/resolv.conf.d/base. – jdthood 30 October 2012 в 14:21
  • 5
    @jdthood Кажется, что вы видели мои комментарии и вопрос, а также другие ответы! Некоторые комментарии вверх [..] & quot; Вы можете использовать это: $ ifdown eth0 & amp; & amp; & amp; ifup eth0 "[..] – pl1nk 1 November 2012 в 19:19

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

Похожие вопросы: