# 7 - настройка DNS для SRV-HQ и SRV-BR

#### Задание:

7\. Настройка DNS для SRV-HQ и SRV-BR

* i. Реализуйте основной DNS сервер компании на SRV-HQ
  * a. Для всех устройств обоих офисов необходимо создать записи A и PTR.
  * b. Для всех сервисов предприятия необходимо создать записи CNAME
  * c. Создайте запись test таким образом, чтобы при разрешении имени из левого офиса имя разрешалось в адрес SRV-HQ, а из правого – в адрес SRV-BR.
  * d. Сконфигурируйте SRV-BR, как резервный DNS сервер. Загрузка записей с SRV-HQ должна быть разрешена только для SRV-BR
  * e. Клиенты предприятия должны быть настроены на использование внутренних DNS серверов

#### Выполнение:

**SRV-HQ:**

* Устанавливаем пакет **bind** и **bind-utils**:

```
apt-get update && apt-get install -y bind bind-utils
```

* Редактируем конфигурационный файл по пути "**/etc/bind/options.conf**":

```
vim /etc/bind/options.conf
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%286%29.png)

где:

**listen-on { any; };** - Этот параметр определяет адреса и порты, на которых DNS-сервер будет слушать запросы. Значение any означает, что сервер будет прослушивать запросы на всех доступных интерфейсах и IP-адресах.

**allow-query { any; };** -  Определяет список IP-адресов или подсетей, которым разрешено отправлять запросы на этот DNS-сервер. Значение any позволяет принимать запросы от всех клиентов.

**allow-transfer { 10.0.20.2; };** - устанавливает возможность передачи зон для slave-серверов.

* Правим конфигурационный файл "**/etc/net/ifaces/ens33/resolv.conf**":

```
cat <<EOF > /etc/net/ifaces/ens33/resolv.conf
search company.prof
nameserver 127.0.0.1
EOF
```

* Перезапускаем службу **network**:

```
systemctl restart network
```

* Выполняем запуск и добавление в автозагрузку **DNS - сервера**:

```
systemctl enable --now bind
```

* Проверяем:

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%287%29.png)

* Созданиём зону прямого просмотра и обратного просмотра, добавляем в конфигурационный файл "**/etc/bind/local.conf**":

```
vim /etc/bind/local.conf
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%288%29.png)

где:

**zone "..." { ... };** : Это начало определения зоны. В кавычках указывается имя зоны, которое следует разрешать на этом сервере.

**type master;** : Это указывает тип зоны. "type master" означает, что эта зона является мастер-зоной, то есть она содержит авторитетные записи, которые могут быть изменены и обновлены на этом сервере.

**file "...";** : Это указывает путь к файлу, который содержит данные зоны. Файлы данных зоны используются для хранения записей DNS, таких как A-записи, CNAME-записи, MX-записи и т. д.

* Копируем пример прямой зоны:

```
cp /etc/bind/zone/{localdomain,company.db}
```

* Копируем пример для зоны обратного просмотра:

```
cp /etc/bind/zone/127.in-addr.arpa /etc/bind/zone/10.0.10.in-addr.arpa.db
```

```
cp /etc/bind/zone/127.in-addr.arpa /etc/bind/zone/20.0.10.in-addr.arpa.db
```

* Задаём права - назначаем владельца:

```
chown root:named /etc/bind/zone/company.db
```

```
chown root:named /etc/bind/zone/10.0.10.in-addr.arpa.db
```

```
chown root:named /etc/bind/zone/20.0.10.in-addr.arpa.db
```

* Настраиваем зону прямого просмотра:

```
vim /etc/bind/zone/company.db
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%289%29.png)

**Запись типа NS** определяет авторитетные DNS-серверы для определенной зоны.

**Запись типа A** связывает доменное имя с IPv4-адресом. Она используется для преобразования доменного имени в соответствующий IP-адрес.

**Запись типа CNAME** используется для создания псевдонима (алиаса) для другого доменного имени. Она указывает, что одно доменное имя является псевдонимом (алиасом) для другого "канонического" доменного имени.

* Настраиваем зону прямого просмотра для сети 10.0.10.0/24:

```
vim /etc/bind/zone/10.0.10.in-addr.arpa.db
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2810%29.png)

* Настраиваем зону прямого просмотра для сети 10.0.20.0/24:

```
vim /etc/bind/zone/20.0.10.in-addr.arpa.db
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2811%29.png)

* Утилитой "**named-checkconf**" с ключём "**-z**" проверяем что файл зон не содержитат ошибок и загружаются:

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2812%29.png)

* Перезагружаем службу **bind**:

```
systemctl restart bind
```

* Проверяем:
  * Зона прямого просмотра:

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2813%29.png)

* * Зоны обратного просмотра:

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2814%29.png)

**SRV-BR:**

Настраиваем как резервный DNS сервер

* Устанавливаем пакет **bind** и **bind-utils**:

```
apt-get update && apt-get install -y bind bind-utils
```

* Редактируем конфигурационный файл по пути "**/etc/bind/options.conf**":

```
vim /etc/bind/options.conf
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2815%29.png)

* добавляем в конфигурационный файл "**/etc/bind/local.conf**" следующую информацию:

```
vim /etc/bind/local.conf
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2816%29.png)

* Правим конфигурационный файл "**/etc/net/ifaces/ens33/resolv.conf**":

```
cat <<EOF > /etc/net/ifaces/ens33/resolv.conf
search company.prof
nameserver 10.0.10.2
nameserver 10.0.20.2
EOF
```

* Перезапускаем службу **network**:

```
systemctl restart network
```

* Выполняем запуск и добавление в автозагрузку **DNS - сервера**:

```
systemctl enable --now bind
```

* Чтобы bind работал в режиме SLAVE, нужно выполнить:

```
control bind-slave enabled
```

* Проверяем:
  * должны появиться файлы зон по пути "**/etc/bind/zone/slave/**":

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2817%29.png)

* * работоспособность с **CLI-BR:**

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2818%29.png)

#### **SRV-HQ:**

Создайте запись test таким образом, чтобы при разрешении имени из левого офиса имя разрешалось в адрес SRV-HQ, а из правого – в адрес SRV-BR.

* добавляем в конфигурационный файл "**/etc/bind/local.conf**" следующую информацию:

```
vim /etc/bind/local.conf
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2819%29.png)

* Копируем пример для зоны:

```
cp /etc/bind/zone/{localdomain,test.company.db}
```

* Задаём права - назначаем владельца:

```
chown root:named /etc/bind/zone/test.company.db
```

* Настраиваем зону:

```
vim /etc/bind/zone/test.company.db
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2820%29.png)

* Перезапускаем службу **bind**:

```
systemctl restart bind
```

#### **SRV-BR:**

* добавляем в конфигурационный файл "**/etc/bind/local.conf**" следующую информацию:

```
vim /etc/bind/local.conf
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2821%29.png)

* Копируем пример для зоны:

```
cp /etc/bind/zone/{localdomain,test.company.db}
```

* Задаём права - назначаем владельца:

```
chown root:named /etc/bind/zone/test.company.db
```

* Настраиваем зону:

```
vim /etc/bind/zone/test.company.db
```

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2822%29.png)

* Перезапускаем службу **bind**:

```
systemctl restart bind
```

* Проверяем:
  * с **CLI-HQ**:

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2823%29.png)

* * с **CLI-BR:**

![](https://sysahelper.ru/pluginfile.php/230/mod_page/content/3/image%20%2824%29.png)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://seraphim.gitbook.io/volodyazetkin2024gitbook/2024-modul-b-1.-bazovaya-nastroika/7-nastroika-dns-dlya-srv-hq-i-srv-br.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
