Pfsense dns resolver настройка

Обновлено: 07.07.2024

Глава 2 Предоставляемые сервисы

В этой главе мы рассмотрим:
- конфигурирование сервера DHCP
- создание статического маппинга DHCP
- конфигурирование DHCP релея
- определение альтернативных DNS серверов
- конфигурирование DNS форвардера
- конфигурирование автономного DHCP/DNS сервера
- конфигурирование динамического DNS

Введение
После установки pfSense и прохождения шагов начальной конфигурации мы получили базовую конфигурацию системы. Сейчас мы имеем:
- определённые системные требования
- настроенный доступ посредством SSH
- присвоенные интерфейсы LAN, WAN, и DMZ

Теперь мы готовы приступить к настройке основных сетевых сервисов которые может обеспечить pfSense.
- DHCP сервис позволяет клиентам автоматически получать IP адреса
- DNS сервис транслирует IP адреса в читаемые имена DNS и наоборот
- сервис Dynamic DNS позволяет pfSense автоматически обновлять DNS записи в случае изменения вашего IP адреса.

Конфигурирование DHCP сервера
Этот рецепт описывает, как конфигурируется DHCP сервис в pfSense. Сервис DHCP позволяет выдавать IP адреса для любых клиентов всего за один запрос.

Подготовка
pfSense может быть настроен в качестве DHCP сервера для интерфейсов сконфигурированных на использование статического IP адреса. Примеры используемые в этой книге, включают интерфейсы LAN и DMZ, но не WAN. Этот рецепт позволит настроить сервер DHCP для интерфейса DMZ.

Как это сделать.
1. Открываем Services | DHCP Server.
2. Выбираем закладку DMZ.
3. Отмечаем флаг Enable DHCP server on DMZ interface



4. Выбираем диапазон (Range) IP адресов для использования клиентами DHCP. Этот диапазон должен быть непрерывным и входить в доступный диапазон (Available range)

5. Сохраняем (Save) изменения и DHCP сервер автоматически стартует
6. Применяем (Apply) изменения, если необходимо.

Как это работает.
DHCP сервер принимает запросы с клиентов и назначает им доступные IP адреса.

Немного больше.
Сервер DHCP, отвечая на запрос клиента назначает первый доступный IP адрес. С большой долей вероятности, при каждом запросе, клиент будет получать разные IP адреса. Если необходимо, чтобы клиент всегда получал один и тот же IP адрес, можно создать статическое сопоставление DHCP. О создании статического сопоставления, читайте следующий рецепт.

Запрет неизвестных клиентов (Deny Unknown Clients)
Включение этой опции гарантирует, что только клиенты со статическим сопоставлением DHCP будут получать IP адреса. DHCP запросы от других клиентов будут игнорироваться. Это отличается от Enable static ARP entries, в случае чего, неизвестные клиенты будут получать IP адреса, хотя, в любом случае, не смогут взаимодействовать с брандмауэром (на этом интерфейсе).

DNS серверы (DNS servers)
Укажите любой DNS сервер для автоматического назначения DHCP клиенту. Если оставить это поле пустым, pfSense автоматически присвоит DNS сервера клиентам одним из следующих способов - если включен DNS форвардер, то используется IP адрес интерфейса. Это связано с тем, что, когда DNS форвардер включен, pfSense сама считается DNS сервером, следовательно клиенту присваивается IP адрес в зависимости от используемого интерфейса.
- если DNS форвардер не включен, то используются DNS сервера настроенные на странице основной настройки (General Setup). И конечно, если включена опция Allow DNS server list to be overridden by DHCP/PPP on WAN на странице General Setup, то будут использованы DNS сервера полученные через WAN.

Шлюз (Gateway)
Интерфейс шлюза будет предоставлен предоставлен клиентам по умолчанию (т.е. чтатический IP интерфейса), однако, здесь его можно переопределить.

