Принудительное обновление dns linux

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

Каждый сайт, устройство или определенное расположение имеет собственный IP-адрес, определяющийся оборудованием при обращении к сетям и взаимодействии с ними. Пользователи, которые сталкиваются с необходимостью, например, перехода по сайтам или подключения к другому сетевому компьютеру, тоже должны вводить соответствующий адрес для успешного обмена информацией. Однако запомнить случайный набор цифр довольно сложно. Именно поэтому и была придумана система доменных имен DNS (Domain Name System). Теперь компьютер самостоятельно обращается к серверу для определения IP-адреса при указании доменного имени во время перехода к ресурсу. Такие сервера указываются автоматически или вручную, что зависит от типа конфигурации. Именно об этом процессе мы и хотим поговорить в рамках сегодняшнего материала, взяв за пример известный дистрибутив операционной системы Linux.

Настраиваем DNS в Linux

Практически все дистрибутивы Linux функционируют по похожему принципу. Отличаются лишь некоторые консольные команды и оформление графической оболочки. В качестве примера мы рассмотрим Ubuntu, а вы, отталкиваясь от особенностей своей сборки, тоже сможете без проблем выполнить поставленную задачу. Если трудности возникнут на уровне использования определенных команд или при поиске пунктов меню графической среды, воспользуйтесь официальной документацией дистрибутива, чтобы узнать, какая альтернативная команда или опция отвечает за осуществление нужного действия.

Способ 1: Меню графической оболочки

Этот способ в первую очередь нацелен на начинающих пользователей, поскольку чаще всего в Linux их пугает необходимость выполнять каждое действие, вводя команды в консоль. Уже давно практически во всех окружениях присутствуют соответствующие пункты, позволяющие реализовывать различные конфигурации без единого обращения к «Терминалу». К DNS это тоже относится. Давайте посмотрим, как производится данное редактирование в стандартной графической оболочке Ubuntu.

  1. Обратите внимание на верхнюю панель, где присутствует кнопка сети и выключения компьютера. Нажмите по одной из них, чтобы просмотреть список подключений.

Здесь вас интересует кнопка под названием «Параметры соединения».

В открывшемся меню отыщите текущее соединение и нажмите по значку в виде шестеренки, чтобы перейти к конфигурации.

В строке «Метод» вы можете указать оптимальный для вас способ получения DNS. По умолчанию используется автоматический тип через DHCP. Однако ничего не мешает вам просто отметить маркером один из остальных присутствующих пунктов.

Читайте также:  Erd commander для linux

Вы можете самостоятельно прописать серверы DNS, к которым следует обращаться вашему маршрутизатору. Для этого в строке «DNS» через запятую укажите IP-адреса. На скриншоте ниже вы видите серверы от Google, и выглядят они так: 8.8.8.8 и 8.8.4.4 .

По завершении конфигурации убедитесь в том, что все выставлено правильно, и только потом кликните на «Применить».

По окончании конфигурации откройте главное меню и запустите «Терминал» для проверки.

Введите nslookup , а затем укажите необходимый адрес для проверки, например, google.com .

После нажатия на Enter подождите несколько секунд и ознакомьтесь с полученной информацией. Вы будете уведомлены о том, какой именно DNS-сервер использовался при пропинговке адреса.

Как видите, этот метод максимально прост и позволяет обойтись без редактирования конфигурационных файлов через консоль. Однако некоторые пользователи не имеют возможности задействовать графический интерфейс или же настройка постоянно сбивается. В таком случае придется обращаться к «Терминалу», чему и будет посвящен наш следующий метод.

Способ 2: Редактирование конфигурационных файлов

Использование «Терминала» для редактирования конфигурационных файлов при изменении системных параметров — самый эффективный способ, поскольку все действия здесь будут осуществляться от имени суперпользователя, а также не сбросятся при первом же перезапуске системы. Для конфигурации DNS используйте следующую инструкцию.

    Запустите консоль так, как это было показано ранее, или используйте любой удобный способ, например, созданный значок на панели «Избранное».

Для начала просмотрите список существующих сетевых интерфейсов, чтобы проверить файл для конфигурации. Введите ls /sys/class/net/ и нажмите на Enter.

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

Далее дело будет касаться взаимодействия с конфигурационными текстовыми файлами. Для этого вы можете использовать любой редактор, установленный по умолчанию, например, vi. Однако начинающим юзерам не всегда удобно управлять подобным софтом. В таких ситуациях мы советуем установить более подходящее решение. Пропишите sudo apt install nano и нажмите на Enter.

Подтвердите свои намерения добавить софт, а после успешной инсталляции переходите к работе с файлами. Введите команду sudo nano /etc/network/interfaces и затем подтвердите ее.

Вставьте строки auto enp0s3 и iface enp0s3 inet dhcp , чтобы задать конфигурацию интерфейса.

Используйте комбинацию Ctrl + O для сохранения настроек. В будущем запомните, что знак ^ обозначает Ctrl, то есть, например, выход из редактора осуществляется через Ctrl + X.

При сохранении не изменяйте имя файла для записи, а просто нажимайте на Enter.

Следом в этом же файле введите dns-nameserver 8.8.8.8 для установки DNS от Google, и уже после этого можете закрыть данный объект.

