Как настроить параметры 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.