Имя домена (Domen Name)
Используется имя домена, определённое на странице General Setup, однако в этом поле оно может быть переопределено.

Время аренды по умолчанию (Default Lease Time)
Здесь можно указать альтернативный срок аренды адреса. По умолчанию время аренды составляет 7200 секунд.

Максимальное время аренды (Maximum Lease Time)
Здесь можно указать максимальное время аренды. По умолчанию значение установлено в 86400 секунд.

IP отказоустойчивого пира (Failover Peer IP)
Для CARP конфигурируемых систем здесь может определяться fail-over IP адрес. Смотрите конфигурацию CARP в рецепте "Конфигурирование CARP отказоустойчивости брандмауэра" главы 6 "Избыточность, Балансировка нагрузки и отказоустойчивость".

Статический ARP (Static ARP)
Включение статических записей ARP позволяет только клиентам сопоставления DHCP взаимодействовать с брандмауэром на этом интерфейсе. Неизвестным клиентам IP адреса будут выдаваться, но связи с брандмауэром будут заблокированы. Эта опция отличается от Deny Unknown Clients, когда неизвестные клиенты даже не получают IP адреса.

Динамический DNS (Dynamic DNS)
Включает клиентов для автоматической регистрации с определеным доменом Dynamic DNS.

Дополнительные параметры BOOTP/DHCP (Additional BOOTP/DHCP Options)
Введите сюда любые пользовательские параметры DHCP. Список опций можно найти по адресу

Смотрите так же.
- Рецепт Создание статического сопоставления DHCP
- Рецепт Конфигурирование CARP отказоустойчивости брандмауэра, главы 6.

Создание статических сопоставлений DHCP
Этот рецепт описывает как добавить статические сопоставления DHCP в pfSense. Статические сопосталения DHCP позволяют клиентам получать одни и те же IP адреса.

Подготовка
Создание статических сопоставлений DHCP применимо только к интерфейсам использующим сервис DHCP.

Как это сделать.
1. Переходим на страницу Status | DHCP Leases для просмотра списка клиентов которые создают DHCP запросы.



2. Щёлкнем кнопку [+] для добавления нового статического сопоставления DHCP.
3. MAC адрес заполняется автоматически
4. Введём IP address, который должен находится вне диапазона динамически назначаемых адресов DHCP.
5. Поле Hostname может быть предварительно заполненным, если это не так - вводим имя хоста.
6. Вводим описание.


7. Сохраняем изменения (Save).
8. Применяем изменения (Apply), если это необходимо. Прокручиваем страницу DHCP Server вниз и проверяем наличие вновь созданного сопоставления.


Как это работает.
Когда клиент соединяется с вашим DHCP сервером, брандмауэр сначала проверяет сопоставления. Если MAC адрес клиента совпадает с определёнными вами сопоставлениями, то DHCP сервер использует IP адрес определённый в сопоставлении. Если нет созданного сопоставления для MAC адреса вашего клиента, DHCP сервер использует IP адрес из доступного диапазона.

Немного больше.
Статическое сопоставление может быть просмотрено в нижней части страницы конфигурации DHCP Server для каждого интерфейса отображаемого на закладке Services | DHCP Server | Interfaces.

Все статические сопоставления для данного интерфейса управляются здесь. Созданное статическое сопоставление может быть изменено или удалено, а так же может быть добавлено новое сопоставление, однако, при этом приётся вручную ввести MAC адрес.


Смотрите так же.
- рецепт Конфигурирование DHCP сервера
- рецепт Конфигурирование DHCP релея

Конфигурирование DHCP релея
Этот рецепт описывает как сконфигурировать pfSense для работы в качестве DHCP релея запросов между широковещательными доменами. Определение DHCP релея - это альтернатива для конфигурирования сервиса DHCP на самом pfSense.

