Найти в Дзене
Вот и Linux за окном

0028.Строим маленький интернет. DNS. bind.Прямая зона.

Приветствую вас, Уважаемые Читатели! Следующим шагом в построении маленького интернета предполагаю сделать настройку службы DNS. Сервера, которые реализуют функции этой службы преобразуют доменные имена (например сайтов) в IP адреса. Т.е. эти DNS сервера получают от клиента (это браузер или другая программа) запрос с доменным именем, а отправляют клиенту ответы с IP-адресом. Сервера службы DNS преобразуют как доменные имена в адреса, так и адреса в доменные имена. Одна из известнейших серверов DNS это сервера на основе BIND. Запустим и настроим такой сервер в нашей виртуальной среде. Для начала один, чуть позже перейдём к делегированиям и вторичным серверам. Для начала необходимо установить BIND9. У нас уже есть сервер deb-lan3-bind-prim c настроенной сетью, и настроенным внешним DNS сервером. Эту роль играет роутер моей домашней сети, он перенаправляет направляемые ему запросы дальше на сервер провайдера. Поскольку для используемой версии Debian репозитории обновлений уже не актуа

Приветствую вас, Уважаемые Читатели!

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

Одна из известнейших серверов DNS это сервера на основе BIND.

Запустим и настроим такой сервер в нашей виртуальной среде. Для начала один, чуть позже перейдём к делегированиям и вторичным серверам.

Для начала необходимо установить BIND9.

У нас уже есть сервер deb-lan3-bind-prim c настроенной сетью, и настроенным внешним DNS сервером. Эту роль играет роутер моей домашней сети, он перенаправляет направляемые ему запросы дальше на сервер провайдера.

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

/etc/apt/sources.list

deb http://archive.debian.org/debian/ buster main contrib

deb http://archive.debian.org/debian/ buster-backports main contrib

deb http://archive.debian.org/debian-security/ buster/updates main contrib

Далее выполняем команды:

apt update

apt install bind9

После этого сервер должен быть установлен.

У меня во всяком случае установился.

Теперь необходимо отредактировать настроечные файлы. В данном случае просто приведу свои.

/etc/bind/named.conf.options (описание общих параметров)

options {

directory "/var/cache/bind";

listen-on port 53 {127.0.0.1;192.168.3.100;};

allow-query {any;};

allow-recursion {any;};

allow-transfer {any;};

forwarders {192.168.100.1;};

// 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;

// };

//========================================================================

// If BIND logs error messages about the root key being expired,

// you will need to update your keys. See https://www.isc.org/bind-keys

//========================================================================

dnssec-validation auto;

listen-on-v6 { no; };

};

/etc/bind/named.conf.local (описание параметров конкретных зон)

//

// Do any local configuration here

//

// Consider adding the 1918 zones here, if they are not used in your

// organization

//include "/etc/bind/zones.rfc1918";

zone "loc"

{

type master;

file "/var/lib/bind/db.loc";

};

/var/lib/bind/db.loc (описание содержимого конкретной зоны)

$TTL 86400

loc. IN SOA deb-lan3-bind-prim.loc. root.deb-lan3-bind.prim.loc (

2025111001;

600;

600;

86400;

600);

loc. IN NS deb-lan3-bind-prim.loc.

loc. IN A 192.168.3.100

deb-lan3-bind-prim IN A 192.168.3.100

winxp-lan1-host102 IN A 192.168.1.102

deb-lan3-out-router IN A 192.168.3.1

deb-lan3-lan2-router IN A 192.168.3.102

deb-lan3-lan1-router IN A 192.168.3.101

deb-lan1-host101 IN A 192.168.1.101

deb-lan2-host102 IN A 192.168.2.101

/etc/resolv.conf

domain loc.

Это собственно и все настройки для единственного основного DNS сервера.

Далее проверяем синтаксис файл описания зоны, синтаксис файла содержимого зоны конкретного домена, перегружаем сервис bind9, перезагружаем зоны и проверяем статус работы сервиса.

Теперь пропишем файл resolv.conf для всех хостов, которые предполагается содержать в домене loc. Для этого отредактируем файл для хостов

deb-lan2-host101

deb-lan1-host101

deb-lan3-lan1-router

deb-lan3-lan2-router

deb-lan3-lan4-router

/etc/resolv.conf

nameserver 192.168.3.100

domain loc.

Для

deb-lan3-bind-prim

/etc/resolv.conf

domain loc.

Хосты

deb-lan4-bind-prim

win-lan4-host101

трогать пока не будем, с ними у нас будет своя история.

Теперь можно проверить как работает разрешение имён в сети.

Для этого используем хост deb-lan2-host101.

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

-2

Как можно видеть сервер получает запрос, и возвращает адрес хоста в качестве ответа. Этого мы и добивались. Это конечно не много, но является началом для дальнейшего усложнения.

Благодарю всех Уважаемых Читателей, дочитавших до этого места.

Желаю всем удачи в начинаниях и продолжениях, до новых встреч!!!)

-3

PS

Статья не является учебным пособием, и представляет личный опыт автора. Статья может содержать ошибки и не точности.
Приведённые данные необходимо проверять самостоятельно.

Картинка для превью статьи сгенерирована сетью Шедеврум.