Читайте также:  Яндекс облако для linux

Далее понадобится настроить другой элемент, перейдите к нему через sudo nano /etc/dhcp/dhclient.conf .

При запросе пароля суперпользователя введите его. Учтите, что символы при таком методе набора не отображаются в целях безопасности.

Опуститесь в самый низ по содержимому и вставьте строку supersede domain-name-servers 8.8.8.8 . Затем сохраните изменения и закройте файл.

Осталось отредактировать последние параметры в sudo nano /etc/resolvconf/resolv.conf.d/base .

Вставьте строку nameserver 8.8.8.8 , определяющую DNS. Перед выходом не забудьте применить изменения в этом же файле.

Все изменения DNS вступят в силу сразу же после перезагрузки сети. Осуществляется это командой sudo systemctl restart networking .

Появившаяся пустая строка для ввода означает, что перезапуск прошел успешно.

Конечно, использовать второй способ гораздо сложнее первого, однако это единственная альтернатива, которая оказывается эффективной в тех случаях, когда изменения DNS через графическую оболочку не приносят никаких результатов из-за постоянного сброса настроек. Вам достаточно просто следовать инструкциям, точно выполняя их для правильной конфигурации, и вы справитесь с редактированием параметров получения доменных имен.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Системное администрирование Linux

2018-12-25 10:39:51 7639 2

Настройка динамического обновления зоны на DNS-сервере Bind

Настройка будет производиться на сервере CentOS7. В качестве DNS-севрера используется Bind-9.9.4, а в качестве DHCP-сервера будем использовать isc-dhcp

Сгенирируем ключи для DDNS:

sudo dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DDNS_UPDATE

  • -a HMAC-MD5 — алгоритм;
  • -b — длина ключа в байтах;
  • -r /dev/urandom — файл, откуда будет браться случайная последовательность, для генерации ключа;
  • -n USER — тип ключа;
  • DDNS_UPDATE — имя ключа

Теперь у нас есть ключ, который будет использоваться для безопасного взаимодействия между DNS и DHCP-севрерами.

Из созданного файла с секретным ключем на необходимо взять значение в строке KEY:

на основании этого ключа создаем файл ddns.key

В строке secret помещаем значения KEY: ключа.

Копируем этот файл в директроии bind и dhcpd:

cp ddns.key /etc/named/

cp ddns.key /etc/dhcp/

Задаем следующие разрешения на эти файлы:

sudo chown root:named /etc/named/ddns.key

sudo chown root:root /etc/dhcp/ddns.key

sudo chmod 640 /etc/named/ddns.key

sudo chmod 640 /etc/dhcp/ddns.key

DNS Server Configuration Configure zones to be updated The DNS server must be configured to allow updates for each zone that the DHCP server will be updating. In our example the clients in the example.org domain will be assigned addresses on the 192.168.2.0/24 subnet. We will need a key declaration for our key, and two zone declarations — one for the forward lookup zone and one for the reverse lookup zone. To do so add the following to the file /etc/bind/named.conf.local:

Читайте также:  Установка пароля для папок windows

Добавляем включение файла и производим настройку зоны, которую будем динамически обновлять

Источник

Безопасное динамическое обновление записей на MS DNS из Linux

Введение

Например, наличие двух DNS серверов в dhclient.conf приводит к появлению ошибки «ERROR_DNS_GSS_ERROR» после выполнения «net ads dns register -P».

В поисках решения этой проблемы я перечитал много статей и баг-репортов, и наткнулся на статью Warlock_ua «Безопасное динамическое обновление DNS записей в Windows домене из Linux (GSS-TSIG)». Идея показалась мне интересной. Но мне не понравилось решение с созданием отдельной учетной записи пользователя домена, которая имеет права на изменение всех записей DNS-зоны. Во-первых, это потенциально небезопасно. Во-вторых, в Windows уже существуют готовое решение: каждая учетная запись компьютера имеет право изменять свою запись на DNS. Почему бы этим не воспользоваться?

За основу я взял скрипт learn-address.sh от Warlock_ua, и доработал его с учетом своих нужд.

Об инфраструктуре

Имеем службу AD под управлением Windows Server 2008 R2 Standard, а также MS DNS сервер. Ими заведуют администраторы Windows. DHCP-сервер реализован на базе Cisco. Этим заведуют администраторы сети. Что так, для меня все это где-то в облаке, и немного похоже на черный ящик. Также у нас есть клиенты под управлением ОС Ubuntu 14.04 (Trusty), с установленным ПО Samba 4.1.6, isc-dhcp-client. Это по моей части.

Скрипт для обновления записей на DNS

Всю процедуру ввода в домен AD компьютеров под управлением Ubuntu я в описывать не буду, т. к. это выходит за рамки статьи. Опишу только ключевые моменты.

Компьютер, который будет обновлять свою запись на DNS, должен быть введен в домен. Т.е. у него должна быть учетная запись в домене. Для начала нужно будет получить пароль для учетной записи компьютера из Trivial DataBase. Сделать это можно с помощью утилиты tdbdump:

После этого нужно создать keytab-файл с учетными данными машины с помощью утилиты ktutil:

И можно обновлять запись на DNS для конкретной учетной записи компьютера.

Источник

Оцените статью