Всем привет!
После написания вчерашней статье о настройке NAT, решил написать еще пару материалов для организации локальной сети предприятия.
В этом материале рассмотрим настройку кеширующего DNS сервера unbound, который пришел на смену предустановленному Bind в 10х версиях FreeBSD.
Использование Unbound в локальной сети позволит немного сократить трафик, плюсом является, что можно организовать свою внутреннюю зону, что даст возможность обращаться например к внутренним web серверам по имени.
Итак, дано (все тоже самое, что и в прошлой статье):
- FreeBSD 11.2-RELEASE-p3
- Сетевой интерфейс em0 IP 4.4.4.4 — смотрит в мир (WAN)
- Сетевой интерфейс em1 IP 192.168.33.1 — смотрит в локальную сеть (LAN)
Unbound является предустановленным программным обеспечением во FreeBSD 11, и позволяет легко организовать кеширующий DNS сервер с возможностью настройки рабочих ethernet интерфейсов и ограничение доступа по IP адресам, так же позволяет поднятие своей локальной зоны.
Разрешаем запуск Unbound:
# echo local_unbound_enable=\"YES\" >> /etc/rc.conf
Инициализируем запуск Ubound, при этом он создаст нужные ему конфигурационные файлы:
# /etc/rc.d/local_unbound setup
Если сейчас попробовать его запустить, он запустится и будет локально обрабатывать запросы, но мы хотим, чтобы он обслуживал нашу локальную сеть, поэтому немного отредактируем конфигурационные файлы:
# vi /etc/unbound/unbound.conf
server:
username: unbound
directory: /var/unbound
chroot: /var/unbound
pidfile: /var/run/local_unbound.pid
auto-trust-anchor-file: /var/unbound/root.key
port: 53 #Порт
interface: 127.0.0.1 #на каком ip адресе обрабатывать клиентов
interface: 192.168.33.1 #на каком ip адресе обрабатывать клиентов
outgoing-interface: 4.4.4.4 # исходящий интерфейс
access-control: 192.168.33.0/24 allow # разрешаем подключаться из этой сети
access-control: 127.0.0.1 allow # само собой разрешаем
do-ip4: yes #Работаем на ipv4
do-ip6: no #ipv6 отключаем (я не использую)
do-udp: yes # разрешаем UDP протокол
do-tcp: yes # разрешаем TCP протокол
include: /var/unbound/forward.conf
include: /var/unbound/lan-zones.conf
include: /var/unbound/control.conf
include: /var/unbound/conf.d/*.conf
Проверим forward.conf:
# vi /etc/unbound/forward.conf
Должно быть примерно следующее:
# Modifications will be overwritten.
forward-zone:
name: .
forward-addr: 8.8.8.8
forward-addr: 8.8.4.4
В forward.conf можно указать для какой-либо зоны определенный DNS сервер (например авторитарный сервер, чтобы получать обновление зоны очень быстро):
forward-zone:
name: "marvins.ru."
forward-addr: xxx.xxx.xxx.xxx #Как правило адрес авторитарного DNS сервера
Добавим в lan-zones.conf описание нашей локальной сети:
# vi /etc/unbound/lan-zones.conf
server:
# Unblock reverse lookups for LAN addresses
unblock-lan-zones: yes
insecure-lan-zones: yes
local-zone: "33.168.192.in-addr.arpa." static
local-data: "33.168.192.in-addr.arpa. 10800 IN NS marvins.lan."
local-data: "33.168.192.in-addr.arpa. 10800 IN SOA marvins.lan. admin.marvins.lan. 1 3600 1200 604800 10800"
local-data: "marvins.lan. 10800 IN A 192.168.33.1"
local-data: "1.33.168.192.in-addr.arpa. 10800 IN PTR marvins.lan."
local-data: "1.33.168.192.in-addr.arpa. 10800 IN PTR gateway.marvins.lan."
local-data: "gateway.marvins.lan. 10800 IN A 192.168.33.1"
Как видим, мы добавили зону lan. наш сервер объявили обслуживающим зону (NS запись) как marvins.lan
И добавили A и PTR записи для имени gateway.marvins.lan.
Стартуем сервер:
# /etc/rc.d/local_unbound start Starting local_unbound. Waiting for nameserver to start... good
Проверим:
# sockstat | grep unbound unbound unbound 50311 3 udp4 127.0.0.1:53 *:* unbound unbound 50311 4 tcp4 127.0.0.1:53 *:* unbound unbound 50311 5 udp4 192.168.33.1:53 *:* unbound unbound 50311 6 tcp4 192.168.33.1:53 *:*
Видим, что все хорошо:)
На клиенте прописываем наш DNS сервер, пробуем пингануть что-нибудь:
C:\Users\Administrator>ping ya.ru
Обмен пакетами с ya.ru [87.250.250.242] с 32 байтами данных:
Ответ от 87.250.250.242: число байт=32 время=6мс TTL=54
Ответ от 87.250.250.242: число байт=32 время=5мс TTL=54
Ответ от 87.250.250.242: число байт=32 время=6мс TTL=54
Ответ от 87.250.250.242: число байт=32 время=5мс TTL=54
Статистика Ping для 87.250.250.242:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 5мсек, Максимальное = 6 мсек, Среднее = 5 мсек Проверяем как резольвятся наши локальные имена:
C:\Users\Administrator>ping gateway.marvins.lan
Обмен пакетами с gateway.marvins.lan [192.168.33.1] с 32 байтами данных:
Ответ от 192.168.33.1: число байт=32 время<1мс TTL=64
Ответ от 192.168.33.1: число байт=32 время<1мс TTL=64
Ответ от 192.168.33.1: число байт=32 время<1мс TTL=64
Ответ от 192.168.33.1: число байт=32 время<1мс TTL=64
Статистика Ping для 192.168.33.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек Видим, что все работает.
В следующем материале опишу установку и настройку DHCP сервера.
Я правильно понял, что lan-zones.conf находится в /var/unbound (как указано в основном файле конфигурации), а не в /etc/unbound ?
Вопрос снят)) не увидел, что это симлинк
Какой смысл добавлять НЕСКОЛЬКО строк local-data: «1.33.168.192.in-addr.arpa. 10800 IN PTR … ?
Приветствую!
Конечно никакого смысла нет. это опечатка:)