Настройка кеширующего DNS сервера BIND9 для локальной сети в Linux.
Настройка кеширующего DNS сервера BIND9 для локальной сети в Linux.
Установим DNS сервер Bind9:
sudo apt-get install bind9
Главные настройки находятся в файле (named.conf.options), отредактируем его:
sudo vi /etc/bind/named.conf.options
Содержимое файла:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Комментированая секция forwarders, отвечает за то, куда будет передаваться DNS запрос на разрешение имени. Вместо 0.0.0.0, нужно указать альтернативный ДНС сервер. Например 213.180.204.3 — yandex, 8.8.8.8 — google.
После редактирования должно быть примерно так:
forwarders {
213.180.204.3;
//yandex
8.8.8.8; //google
};
Сохраняем изменения и выходим (:wq)
Перезапускаем сервер (sudo reboot) и проверяем:
# nslookup ya.ru
Non-authoritative answer:
Name: ya.ru
Addresses:
213.180.204.3
В данном случае, сервер не является главным в обслуживании этой зоны (ya.ru).
Создадим зону для сети, чтобы сопоставить ip адреса компьютерам и сетевым устройствам.
Зоны описываются в конфигурационном файле: named.conf.local
sudo vi /etc/bind/named.conf.local
добавим в него секцию:
zone "home" {
type master;
file "/etc/bind/db.home";
};
Сохраняем изменения и выходим (:wq)
Зону мы обозначили, теперь настроим её:
sudo vi /etc/bind/db.home или sudo touch
/etc/bind/db.home
редактируем до следующего вида:
@ IN SOA home. root.home. (
20131001 ; релиз зоны, дата
2h ; время обновления 2 часа
2h ; повтор каждый 2 часа
1w ; как долго хранить информацию 1 неделю
1d ) ; время жизни, TTL записи 1 день
@ IN NS name. ; имя сервера имен
@ IN A 192.168.20 ; A - запись - IP адрес нашего ДНС сервера который обслуживает эту зону, @ корневая зона
* IN CNAME @
webserver IN A 192.168.0.25 ; A - запись - IP адрес нашего web сервера в сети
torrentserver IN A 192.168.0.26 ; A - запись - IP адрес нашего torrent сервера в сети
vidserver IN A 192.168.0.27 ; A - запись - IP адрес нашего сервера видео-наблюдения в сети
Также надо внести изменения в файл локального разрешения имен: resolv.conf
sudo vi /etc/resolv.conf
указать в нем адрес:
nameserver 127.0.0.1
Сохраняем изменения и выходим (:wq)
перезапускам службу
sudo service bind9 restart
Теперь разрешением имен в интернете будут заниматься ДНС сервера указанные в секции forwarders.
Проверяем работоспособность:
1. Преобразование внутри сети:
ping webserver.home
Обмен пакетами с web.home [192.168.0.25] с 32 байтами данных:
Ответ от 192.168.0.25: число байт=32 время=115мс TTL=64
Ответ от 192.168.0.25: число байт=32 время=207мс TTL=64
Ответ от 192.168.0.25: число байт=32 время=86мс TTL=64
Ответ от 192.168.0.25: число байт=32 время=406мс TTL=64
2. Разрешение имен в интернете:
# nslookup ya.ru Unknown answer: Addresses: 192.168.20 Non-authoritative answer: Name: ya.ru Addresses: 213.180.204.3
Здраствуйте!
Прошу помощи.
Как можно настроить BIND при условии: Имеется локальная сеть (без интернета, внешних DNS сеть не видет).
Стоит маршрутизатор Mikrotik (DHCP, Hotspot). Hotspot перенаправляет клиентов на локальный Web-сайт (www-сервер).
Проблема в том что, Hotspot без DNS сервера работает только с запросами IP-адресами (в браузерах клиентов). По запросам от клиентов в браузере типа google.ru вылетает ошибка о недоступности страницы, тоесть Hotspot такие запросы без DNS обратки игнорирует.
Как научить BIND, при отсутствии интернета, подменять любой запрос хоть google.ru, хоть пупкин.рф припарковывал IP моего веб-сервера?
Схема моей сетки http://efimrus.ru//var/www/clients/client2/web5/web/wp-content/uploads/2014/06/NET.jpg
Доброго дня, не совсем понятен смысл, конкретизируйте вопрос.
На сколько на данный момент понял, у клиентов нет возможности разрешать имена внутри сети?
если так, то вам достаточно создать зону или если она есть запись в ДНС, типа
webserver IN A 192.168.0.25 ; A — запись — IP адрес нашего web сервера в сети
в данной статье это есть, пишите.
@ IN NS name. ; имя сервера имен
Не пойму, какое имя сервера имён ему нужно? он жа сам себе dns сервер?
Вы серьезно!?
Степан, что не так?
servise bind9 reload