Подготовка
Релей DHCP может быть включён только если DHCP сервер выключен на всех интерфейсах. Если необходимо, сначала отключите DHCP сервер на всех интерфейсах
1. Переходим на закладку Services | DHCP Server | Interface (Например LAN).
2. Снимаем флаг Enable DHCP Server on LAN Interface.
3. Сохраняем (Save) изменения.
4. Примененяем (Apply) изменения если это необходимо.



Как это сделать.
1. Переходим на страницу Services | DHCP Relay.
2. Отмечаем флаг Enable DHCP Relay on Interfaces.
3. Выбираем интерфейсы на которых будет использоваться релей. Используем Ctrl+ щелчок для выделения нескольких интерфейсов.
4. Вводим IP адрес существующих DHCP серверов, которые будут использоваться в качестве сервера назначения (Destination Server). Могут быть введены несколько IP адресов разделённых запятыми.
5. Сохраняем (Save) изменения.
6. Применяем (Apply) изменения, если это необходимо.


Как это работает.
pfSense может быть сконфигурирован в качестве релея DHCP запросов для существующих DHCP серверов. Любые входящие запросы DHCP будут направлены на указанные сервер(а) и их ответы будут возвращены клиентам.

Добавление в запросы Circuit ID и Agent ID
(Append Circuit ID and Agent ID to Requests)
pfSense может добавлять номер интерфейса (Circuit ID) и Agent ID в запросы DHCP, если данный флаг отмечен.

Релей запросов для WAN DHCP сервера
(Relay requests to the WAN DHCP server)
Выберите эту опцию для релея всех запросов к DHCP определённым для вашего WAN соединения.

Во время написания этой книги, данная особенность реализована в версии pfSense 2.0 Beta.

Смотрите так же.
- рецепт Конфигурирование DHCP сервера
- рецепт Конфигурирование статического сопоставления DHCP

Определение альтернативных DNS серверов
Этот рецепт описывает, как конфигурировать pfSense для использования DNS серверов отличных от используемых на вашем WAN соединении.

Подготовка
Когда речь заходит о разрешении DNS имён, большинство сред опирается на DNS сервера предоставляемые им ISP. По умолчанию, DNS сервера не определяются в pfSense и используется параметр Allow DNS server list to be overridden by DHCP/PPP on WAN. Однако, ручное определение альтернативных DNS серверов возможно если последовать рецепту следующего подраздела.

Как это сделать.
1. Переходим System | General Setup
2. Секция DNS servers содержит следующие установки
- Определить IP адрес и шлюз для каждого существующего сервера из DNS servers
- Снять флаг Allow DNS server list to be overridden by DHCP/PPP on WAN
3.Сохраните изменения (Save)
4. Примените изменения (Apply), если это необходимо.


Как это работает.
DNS сервера определяемые здесь используются системой по умолчанию, и всегда будут приоритетными, если только не будут переопределены.

Замечание:
DNS сервера перечисленные здесь (4.2.2.1-4.2.2.4) являются публичными DNS серверами которые могут помочь вам при решение возникших проблем и проведении диагностики проблем DNS.

Использование DNS форвардера (Using the DNS Forwarder)
Если DNS форвардер включен, мы можем переопределить DNS сервера для индивидуальных доменов или даже для отдельных устройств. Более подробную информацию смотрите в следующем рецепте - Настройка DNS форвардера. Форвардер имеет приоритет над всеми запросами DNS.

Использование ваших WAN DNS серверов
Когда установлен флаг Allow DNS server list to be overridden by DHCP/PPP on WAN, pfSense будет проводить разрешение DNS имён используя DNS сервер предоставленный WAN, прежде чем перейти к серверам определённым в списке. После DNS форвардера, это наиболее приоритетный вариант DNS запросов.

Смотрите так же.
- рецепт Конфигурирование DNS форвардера

Конфигурирование DNS форвардера
Этот рецепт описывает как сконфигурировать DNS форвардер в pfSense. DNS форвардер позволяет действовать pfSense в качестве DNS сервера с различными возможностями.

