Как настроить параметры DNS на сервере Ubuntu?


115

Согласно этой странице это кажется простым. Тем /etc/bindне менее, не существует при установке по умолчанию Ubuntu 12.04.3 сервера LTS.

Итак, без установки какого-либо дополнительного программного обеспечения, как настроить DNS и удалить dnsmasq на сервере Ubuntu? Я хорошо знаком с sudo& nano.


Также взгляните на help.ubuntu.com/community/Dnsmasq . bind - это сервер имен. Если вам нужна функциональность сервера имен на вашем сервере, вы должны установить сервер имен. Было бы полезно, если бы вы могли описать, чего именно вы пытаетесь достичь.
— hmayag

1
Вы читали руководство по настройке DNS-сервера, а не то, как настроить записи DNS на сервере. Руководство вы должны прочитать в этом
— Braiam

У меня нет представителя, чтобы оставить комментарий к другому ответу, но в ответ на ответ Нуллета 17 сентября 2013 года это сработало для меня. Я думал, что была проблема с моим маршрутизатором (дешевый, предоставленный провайдером). Я также думаю, что стоит упомянуть, что в строке dns-nameservers вы должны использовать IP публичного DNS. Не используйте локальный адрес DNS, который наиболее вероятен на вашем маршрутизаторе. Я подключался к DNS на моем маршрутизаторе, который по неизвестной причине не работал с моим сервером. Вместо этого я узнал, откуда DNS на моем маршрутизаторе получает информацию, и установил dn
— kyul

1
Я думаю, что здесь есть лучший ответ unix.stackexchange.com/a/154538/82018 - в основном вы можете переопределить ваши настройки dhcp, чтобы «предвосхитить» сервер перед теми, которые вы используете в настоящее время. Это хорошо, поскольку вам не нужно полагаться исключительно на новый сервер, вы просто отдает ему приоритет при поиске.
— Стив Мидгли

Ответы:


158

Установить DNS-серверы

Вам необходимо настроить /etc/network/interfacesфайл, если вы хотите изменить свой DNS-сервер через командную строку.

Это должно выглядеть примерно так:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.X.X
netmask 255.255.255.0
gateway 192.168.X.X
dns-nameservers X.X.X.X 

Если у вас более одного DNS-сервера, просто добавьте пробел между каждым:

dns-nameservers X.X.X.X Y.Y.Y.Y Z.Z.Z.Z

Просто замените X, Y и Z своими IP-адресами выбранных DNS-серверов, и когда это будет сделано, выполните эту команду, чтобы обновить настройки:

sudo ifdown eth0 && sudo ifup eth0

Надеюсь это поможет!


1
Да, dnsmasq не установлен на сервере Ubuntu по умолчанию, если я правильно помню.
— Nullet

4
пробовал решение @Nullet, но получил эту ошибку, longtth@long-ubuntu-14:~$ sudo ifdown eth0 && sudo ifup eth0 interface eth0 not configured RTNETLINK answers: File exists Failed to bring up eth0.вы можете помочь мне исправить это?
— Люк

2
Вот моя ситуация: я открыл файл, указанный в этом ответе, и у меня были только первые 3 строки. Я вставил в остальное. Я выполнил команду и получил следующее: ifdown: интерфейс eth0 не настроен Ответы RTNETLINK: файл существует Не удалось вызвать eth0. Это завершает вывод, который я получил. Если у кого-то возникают мысли, не стесняйтесь отвечать. Я хотел бы знать: чем, вообще говоря, я должен заменить X в адресе и шлюзе?
— GoProCameraByGoPro

2
@ Mr.Hyde Вы не должны вводить эти строки в терминале, вы должны записать их в /etc/network/interfacesфайл.
— Ричард

1
Убедитесь, что вы действительно используете eth0, а не что-то еще, например eth1. Ifconfig.
— briankip

9

Однако, если вы используете более новую версию Ubuntu, вы можете использовать resolv.conf

Чтобы установить dns-nameservers, которые не будут удалены после перезагрузки, добавьте их в

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

любить

nameserver x.x.x.x
nameserver x.x.y.y

И Афер, что просто сделать

sudo resolvconf -u

этот путь не существует в моей системе. У меня есть только /etc/resolvconf/update-libc.d/avahi-daemonцикл для другого bash-скрипта, /usr/lib/avahi/avahi-daemon-check-dns.shвсе, что я хочу, это получить значение по умолчанию 192.168.1.1 DNS Servers:
— Salem F

@SalemF просто сделай это и создай этот недостающий файл ...
— Александар Павич

1
Похоже, Ubuntu использует другой подход для обработки настроек DNS. Я смог изменить его только с GUI nm`, который работает после изменения DHCPнастроек address onlyи ввода адреса DNS. i.ibb.co/ysqwL0r/DHCP.png
— Salem F

0

NetworkManager TUI: nmtui

Помимо этой альтернативы,nmcli connection edit вы можете использовать более подходящую для ncursesnmtui , альтернативу GNU CLI TUInm-connection-editor .

скриншот главного окна nmtui

скриншот редактирования соединения

Примечание . Этот ответ больше относится к Ubuntu Desktop, но поскольку подходящий вопрос был помечен как дубликат этого (неправильно, IMO), я разместил его здесь.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.