Меню

Настройка dns dhcp wins в linux



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Mtk инженерное меню настройки по умолчанию

Способ 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, и уже после этого можете закрыть данный объект.

Далее понадобится настроить другой элемент, перейдите к нему через 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 через графическую оболочку не приносят никаких результатов из-за постоянного сброса настроек. Вам достаточно просто следовать инструкциям, точно выполняя их для правильной конфигурации, и вы справитесь с редактированием параметров получения доменных имен.

Источник

DNS+DHCP (автоматическое добавление хостов в зоны DNS через DHCP)

Люди добрые и знающие, помогите разобраться с темой автоматического добавления хостов в зоны DNS через DHCP.
Сервер на RHEL6, часть клиентов тоже на RHEL6 и часть на винде.
Версии пакетов:
dhcp-4.1.1-34.P1.el6.x86_64
bind-9.8.2-0.17.rc1.el6_4.4.x86_64

dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER

Конфиги след. вида:

key DHCP_UPDATER <
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret T1oCPFK0gBOt/aW1IOc5Fw==;
>;

options <
listen-on port 53 < 192.168.1.1; >;
listen-on-v6 port 53 < none; >;
directory «/var/named»;
dump-file «/var/named/data/cache_dump.db»;
statistics-file «/var/named/data/named_stats.txt»;
memstatistics-file
«/var/named/data/named_mem_stats.txt»;
allow-query < any; >;
recursion yes;

Читайте также:  Инструкция по настройке usb порта

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file «/etc/named.iscdlv.key»;

logging <
channel default_debug <
file «data/named.run»;
severity dynamic;
>;
>;

zone «example.com» IN <
type master;
file «data/example.com»;
allow-update < key DHCP_UPDATER; >;
>;

zone «1.168.192.in-addr.arpa» IN <
type master;
file «data/1.168.192.in-addr.arpa»;
allow-update < key DHCP_UPDATER; >;
>;

include «/etc/rndc.key»;
include «/etc/named.rfc1912.zones»;

authoritative;
allow client-updates;
ddns-update-style interim;
ddns-updates on;

key DHCP_UPDATER <
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret T1oCPFK0gBOt/aW1IOc5Fw==;
>;

zone example.com. <
primary 127.0.0.1;
key DHCP_UPDATER;
>
zone 1.168.192.in-addr.arpa. <
primary 127.0.0.1;
key DHCP_UPDATER;
>

subnet 192.168.1.0 netmask 255.255.255.0 <
range 192.168.1.140 192.168.1.150;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name «example.com»;
option domain-name-servers 192.168.1.140;
option netbios-node-type 1;
default-lease-time 600;
max-lease-time 1200;
min-lease-time 200;
one-lease-per-client on;
option ip-forwarding off;
update-static-leases on;
ddns-domainname «example.com»;
>

Права на файлы следующие:

-rw-rw-r— 1 named named 129 May 6 16:09 1.168.192.in-addr.arpa
-rw-rw-r— 1 named named 54 May 6 16:09 Kdhcp_updater.+157+54700.key
-rw-rw-r— 1 named named 165 May 6 16:09 Kdhcp_updater.+157+54700.private
-rw-rw-r— 1 named named 1070 May 6 16:09 example.com

При подключении клиентов, leases выдаются. Но не появляеются файлы *.jnl и соответственно не вносятся изменения в файлы зон.. Подскажите пож-та в чём может проблема заключаться?

Источник

Настройка DHCP сервера Linux

Устанавливаем DHCP:

Производим настройку — прежде всего, указываем параметры сети с которой будет работать сервер

Конфигурационный файл очень полный и содержит примеры конфигурации, добавляем наши параметры непосредственно после закомментированного примера (исключительно для удобства, место вставки строк значения не имеет)

subnet 192.168.11.76 netmask 255.255.255.0 <
range 192.168.11.71 192.168.11.75;
option domain-name-servers 192.168.11.76;
option domain-name-servers «server-gu.ru»;
option routers 192.168.11.11;
option broadcast-address ;
default-lease-time 7200;
max-lease-time 7200;
>

range — дипазон из которого будут динамически выдаваться адреса. Два указанных адреса в диапазон также включаются.
option domain-name-servers, option domain-name-servers — здесь приводятся данные сервера DNS, сконфигурированного на данной машине в рамках одной из предыдущих статей.

При использовании нескольких option domain-name-servers IP-адреса разделяются запятой.