Подготовка
DNS форвардер позволяет pfSense разрешать DNS запросы используя имена хостов полученных от службы DHCP, статического сопоставления DHCP, или используя информацию введённую вручную. Кроме того DNS форвардер может переадресовывать все запросы DNS для определённого домена к указанному в ручную серверу.

Как это сделать.
1. Переходим на страницу Services | DNS Forwarder | Enable DNS Forwarder
2. Если включен флаг Register DHCP leases in DNS Forwarder, любые устройства в Status | DHCP Leases будут обслуживаться если будет обнаружено совпадение.
3. Если включен флаг Register DHCP static mappings in DNS Forwarder, любые устройства сопоставленные на любой интерфейс в закладке Services | DHCP Server будут обслуживаться при обнаружении совпадений.



4. Определите индивидуальные хосты (Hosts) для обслуживания в качестве DNS записи, нажав кнопку [+] для добавления записи. Устройства в этом списке проверяются в первую очередь, т.ч. даже если запись существует в другом месте, записи существующие здесь будут иметь приоритет и обрабатываются немедленно.
5. Определите DNS сервер для конкретного домена, нажав кнопку [+] для добавления записи. Эти записи проверяются сразу после записей определённых выше, т.ч. совпадения обнаруженные здесь будут иметь приоритет над записями которые могут существовать в другом месте.

6. Сохраните (Save) изменения.
7. Примените (Apply) изменения если это необходимо.

Как это работает.
Если включен DNS форвардер, он имеет приоритет над всеми запросами DNS и отвечает на них в следующем порядке
1/ Индивидуальные записи устройства (Services | DNS Forwarder).
2/ Записи специфичные для домена (Services | DNS Forwarder).
3/ Статические сопоставления DHCP (закладка Services | DHCP Server | Interface).
4/ DHCP аренды (Status | DHCP Leases).

Смотрите так же.
- рецепт Конфигурирование DHCP сервера.
- рецепт Конфигурирование статических сопоставлений DHCP.
- рецепт Конфигурирование автономного сервера DHCP/DNS.

Конфигурирование автономного сервера DHCP/DNS
Этот рецепт описывает как сконфигурировать pfSense в качестве автономного DHCP и DNS сервера.

Как это сделать.
1. Конфигурируем pfSense как DHCP сервер. Смотрите рецепт Конфигурирование DHCP сервера.
2. Создаём статическое сопоставление DHCP для каждого устройства в системе которое будет получать IP адрес через DHCP. Смотрите рецепт Создание статического сопоставления DHCP.
3. Переходим на страницу System | General Setup.
4. Убедитесь, что никакие другие DNS сервера не указаны.
5. Включаем Allow DNS server list to be overridden by DHCP/PPP on WAN, чтобы pfSense мог разрешать внешние адреса используя DNS сервера предоставленные вашим ISP для вашего WAN соединения.
6. Сохраняем (Save) изменения.
7. Применяем (Apply) изменения если это необходимо.


8. Переходим на страницу Sytem | DNS Forwarder.
9. Отмечаем флаг Enable DNS Forwarder.
10. Отмечаем флаг Register DHCP static mappings in DNS forwarder.

11. Создаём запись хоста (Host) для любого устройства имя которого должно решаться, но которое не имеет сопоставления DHCP (т.е. те устройства, которые имеют собственные IP адреса).
12 Создаём запись домена (Domain) для любых DNS запрсов которые вы хотели направлять в конкретный домен.

13. Сохраняем (Save) изменения.
14. Применяем (Apply) изменения если это необходимо.

Как это работает.
Если DNS форвардер включен, каждый DNS запрос с каждого интерфейса будет обрабатываться pfSense. Индивидуальные записи хоста отмечаются первыми, и если обнаруживаются совпадения, немедленно возвращается связанный IP адрес. При включении опции Register DHCP Static Mappings, вам не придётся беспокоится о создании DNS записей для этих устройств. Это предпочтительный метод использования pfSense в качестве DNS сервера. Пока мы создаём статические сопоставления для каждого устройства сети, их имена разрешаются автоматически.

