Как настроить динамический DNS (DDNS) на pfSense с FastDDNS

pfSense может поддерживать hostname FastDDNS, указывающий на ваш WAN-адрес, двумя способами: как пользовательскую запись во встроенном клиенте Dynamic DNS или с помощью однострочного скрипта cron. В этом руководстве описана настройка обоих способов и объясняется, почему только один из них сохраняется после восстановления конфигурации.

Minh NguyenMinh NguyenОснователь и разработчик, FastDDNS

Два способа использовать FastDDNS на pfSense

На панели управления hostname доступны два варианта настройки. Метод 2 добавляет FastDDNS во встроенный Services > Dynamic DNS клиент как Custom провайдера — этот вариант лучше выбрать для постоянной настройки: pfSense сохраняет его в конфигурации и включает в резервные копии. Метод 1 вставляет однострочный скрипт в оболочку и создаёт задание cron, которое запускается каждые две минуты. Это работает сразу, но pfSense не управляет этим заданием.

Нумерация ниже соответствует меткам на вашей панели, а не рекомендуемому нами порядку. Для долгосрочной настройки используйте Метод 2; к Методу 1 обращайтесь, если нужно немедленно отправить обновление без заполнения формы.


Метод 2 — встроенный клиент DDNS Метод 1 — скрипт crontab
Где выполняется настройка Services > Dynamic DNS в веб-интерфейсе Diagnostics > Command Prompt, или по SSH
Сохраняется в конфигурации pfSense Да Нет — см. ограничение ниже
Сохраняется после восстановления конфигурации или переустановки Да Нет
Когда отправляется обновление При изменении адреса отслеживаемого интерфейса, а также раз в день при повторной проверке Каждые 2 минуты независимо от изменений
Сложность настройки Семь полей, четыре из которых нужно скопировать с панели Одно вставление
Подходит для Постоянной настройки Немедленного первого обновления или быстрой проверки

Прежде чем начать

Четыре вещи, и две из них решают, будет ли вообще работать удалённый доступ.

  • Имя хоста FastDDNS. Создайте его бесплатно на FastDDNS, затем откройте его и прокрутите до DDNS Configuration Parameters > Firewall pfSense.
  • Административный доступ к веб-интерфейсу pfSense, а доступ к консоли — только если вы планируете использовать метод 1.
  • Реальный публичный IP на интерфейсе WAN. Если ваш интернет-провайдер помещает вас за Carrier-Grade NAT, DDNS не поможет — hostname будет указывать на адрес, недоступный извне сети провайдера. Проверьте адрес WAN на панели управления pfSense или запустите CGNAT Checker в мобильном приложении FastDDNS.
  • Правила файервола и NAT для всего, к чему вы хотите получить доступ. DDNS только поддерживает указание имени на правильный адрес; способ доступа к нему всё равно остаётся вашей задачей. После этого проверьте его с помощью Port Check.

Если на панели управления pfSense на интерфейсе WAN указан адрес из 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 или 100.64.0.0/10, это означает, что где-то выше по цепочке выполняется NAT. Диапазон 100.64.0.0/10 зарезервирован для Carrier-Grade NAT.


Метод 2 — добавить FastDDNS как Пользовательский клиент Dynamic DNS

Это настройка, которую стоит сохранить. pfSense сохраняет её в config.xml, поэтому она восстанавливается вместе с конфигурацией и переживает переустановку.

Шаг 1 — скопируйте URL обновления из панели hostname

Откройте свой hostname, прокрутите до DDNS Configuration Parameters и разверните Firewall pfSense. Всё необходимое для обоих методов находится в этой одной панели:

Панель брандмауэра pfSense в панели FastDDNS: метод 1 — скрипт установки выше, и метод 2 с типом сервиса Custom, принудительным разрешением DNS для IPv4, URL обновления и описанием ниже
Панель в её текущем виде — на этом скриншоте hostname и учётные данные скрыты; у вас они будут заполнены

Скопируйте URL обновления в поле под Method 2. Оно уже содержит ваш hostname и учётные данные:

https://client.fastddns.net/?hostname=myhome.fastddns.net&user_name=YOUR-USERNAME&user_pass=YOUR-UPDATE-PASSWORD

Три значения, записанные заглавными буквами, обозначают данные, приватные для вашей учётной записи, — панель подставляет их автоматически.

Шаг 2 — откройте клиент Dynamic DNS

В веб-интерфейсе pfSense перейдите к Services > Dynamic DNS и нажмите + Добавить.

Шаг 3 — заполните поля

Поле Значение Зачем
Service Type Custom FastDDNS нет в списке встроенных провайдеров, но это и не требуется
Interface to Monitor WAN Интерфейс, изменение адреса которого должно запускать обновление
Hostname ваше имя хоста FastDDNS URL обновления уже содержит его, поэтому для типа Custom это в основном метка, которую вы увидите в списке
Update URL URL из шага 1 Вставьте его полностью. Не нужно ничего %IP% заменять — FastDDNS регистрирует адрес, с которого поступает запрос
Force IPv4 DNS Resolution установлен Разрешает разрешение hostname обновления только через IPv4, поэтому FastDDNS регистрирует ваш WAN-адрес IPv4, а не IPv6
Result Match оставьте пустым pfSense сравнивает это со всем ответом. FastDDNS отвечает good после изменения и nochg если ничего не изменилось, поэтому одна фиксированная строка не подходит для обоих случаев — в собственных инструкциях панели значение не задаётся
Description FastDDNS.net Произвольный текст для справки
Панель pfSense firewall на панели FastDDNS, выделен Метод 2: Тип сервиса Пользовательский, отмечено «Принудительное разрешение DNS IPv4», поля URL обновления и Описание
Значения для метода 2 в том виде, как их показывает панель, — старый вариант страницы со светлой темой; поля не изменились

Шаг 4 — сохраните настройки и проверьте колонку состояния

Нажмите Сохранить и принудительно обновить. Вернувшись к списку Services > Dynamic DNS, столбец Кешированный IP должен заполниться вашим текущим WAN-адресом. Пустая запись или запись, которая остаётся устаревшей после принудительного обновления, означает, что обновление не прошло — причины описаны в таблице устранения неполадок ниже.

Важно понимать: этот метод работает по событиям, а не по двухминутному интервалу. Согласно документации Netgate, сервис обновляется при изменении адреса интерфейса, а pfSense также поставляется со стандартной записью cron, которая запускается /etc/rc.dyndns.update раз в день в 01:01 в качестве страховки. Поэтому неудачное обновление будет повторено — просто не в течение нескольких минут. Если обновление нужно выполнить немедленно, используйте Сохранить и принудительно обновить.

Если вы предпочитаете обращаться к той же конечной точке из собственного скрипта, параметры описаны на странице странице API клиента FastDDNS.

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