Далее необходимо раскомментировать строку #authoritative;

Сделать это нужно после того как другой DHCP сервер (на роутере) выключен. После перезапуска службы DHCP сервер сможет отвергать запросы на повторное получеине IP-адресов и предлагать свои если использовавшиеся ранее адреса для выдачи более недоступны.

Перезапуск службы в продакшн довольно безопасен поскольку уже выданные адреса выдут выданы вновь при истечении срока lease — информация о них записывается во временные файлы.

Проверяем выдался ли адрес на машине из локальной сети

В командной строке пишем:

Видим, что ПК использует адрес за пределами диапазона, предусмотренного конфигурацией DHCP сервера — следовательно, он был выдан ранее роутером

Читайте также:  Настройки эквалайзера на бас razer

Настройка совместной работы DHCP и DNS

Цель — обеспечить корректную работу DNS при выдаче машине нового адреса посредством DHCP (обычно для серверов используются статические IP адреса, однако необходимость в подобных настройках возникнуть может).

Как мы добьемся поставленной цели:

  1. Сгенерируем ключ, который позволит BIND принимать изменения
  2. Обновим конфигурационные файлы BIND и DHCPd чтобы пакеты могли взаимодействовать с ключом
  3. Убедимся в том, что BIND в состоянии писать информацию в собственные файлы

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

BIND предоставляет возможность произвести подобную настройку посредством утилиты RNDC

Ключ — «shared key» — доступен в файле /etc/bind/dndc.key, также мы можем создать свой ключ.

Предварительно смотрим помощь по утилите:

Ключ создан, идем в конфигурацию пакета и добавляем строку с include:

include «/etc/bind/dhcpd.key»
zone»server-gu.ru» <
type master;
file «/var/cache/bind/server-gu.ru.zone»;
allow-update < key «dhcp»; >;
>

Строкой, в которой указан путь к server-gu.ru.zone мы сменили расположение конфига поскольку в /etc/bind пользователь BIND писать информацию не может, а динамическое обновление файлов это подразумевает.

На каталог /var/cache/bind программный пакет, по умолчанию, имеет права r/w.

Те же две строки следует скорректировать/добавить для зоны обратного преобразования.

Перемещаем конфигурационный файл:

Проверяем наличие прав на запись и меняем пользователя на bind

В случае трудностей проверяем /var/log/deamon.log

Сервис перезапустился, проверяем

Поскольку DHCP также работает от имени одноименного пользователя — потребуется дополнительно разрешить получать доступ к ключу.

Настройка утилиты AppArmor для корректной работы DHCP

AppArmor — программное средство защиты файлов от изменения и доступа на уровне операционной системы.
Сейчас ограничимся тем, что убедимся, что пакет настроен для динамического обновления DHCP.

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

Производим финальную настрйоку DHCP — редактируем строку с ddns-update-style и добавляем указание на файл ключа. Также добавляем поддерку ddns в настройки подсети.

ddns-update-style interim;
include «/etc/bind/dhcpd.key»

subnet 192.168.11.76 netmask 255.255.255.0 <
range 192.168.11.71 192.168.11.75;
option domain-name-servers 192.168.11.76;
option domain-name-servers «server-gu.ru»;
option routers 192.168.11.11;
option broadcast-address ;
default-lease-time 7200;
max-lease-time 7200;

ddns-domainname «server-gu.ru.»;
zone server-gu.ru. <
primary 192.168.11.76;
key «dhcpd»;
>
zone 11.168.192.in-addr.arpa. <
primary 192.168.11.76;
key «dhcpd»;
>
>

Чтобы проверить, что настроенная конфигурация работает корректно заставим другую машину (dncptest), находящуюся в сети, запросить и получить IP адрес — в это время на сервере будем отслеживать данные, которые записываются в логи

Запрашиваем новый адрес с dncptest и не видим в логе никакх ошибок, что говорит о том. что конфигурация корректна.

Проверяем DNS

Видим адрес из диапазона, предусмотренного range

Проверяем наличие временных файлов в которые пишутся данные об обновлении зон

Видим соответствие имени машины и А записи DNS

Команда удаляет временные файлы с расширением .jnl до нового динамического обновления

rndc freeze/thaw можно дополнять указанием конкретной зоны

Настройка DHCP сервера Linux на этом завершена. Читайте про конфигурацию DNS сервера на основе BIND9.

Источник

Adblock
detector