Смотрите так же
• рецепт Конфигурирование DHCP сервера
• рецепт Создание статического сопоставления DHCP
• рецепт Конфигурирование DNS форвардера.

Настройка динамического DNS
Этот рецепт описывает, как настроить сервис динамического DNS в pfSense

Подготовка
Внутренний сервис динамического DNS позволяет автоматически обновлять записи динамического DNS при обнаружении изменений IP адреса интерфейса.

Как это сделать.
1. Переходим на Services | Dynamic DNS.
2. Переходим на вкладку DynDNS.
3. Нажимаем [+] для добавления новой записи.
4. Выбираем тип службы (то есть провайдера динамического DNS).
5. Указываем контролируемый интерфейс (как правило WAN интерфейс).
6. Указываем имя хоста (т.е. имя DNS которое нам предоставил провайдер динамического DNS).
7. Включаем шаблоны, если необходимо.
8. Вводим имя пользователя и пароль которые нам выдал провайдер динамического DNS.
9. Вводим понятное описание.
10. Сохраняем изменения.
11. Применяем изменения если это необходимо.


Как это работает.
Всякий раз, когда IP адрес нашего интерфейса изменяется, pfSense автоматически подключается к провайдеру динамического DNS и соответствующим образом обновляет IP адрес.

Преварительно настроенные типы сервисов (провайдеры динамического DNS).
pfSense поставляется со следующими конфигурациями популярных провайдеров услуг динамического DNS:

Указание альтернативного сервиса с помощью RFC 2136
Мы можем определить сервис динамического DNS, не попавший в список заранее установленных, если он соответствует стандарту RFC 2136. Выберите Services | Dinamic DNS | RFC 2136, а затем заполните соответствующие поля, используя информацию предоставленную соответствующим совместимым с RFC 2136 сервисом динамического DNS:

The first two items to configure for Multi-WAN are interfaces and DNS.

Interface Configuration¶

Setup the primary WAN as previously described in Setup Wizard . Then for the additional WAN interfaces, perform the following tasks:

Assign the interfaces if they do not yet exist

Visit the Interfaces menu entry for each additional WAN (e.g. Interfaces > OPT1)

Enable the interface

Enter a suitable name, such as WAN2

Select the desired type of IP address configuration depending on the Internet connection type.

Enter the remaining details for the type of WAN. For example, on static IP connections, fill in the IP address, subnet mask, and add or select a gateway.

DNS Configuration¶

DNS is critical for Internet connectivity. For multi-WAN to function correctly the firewall must always be able to resolve DNS for itself and on behalf of local clients utilizing the DNS Resolver or DNS Forwarder.

If the firewall configuration only includes DNS servers from a single WAN then an outage of that WAN results in a complete Internet outage since DNS will no longer function.

If the DNS Resolver is in resolver mode, see DNS Resolver and Multi-WAN .

If the DNS Resolver is set for forwarding mode or if the DNS Forwarder is in use, then the firewall must be configured with DNS servers for each WAN as described in DNS Forwarding and Static Routes .

DNS Resolver and Multi-WAN¶

The DNS Resolver can work with multi-WAN but the exact configuration depends on the desired behavior and current settings, especially the chosen DNS Resolver mode .

If the DNS Resolver is using its default resolver mode, such as for environments which require DNSSEC, then it can still function with multi-WAN but requires using failover for the default gateway. See Managing the Default Gateway .

Even in resolver mode if the firewall is set to use or fall back to remote DNS servers under System > General, DNS Resolution Behavior, then it is still useful to configure gateways for individual DNS servers as described in DNS Forwarding and Static Routes

DNS Forwarding and Static Routes¶

When using the DNS Resolver in forwarding mode or the DNS Forwarder, the firewall uses its routing table to reach the configured DNS servers. This means without any static routes configured, it will only use the WAN with the default gateway to reach DNS servers.

