Итак, сегодня мы поговорим с вами о настройке DNS в Debian. Тем, кто «в теме», не потребуются объяснения, но для остальных пройдемся от малого. Что такое DNS? Это компьютерная распределенная система для получения информации о доменах. Она используется для получения IP-адреса той самой уютной ЖЖшки, или ВК. Нужна она прежде всего для человека, так как нам, как ни странно, будет проще запомнить адрес в буквенном формате, чем в числовом. Но это не единственный плюс.
Раньше сеть была гораздо меньше нынешней и на каждой машине находился файл hosts, его рассылали автоматически и «централизованно». Он отвечал за преобразование между доменными и IP-адресами, но сеть непрерывно росла, а данный метод уже явно не справлялся с поставленными задачами. Вот здесь и выходит на сцену механизм, способный делать все то же самое и в больших объемах — DNS. С основными определениями разобрались, теперь перейдем к сути статьи.
Содержание статьи
Настройка DNS в Debian
Сперва мы ознакомимся с файлом /etc/resolv.conf. Это — это основной файл настройки библиотеки распознавателя имен DNS. Распознаватель - это библиотека на языке Cи, именно она обеспечивает доступ к DNS для программ в системе.
Его функции настроены на следующее:
- На проверку записей в файле /etc/hosts или на нескольких серверах DNS;
- На использование базы данных хостов NIS (Информационная служба сети);
В современных Linux-системах, которые используют systemd, локальные приложения получают доступ к DNS через демон system-resolved. По умолчанию эта служба имеет четыре различных режима и использует по умолчанию файл-заглушку. Его путь: /run/systemd/resolve/stub-resolv.conf.
В данном файле используется в качестве единственного DNS-сервера заглушка — 127.0.0.53, которая перенаправляет обращения к локальному DNS серверу, а он, в свою очередь уже получает информацию от других серверов в интернете. Надеюсь, вы поняли суть.
К сожалению, из-за того, что /etc/resolv.conf не прямо управляется службой systemd-resolved, а иногда с помощью использования initscripts или NetworkManager, любые пользовательские изменения НЕ будут сохранены. С учетом всех сложностей, описанных выше, я хочу поделиться с вами информацией о том, как настроить DNS на Debian в этом злополучном файле /etc/resolv.conf.
Шаг 1. Содержимое /etc/resolv.conf
Чтобы это сделать мы откроем терминал и напишем команду:
cat /etc/resolv.conf

В нем мы видим имя сервера nameserver 192.168.1.1 и больше ничего. Это пока что, но мы к нему вернемся.
Шаг 2. Установка resolvconf
Обязательно обновим систему с помощью команды:
sudo apt update

После обновления устанавливаем resolvconf. Для этого пишем команду:
sudo apt install resolvconf

После установки система должна автоматически запустить службу resolvconf.service. Чтобы проверить так ли это вам надо будет использовать команду:
sudo systemctl status resolvconf.service

Здесь мы видим, что служба не запущена, но бывает, что триггер срабатывает автоматически. Так или иначе, нам надо запустить эту службу. Используем следующие команды:
sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service


Как вы поняли, с помощью sudo systemctl start resolvconf.service и sudo systemctl enable resolvconf.service мы запускаем службу, а sudo systemctl status resolvconf.service отобразит состояние активности этой службы.
Шаг 3. Настройка DNS
Теперь откройте файл /etc/resolvconf/resolv.conf.d/head. Делается это с помощью команды:
sudo nano /etc/resolvconf/resolv.conf.d/head

Прекрасно, следующим шагом будет внесение данных в этот файл. Вписываем в него следующие строки так, как это показано на скриншоте:
Сохраняем изменения с помощью ctrl+o -> Enter -> ctrl+x. Теперь надо перезагрузить систему, чтобы изменения пришли в действие.
Шаг 4. Проверяем файл /etc/resolv.conf
После перезагрузки снова открываем терминал и пишем команду для запуска службы (это вторичная мера, у меня, например, триггер сработал автоматически):
sudo systemctl start resolvconf.service
Видим, что служба запущена. Переходим в наш конфигурационный файл, который был описан в самом начале статьи. Используем команду:
cat /etc/resolv.conf
На скриншоте отображены те самые данные, которые мы внесли в файл — nameserver 8.8.8.8 и nameserver 8.8.4.4 На этом все! Настройка DNS Debian завершена. Достаточно легко и просто, а главное, что все работает.
Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали








В листинге указываете одни сервера:
servername 8.8.8.8servername 8.8.4.4
На скриншоте и при проверке resolv.conf другие: servername 10.10.8.8 и servername 10.10.10.10
Правая рука не знает, что делает левая?
А собственный ник слабо придумать? Одни плагиаторы вокруг, тьфу
Убунта стаил. Дебиан слава богу по дефолту не испортил resolv.conf.
Посмотрите ваши скриншоты, правильно nameserver, а не servername
А им пофиг, как правильно. Им главно, чтобы поисковики проиндексировали. И на юнната, который сдуру воспользуется этой писаниной как инструкцией и потом поимеет проблемы, им тоже наплевать. Это же losst - только вредные советы и кривые инструкции.
А вот не надо так грубо, все допускают ошибки и ничего в этом страшного нет. Посмотрите другие мои статьи для более объективного взгляда.
Интересно, вы так же реагируете на свои ошибки?
Ути, слатенькое какое. В приличном обществе не прилично выставлять напоказ свои ошибки, поэтому добросовестные пейсатели обычно, перед тем как опубликовать, тщательно проверяют свою писанину. Другие ваши статьи смотрел, они чудовищны и никчёмны. Вас стоит слушать и молчать, слушать и молчать, слушать и молчать. Слушать внимательно. Может тогда вы хоть чему-нибудь научитесь
В тексте уже исправил, новых снимков пока нет.
Вообще пропала связь с интернетом, хотя служба запустилась но не прописалась в cat /etc/resolv.conf
Debian LXDE
Спасибо. Статья помогла. Пользовался до этого костылём
Статья бред. В резолве белым по черному написано. Сгенерировано автоматический.
Предполагаю, что у вас заблокированы Google DNS провайдером. Использовал в такой ситуации яндекс днс 77.88.8.8 -заработало отлично.
угу, отличная статья, только вот что делать если изза днс он даже обновиться не может?
"Как вы поняли, с помощью sudo systemctl start resolvconf.service и sudo systemctl enable resolvconf.service мы запускаем службу"
enable не запускает службу, а добавляет её в автозагрузки.
Нормально, только вот сервера DNS обновляются автоматически в этом файле, бесполезная статья к сожалению.
apt intstall bind9 -y
cd /etc/bind
cp db.local db.название машинуы.work
cp db.local db.название машыны2.work
nano db.название машны.work
nano db.название машны2.work
@ IN NS название машны.work.
@ IN A (50)
@ IN AAAA ::1
50 IN PTR hqd-srv.hqd.work
1 IN PTR hqd-r.hqd.work
hqd-r IN A ip(1)
hqd-srv IN A ip(50)
так два раза делай и спина не будет болет 🙂
HQ-SRV
Параметры:
cat < /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
allow-recursion { any; };
forwarders { 8.8.8.8; };
dnssec-validation auto;
listen-on { 127.0.0.1; 192.168.100.2; };
};
EOF
Пречисление зон:
cat < /etc/bind/named.conf.local
zone "au-team.irpo" {
type master;
file "/etc/bind/db.au-team.irpo";
};
zone "168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.168.192";
};
EOF
Описание прямой зоны:
$TTL 1d
$ORIGIN au-team.irpo.
@ IN SOA ns admin (
2025010100 ; Serial
1h ; Refresh
1m ; Retry
1d ; Expire
1d ; TTL
)
@ IN NS ns
ns IN A 192.168.100.2
hq-srv IN CNAME ns
hq-rtr IN A 192.168.100.1
hq-rtr IN A 192.168.200.1
hq-rtr IN A 192.168.99.1
br-rtr IN A 192.168.3.1
hq-cli IN A 192.168.200.6
br-srv IN A 192.168.3.2
moodle IN CNAME hq-rtr
wiki IN CNAME hq-rtr
Описание обратной зоны:
TTL 2d
$ORIGIN 168.192.in-addr.arpa.
@ IN SOA ns.au-team.irpo admin.au-team.irpo. (
2025020820 ; Serial
1d ; Refresh
1h ; Retry
1d ; Expire
1d ) ; Negative Cache TTL
;
@ IN NS ns.au-team.irpo.
6.200 IN PTR hq-cli.au-team.irpo.
2.100 IN PTR hq-srv.au-team.irpo.
1.100 IN PTR hq-rtr.au-team.irpo.
1.200 IN PTR hq-rtr.au-team.irpo.
1.99 IN PTR hq-rtr.au-team.irpo.
Проверить и перезагрузить:
named-checkconf
named-checkzone au-team.irpo /etc/bind/db.au-team.irpo
named-checkzone 168.192.in-addr.arpa /etc/bind/db.168.192
systemctl restart bind9
семчик легендыч