Как настроить бесплатный аналог DynDNS для работы с динамическим IP-адресом

Системный администратор IT и автоматизация бизнеса
← На главную

При публикации баз данных 1С:Предприятия через веб-сервер (IIS или Apache) системные администраторы часто сталкиваются с проблемой динамического IP-адреса. Если провайдер меняет адрес подключения при каждой перезагрузке роутера или раз в сутки, пользователи внешних офисов или мобильных приложений теряют доступ к базе. Раньше эту задачу легко решал популярный сервис DynDNS, однако после его перехода на коммерческую основу и поглощения корпорацией Oracle классический бесплатный функционал стал недоступен. В этой статье мы подробно разберем, как бесплатно организовать стабильный удаленный доступ к вашему серверу 1С при динамическом IP-адресе с помощью современных альтернатив.

Что такое DDNS и как это работает в связке с 1С

Технология DDNS (Dynamic DNS) позволяет привязать постоянное доменное имя (например, my1cserver.ddns-service.org) к вашему домашнему или офисному компьютеру, IP-адрес которого постоянно меняется. На компьютере или роутере устанавливается небольшая программа-клиент. Этот клиент периодически опрашивает внешний сервер, определяет ваш текущий публичный IP-адрес и отправляет его в базу данных DDNS-сервиса. В результате при обращении к доменному имени запрос всегда перенаправляется на ваш актуальный IP-адрес. Это позволяет опубликовать веб-клиент 1С на веб-сервере и не беспокоиться о смене адресов провайдером.

Важное условие для работы классического DDNS: ваш провайдер должен предоставлять белый (публичный) динамический IP-адрес. Если адрес «серый» (скрыт за NAT провайдера), классические DDNS-сервисы работать не будут. Способы обхода этой проблемы мы также рассмотрим ниже.

Вариант 1. Использование сервиса No-IP

Сервис No-IP — один из старейших и наиболее известных преемников DynDNS. Он поддерживается большинством современных роутеров «из коробки» и предоставляет удобный клиент для операционных систем Windows, Linux и macOS.

Рассмотрим по шагам процесс настройки No-IP:

  1. Зарегистрируйте учетную запись на официальном сайте сервиса.
  2. В личном кабинете создайте бесплатный хост третьего уровня (например, ourcompany1c.ddns.net).
  3. Скачайте и установите на целевой сервер специальную утилиту обновления — Dynamic Update Client (DUC).
  4. Запустите утилиту, введите свои учетные данные и выберите созданный хост для обновления. Программа свернет свою работу в системный трей и будет автоматически обновлять IP-адрес при его изменении.

Важное ограничение бесплатного тарифа No-IP: вам придется один раз в 30 дней заходить по ссылке из электронного письма от сервиса и подтверждать активность хоста (вводить капчу). Если этого не сделать, доменное имя будет заблокировано. На бесплатном аккаунте можно создать до 3 доменных имен.

Вариант 2. Российская альтернатива — сервис hldns.ru

Если вы хотите избежать ежемесячных подтверждений и англоязычного интерфейса, отличным выбором станет сервис hldns.ru. Он полностью бесплатен, прост в настройке и стабильно работает на территории РФ.

Проанализируем процесс его интеграции:

  1. Создайте аккаунт на сайте сервиса.
  2. Зарегистрируйте доменное имя в одной из предложенных бесплатных зон.
  3. Для обновления адреса вы можете использовать их фирменный клиент для Windows или настроить роутер.
  4. Сервис поддерживает обновление адреса через простой HTTP-запрос (API). Это значит, что вы можете настроить стандартный планировщик задач Windows на запуск скрипта обновления без установки стороннего софта.

Пример простейшего PowerShell-скрипта для обновления IP на сервисе hldns.ru, который можно запускать через планировщик каждые 15 минут:


$token = "ваш_секретный_токен_из_кабинета_hldns"
$domain = "ваш_домен.hldns.ru"
$url = "https://hldns.ru/update?token=$token&domain=$domain"
Invoke-RestMethod -Uri $url

Вариант 3. Использование встроенных сервисов роутера

Перед тем как регистрироваться на сторонних сайтах, обязательно загляните в настройки вашего сетевого маршрутизатора (роутера). Зайдите в веб-интерфейс устройства и найдите раздел DDNS / Динамический DNS.

Большинство крупных производителей роутеров предоставляют собственные абсолютно бесплатные и пожизненные DDNS-сервисы без ограничений:

Основное преимущество этого способа — вам не нужно устанавливать дополнительный софт на сервер с 1С. Роутер сам знает, когда изменился внешний IP-адрес, и мгновенно отправляет новые данные на сервер DNS.

Вариант 4. Полностью бесплатные альтернативы без обязательного продления

Если вам нужен чистый DDNS-сервис без навязчивой рекламы и требований заходить на сайт каждые 30 дней, рекомендуем обратить внимание на следующие проекты:

Современный профессиональный подход: Cloudflare API

Если вы хотите получить максимально надежное, быстрое и солидное решение для бизнеса без использования странно выглядящих доменов третьего уровня, мы рекомендуем использовать интеграцию собственного домена с сервисом Cloudflare. Это стандарт де-факто в современной системной администрации.

Разберем эту схему по шагам:

  1. Купите собственный дешевый домен второго уровня у любого регистратора (например, в зоне .ru, .site или .xyz). Стоимость такого домена обычно составляет около 150-300 рублей в год.
  2. Создайте бесплатный аккаунт на Cloudflare и делегируйте туда свой домен (замените DNS-серверы у регистратора на серверы Cloudflare).
  3. В панели Cloudflare получите API-токен с правами на редактирование DNS-записей вашей зоны.
  4. Настройте на сервере 1С автоматический скрипт, который будет определять ваш текущий внешний IP-адрес и передавать его в Cloudflare через API для обновления А-записи вашего личного домена.

Для реализации этого подхода можно использовать готовый Docker-контейнер cloudflare-ddns или написать простой скрипт на PowerShell для Windows-сервера:


$CF_API_KEY = "ваш_api_токен_cloudflare"
$CF_ZONE_ID = "идентификатор_зоны"
$CF_RECORD_ID = "идентификатор_dns_записи"
$DOMAIN_NAME = "1c.yourdomain.ru"

# Получаем текущий внешний IP-адрес
$current_ip = (Invoke-RestMethod -Uri "https://api.ipify.org")

# Формируем JSON-тело запроса
$json = @{
    type = "A"
    name = $DOMAIN_NAME
    content = $current_ip
    ttl = 120
    proxied = $false
} | ConvertTo-Json

# Отправляем обновление в Cloudflare
$headers = @{
    "Authorization" = "Bearer $CF_API_KEY"
    "Content-Type" = "application/json"
}

Invoke-RestMethod -Method Put -Uri "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$CF_RECORD_ID" -Headers $headers -Body $json

Благодаря этому решению вы получите красивый корпоративный адрес вида 1c.название_компании.ru, который будет автоматически обновляться без капч, ограничений и рекламы.

Что делать, если IP-адрес «серый» (CGNAT)?

Довольно часто провайдеры в целях экономии выдают пользователям «серые» адреса (обычно они находятся в диапазоне 100.64.0.0 — 100.127.255.255). В этом случае из внешней сети невозможно напрямую подключиться к вашему роутеру, даже зная его IP-адрес, и классический DDNS становится бесполезным.

Тем не менее, решить задачу публикации веб-клиента 1С можно и в этой ситуации с помощью альтернативных облачных технологий:

  1. Облачный режим KeenDNS: Если у вас установлен роутер Keenetic, вы можете настроить его фирменный сервис KeenDNS для работы в режиме «Через облако». В этом режиме роутер сам устанавливает защищенное постоянное соединение с серверами Keenetic. В результате ваш веб-клиент 1С будет доступен из интернета по защищенному протоколу HTTPS по адресу вида https://my1c.keenetic.link, несмотря на серый IP и закрытые порты.
  2. Cloudflare Tunnels (cloudflared): Это полностью бесплатное и невероятно мощное решение от компании Cloudflare. Вы устанавливаете на локальный сервер 1С небольшую утилиту-агент cloudflared. Она создает исходящее шифрованное соединение с ближайшим дата-центром Cloudflare. Весь входящий трафик к вашему домену идет через облако Cloudflare и перенаправляется в этот туннель. Вам не требуется открывать порты на роутере, покупать белый IP-адрес или настраивать DDNS — все работает «из коробки» под защитой от DDoS-атак.

Выбирайте наиболее подходящий под ваши задачи инструмент, автоматизируйте обновление адресов и обеспечивайте бесперебойную работу пользователей с вашими базами 1С в любых сетевых условиях!

← На главную