Gateways must be selected for each DNS server defined on the firewall. This forces the firewall to use a specific WAN interface to reach a given DNS server. At least one gateway from each WAN should be selected where possible.

Most ISPs prohibit recursive queries from hosts outside their network, hence the firewall must use the correct WAN interface when accessing DNS servers for a specific ISP.

DNS servers obtained from a dynamic WAN are automatically routed back out the appropriate dynamic WAN.

To configure DNS server gateways:

Navigate to System > General Setup

Define at least one unique DNS server for each WAN

Select an appropriate gateway for each DNS server so it uses a specific WAN

Each entry must be unique; the same DNS server cannot be entered more than once.

Name resolution makes life easier for everything so today I’ll show you how I’ve setup my pfSense device to perform DNS resolution on devices registered via pfSense DHCP.

pfSense General Setup – Domain

In this example I’m going to use the default domain name configured with pfSense. Obviously this should be tweaked for your specific needs but if you are running this at home then localdomain is fine. My home lab actually has it’s own Active Directory DNS servers and I configure pfSense to forward any requests for that lab domain to those DNS servers.

pfSense General Setup

pfSense DHCP Server Domain Name Configuration

Having picked our domain name we need to check that the DHCP server in pfSense is configuring said name when issuing an address lease. Browsing to the ‘Services’ menu and then selecting ‘DHCP Server’ we need to scroll down to the ‘Other Options’ section. By default pfSense will use the name defined under the system setting we checked earlier. If you want to configure an alternate name for a specific DHCP range (e.g on a different subnet) you can do so here. If like me you prefer to see the option that is being used when scrolling through a config then add the domain here implicitly.

Other Options Domain Name

pfSense DNS Resolver Settings

Now we can configure the pfSense DNS resolver settings to register DHCP leases in DNS to allow for easy name resolution. Browse to the ‘Services’ menu and select ‘DNS Resolver’.

Scroll down and select to register DHCP leases and if you are using static DHCP mappings, register those as well.

DHCP Registration and Static DHCP Registration in DNS Resolver

Testing Name Resolution

From my PC I now run a name resolution check to see if a Raspberry Pi I have configured on my network for dynamic DHCP has registered in DNS correctly and can be resolved. I also test to see if my Playstation 4 is resolved – it has a static registration so I’m showing that both dynamic and static entries are registering, just as we configured.

nslookup

The pfSense DHCP and DNS settings provide you with a huge range of options, certainly more than I have shown in this post, hopefully if you are looking to do something similar this post will assist you.

Share this:

9 thoughts on “pfSense DNS Resolution for DHCP Leases”

Anyway, thanks again!

So glad I could help, it is a challenge getting the information you need at times. That is what lead me to start blogging in the hope I can help others every now and then.

Thanks for the post and comments. Great stuff in here.

PS C:\> (Get-DNSClient).Suffix
localdomain

As a test you could use PowerShell to set the suffix to your desired entry and then test again. You could also set this in the GUI for the adaptor if you are more familiar with that or have set a static IP.

PS C:\> Set-DnsClient -ConnectionSpecificSuffix localdomain -InterfaceAlias Ethernet

After reading your post:
DHCP now has explicit Gateway/Domain (even though these are the defaults)

Tried adding private.lan to domain search list
No change

$ arp -a
unifi.private.lan (10.39.10.209) at 18:e8:ab:cd:ef:12 [ether] on enp0s25
_gateway (10.39.10.1) at 00:08:a1:23:45:67 [ether] on enp0s25

$ ping unifi
ping: unifi: Name or service not known

Non-authoritative answer:
Name: unifi.private.lan
Address: 10.39.10.209

Issue was that my Ubuntu laptop did not know it was in private.lan domain.
Moving laptop from manually typed fixed IP to reserved static IP in pfSense DHCP server fixed it.

Leave a Reply Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Читайте также: