Всем привет!
После написания вчерашней статье о настройке 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 … ?
Приветствую!
Конечно никакого смысла нет. это опечатка:)