Главная >> Инструкции >> Настройка DNS в Debian

Настройка DNS в Debian

Итак, сегодня мы поговорим с вами о настройке DNS в Debian. Тем, кто «в теме», не потребуются объяснения, но для остальных пройдемся от малого. Что такое DNS? Это компьютерная распределенная система для получения информации о доменах. Она используется для получения IP-адреса той самой уютной ЖЖшки, или ВК. Нужна она прежде всего для человека, так как нам, как ни странно, будет проще запомнить адрес в буквенном формате, чем в числовом. Но это не единственный плюс.

Раньше сеть была гораздо меньше нынешней и на каждой машине находился файл hosts, его рассылали автоматически и «централизованно». Он отвечал за преобразование между доменными и IP-адресами, но сеть непрерывно росла, а данный метод уже явно не справлялся с поставленными задачами. Вот здесь и выходит на сцену механизм, способный делать все то же самое и в больших объемах — DNS. С основными определениями разобрались, теперь перейдем к сути статьи.


Содержание статьи

Настройка DNS в Debian

Сперва мы ознакомимся с файлом /etc/resolv.conf. Это — это основной файл настройки библиотеки распознавателя имен DNS. Распознаватель - это библиотека на языке , именно она обеспечивает доступ к 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

Прекрасно, следующим шагом будет внесение данных в этот файл. Вписываем в него следующие строки так, как это показано на скриншоте:

nameserver 8.8.8.8
nameserver 8.8.4.4

Сохраняем изменения с помощью 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 завершена. Достаточно легко и просто, а главное, что все работает.

Оставьте свой Email для того чтобы получать анонсы новых статей и полезную информацию о Linux по электронной почте
Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

18 комментариев к “Настройка DNS в Debian”

  1. В листинге указываете одни сервера:
    servername 8.8.8.8
    servername 8.8.4.4

    На скриншоте и при проверке resolv.conf другие: servername 10.10.8.8 и servername 10.10.10.10
    Правая рука не знает, что делает левая?

    Ответить
    • А им пофиг, как правильно. Им главно, чтобы поисковики проиндексировали. И на юнната, который сдуру воспользуется этой писаниной как инструкцией и потом поимеет проблемы, им тоже наплевать. Это же losst - только вредные советы и кривые инструкции.

      Ответить
      • А вот не надо так грубо, все допускают ошибки и ничего в этом страшного нет. Посмотрите другие мои статьи для более объективного взгляда.

        Интересно, вы так же реагируете на свои ошибки?

        Ответить
        • Ути, слатенькое какое. В приличном обществе не прилично выставлять напоказ свои ошибки, поэтому добросовестные пейсатели обычно, перед тем как опубликовать, тщательно проверяют свою писанину. Другие ваши статьи смотрел, они чудовищны и никчёмны. Вас стоит слушать и молчать, слушать и молчать, слушать и молчать. Слушать внимательно. Может тогда вы хоть чему-нибудь научитесь

          Ответить
  2. Предполагаю, что у вас заблокированы Google DNS провайдером. Использовал в такой ситуации яндекс днс 77.88.8.8 -заработало отлично.

    Ответить
  3. "Как вы поняли, с помощью sudo systemctl start resolvconf.service и sudo systemctl enable resolvconf.service мы запускаем службу"
    enable не запускает службу, а добавляет её в автозагрузки.

    Ответить
  4. 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)
    так два раза делай и спина не будет болет 🙂

    Ответить
  5. 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

    Ответить

Оставьте комментарий