Установка и настройка DNS сервера Ubuntu 14.04.1 LTS | Разработка игровых платформ
  1. Доброго времени суток. В связи с появлением спамеров, активация функций новых пользователей (Создавать темы, писать сообщения), теперь будет только после проверки администратором! Для регистрации отписываемся в лс, в вк. vk.com/tehnik777 (Пишем только с реальных страниц)
    Скрыть объявление

Установка и настройка DNS сервера Ubuntu 14.04.1 LTS

Тема в разделе "Linux", создана пользователем Zloo, 20 ноя 2016.

Обсуждение темы Установка и настройка DNS сервера Ubuntu 14.04.1 LTS в разделе Linux на форуме zetta-forum.ru.

Метки:
  1. Zloo

    Zloo Администратор Команда форума

    Регистрация:
    31 окт 2016
    Сообщения:
    265
    Симпатии:
    158
    Баллы:
    43
    Пол:
    Мужской
    Сайт:
    https://zetta-forum.ru
    VK:
    https://vk.com/tehnik777
    Сегодня продолжим цикл статей по настройке сервера и рассмотрим что же из себя представляет настройка DNS сервера Ubuntu. У нас уже есть сервер на базе ubuntu 14.04.1 LTS, на нем настроен DHCP сервер. Сегодня мы туда добавим еще и службу DNS.

    Для начала давайте разберемся для чего он нам нужен. DNS – это система доменных имен, предназначенная для получения ip адреса компьютера по его имени и наоборот, имени по ip адресу. Т.е. зная имя компьютера, вам не нужно запоминать его ip, для последующего обращения. Служба была создана в связи с расширением сети и появлением огромного множества ip адресов, которые просто невозможно запомнить с первого раза.

    И так что мы имеем…
    Установленная ОС Ubuntu Server 14.04.1 LTS, настроенный DHCP сервер. Из ПО только mc.

    Установка и настройка DNS сервера Ubuntu
    Для начала нужно установить самые последние обновления системы
    Код:
    sudo apt-get update
    Код:
    sudo apt-get upgrade
    После этого установим службу DNS сервера Bind9
    Код:
    sudo aptitude install bind9
    после установки службы, она автоматически запуститься

    [​IMG]

    Следующим шагом, генерируем ключ для обновления DNS записей
    Код:
    dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER
    выводим его на экран
    Код:
    cat Kdhcp_updater.*.private|grep Key
    на экране вы должны увидеть ключ, что то подобно этому:

    Key: 4GD8OIb8pZk4vAueACAfUQ==

    Обязательно сохраните этот ключ, в последующей настройке он нам понадобится

    Настраиваем DNS сервер Bind9
    Открываем файл конфигурации
    Код:
    sudo nano /etc/bind/named.conf.options
    Добавим следующий код:
    Код:
    forwarders {
        8.8.8.8;
        8.8.4.4;
    };
    listen-on {
        127.0.0.1;
        192.168.0.1;
    };
    • forwaders – вышестоящий dns сервер (сервер гугла), используется если url запроса не найден в нашей базе.
    • listen-on – адреса через которые будет обслуживаться наш DNS сервер.
    Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл.

    Перезапустим bind9
    Код:
    sudo service bind9 restart
    Теперь можно протестировать работу нашего DNS сервера

    Добавим в фал /etc/resolv.conf строчку с нашим DNS сервером (так как файл /etc/resolv.conf при перезагрузке меняет значения на дефолтные, добавить запись нужно в тот файл из которого будут браться дефолтные значения)
    Код:
    sudo nano /etc/resolvconf/resolv.conf.d/tail
    в этот файл пишем следующее:
    Код:
    domain lab.loc
    search lab.loc
    nameserver 127.0.0.1
    Сохраняем файл, закрываем его и перезагружаем сервер. После перезагрузки протестируем работу сервера, выполните следующую команду:
    Код:
    dig ubuntu.ru
    в ответ вы получите ответ с временем выполнения запроса (выделено цветом)

    [​IMG]

    Как видите запрос был выполнен за 284 мсек. Теперь еще раз выполним этот же запрос и проверим время запроса

    [​IMG]

    Повторный запрос был выполнен за 7 мсек! Отлично! Кэширование запросов работает. Двигаемся дальше.

    Настройка основного DNS сервера
    Исходные данные:
    • Доменное имя – lab.loc
    • IP сервера – 192.168.0.1
    • Имя сервера – srv-01.lab.loc
    Нам нужно будет указать две зоны (прямого и обратного просмотра) и прописать их в конфигурации сервера.

    Я начну с конца и укажу настройки зон в файле конфигурации. Открываем его
    Код:
    sudo nano /etc/bind/named.conf.local
    и вставляем следующее:
    Код:
    key DHCP_UPDATER {
     algorithm HMAC-MD5.SIG-ALG.REG.INT;
     secret "4GD8OIb8pZk4vAueACAfUQ==";
    };
     
    zone "lab.loc" {
            type master;
            file "/var/lib/bind/db.lab.loc";
            allow-update { key DHCP_UPDATER; };
    };
     
    //reverse zone
    zone "0.168.192.in-addr.arpa" {
            type master;
            file "/var/lib/bind/db.192";
            allow-update { key DHCP_UPDATER; };
    };
    • key DHCP_UPDATER — информация о ключе, который мы с вами записывали (в кавычки вам нужно вписать свой ключ)
    • zone «lab.loc» — информация о зоне использования DNS, указан тип — master, путь к файлу хранения данных зоны, обновления файла разрешено с использованием ключа.
    • zone «0.168.192.in-addr.arpa» — создание зоны обратного просмотра
    Теперь создадим сами файлы в которых будут храниться данные зоны lab.loc. Для этого скопируем образец файла прямого просмотра:
    Код:
    sudo cp /etc/bind/db.local /var/lib/bind/db.lab.loc
    откроем его
    Код:
    sudo nano /var/lib/bind/db.lab.loc
    и внесем правки как у меня:
    Код:
    ; BIND data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     srv-01.lab.loc. root.srv-01.lab.loc. (
                            20141126        ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      srv-01.lab.loc.
    @       IN      A       192.168.0.1
    @       IN      AAAA    ::1
    srv-01  IN      A       192.168.0.1
    Теперь скопируем файл зоны обратного просмотра:
    Код:
    sudo cp /etc/bind/db.127 /var/lib/bind/db.192
    откроем его
    Код:
    sudo nano /var/lib/bind/db.192
    Вносим в него следующее:
    Код:
    ; BIND reverse data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     srv-01.lab.loc. root.srv-01.lab.loc. (
                            20141126        ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      srv-01.
    1       IN      PTR     srv-01.lab.loc.
    Сохраняем, закрываем, перезапускаем Bind9
    Код:
    sudo /etc/init.d/bind9 restart
    Сохраняем, закрываем, проверяем работу DNS сервера:
    Код:
    nslookup srv-01.lab.loc
    в ответ вы должны увидеть следующее:

    [​IMG]

    Как видите зона прямого просмотра работает, нам показался адрес проверяемого имени. Теперь проверим работу зоны обратного просмотра
    Код:
    nslookup 192.168.0.1
    В ответ должны получить следующее:

    [​IMG]

    Как видите в ответ мы получили имя сервера по его адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, проверяйте что сделали не так.

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

    Если вы вместе со мной настраивали сервер с самого начала, тогда у вас не должно возникнуть трудностей. Откроем файл /etc/dhcp/dhcpd.conf
    Код:
    sudo nano /etc/dhcp/dhcpd.conf
    Проверяем что опция option domain-name содержит имя домена lab.loc, строку ddns-update-style none; закомментировать. Теперь добавим строчку update-static-leases on; – она отвечает за создание зон для клиентов у которых статичный IP адрес. Для автоматизации этого процесса, добавим следующий код:
    Код:
    ddns-update-style interim;
    update-static-leases    on;
    key DHCP_UPDATER {
    algorithm hmac-md5;
    secret "CO0WnumqxGoxqGEDjaR3YA==";
    }
     
    zone lab.loc. {
    primary 127.0.0.1;
    key DHCP_UPDATER;
    }
     
    zone 0.168.192.in-addr.arpa. {
    primary 127.0.0.1;
    key DHCP_UPDATER;
    }
    где secret это тот самый код который мы делали вначале статьи.

    Вот пример моего файла /etc/dhcp/dhcpd.conf:
    Код:
    default-lease-time 600;
    max-lease-time 7200;
     
    authoritative;
     
    subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.10 192.168.0.254;
    option domain-name-servers 192.168.0.1;
    option domain-name "lab.loc";
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    default-lease-time 604800; max-lease-time 604800; }
     
     
    ddns-update-style interim;
    update-static-leases  on;
    key DHCP_UPDATER {
    algorithm hmac-md5;
    secret "LUH8l/F2OtaVrA6eSffJog==";
    }
     
    zone lab.loc. {
    primary 127.0.0.1;
    key DHCP_UPDATER;
    }
     
    zone 0.168.192.in-addr.arpa. {
    primary 127.0.0.1;
    key DHCP_UPDATER;
    }
     
    log-facility local7;
    Больше никакие настройки DHCP не трогаем, перезапускаем bind9 и dhcp
    Код:
    sudo /etc/init.d/bind9 restart
    Код:
    sudo /etc/init.d/isc-dhcp-server restart
    Теперь нужно проверить как все это дело работает “в бою”. Запускаем клиентскую машину, которая находиться в сети с сервером. После включения машина получит IP адрес от DHCP сервера, а DHCP сервер создаст запись вроде klient-pc.lab.loc.

    На запрос nslookup yos-pc (yos-pc это имя клиентской машины), мы должны увидеть ответ от сервера

    [​IMG]

    Как видите по скриншоту, работает и прямой и обратный запросы к DNS.

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

    [​IMG]


    (Источник: faqpc.ru)
     
  2. Ban

    Ban Участник

    Регистрация:
    29 янв 2019
    Сообщения:
    0
    Симпатии:
    0
    Баллы:
    1
    Лайк помог
     

Поделиться этой страницей