При публикации баз данных 1С:Предприятия через веб-сервер (IIS или Apache) системные администраторы часто сталкиваются с проблемой динамического IP-адреса. Если провайдер меняет адрес подключения при каждой перезагрузке роутера или раз в сутки, пользователи внешних офисов или мобильных приложений теряют доступ к базе. Раньше эту задачу легко решал популярный сервис DynDNS, однако после его перехода на коммерческую основу и поглощения корпорацией Oracle классический бесплатный функционал стал недоступен. В этой статье мы подробно разберем, как бесплатно организовать стабильный удаленный доступ к вашему серверу 1С при динамическом IP-адресе с помощью современных альтернатив.
Технология DDNS (Dynamic DNS) позволяет привязать постоянное доменное имя (например, my1cserver.ddns-service.org) к вашему домашнему или офисному компьютеру, IP-адрес которого постоянно меняется. На компьютере или роутере устанавливается небольшая программа-клиент. Этот клиент периодически опрашивает внешний сервер, определяет ваш текущий публичный IP-адрес и отправляет его в базу данных DDNS-сервиса. В результате при обращении к доменному имени запрос всегда перенаправляется на ваш актуальный IP-адрес. Это позволяет опубликовать веб-клиент 1С на веб-сервере и не беспокоиться о смене адресов провайдером.
Важное условие для работы классического DDNS: ваш провайдер должен предоставлять белый (публичный) динамический IP-адрес. Если адрес «серый» (скрыт за NAT провайдера), классические DDNS-сервисы работать не будут. Способы обхода этой проблемы мы также рассмотрим ниже.
Сервис No-IP — один из старейших и наиболее известных преемников DynDNS. Он поддерживается большинством современных роутеров «из коробки» и предоставляет удобный клиент для операционных систем Windows, Linux и macOS.
Рассмотрим по шагам процесс настройки No-IP:
ourcompany1c.ddns.net).Важное ограничение бесплатного тарифа No-IP: вам придется один раз в 30 дней заходить по ссылке из электронного письма от сервиса и подтверждать активность хоста (вводить капчу). Если этого не сделать, доменное имя будет заблокировано. На бесплатном аккаунте можно создать до 3 доменных имен.
Если вы хотите избежать ежемесячных подтверждений и англоязычного интерфейса, отличным выбором станет сервис hldns.ru. Он полностью бесплатен, прост в настройке и стабильно работает на территории РФ.
Проанализируем процесс его интеграции:
Пример простейшего PowerShell-скрипта для обновления IP на сервисе hldns.ru, который можно запускать через планировщик каждые 15 минут:
$token = "ваш_секретный_токен_из_кабинета_hldns"
$domain = "ваш_домен.hldns.ru"
$url = "https://hldns.ru/update?token=$token&domain=$domain"
Invoke-RestMethod -Uri $url
Перед тем как регистрироваться на сторонних сайтах, обязательно загляните в настройки вашего сетевого маршрутизатора (роутера). Зайдите в веб-интерфейс устройства и найдите раздел DDNS / Динамический DNS.
Большинство крупных производителей роутеров предоставляют собственные абсолютно бесплатные и пожизненные DDNS-сервисы без ограничений:
имя.asuscomm.com.имя.keenetic.link.tplinkdns.com.Основное преимущество этого способа — вам не нужно устанавливать дополнительный софт на сервер с 1С. Роутер сам знает, когда изменился внешний IP-адрес, и мгновенно отправляет новые данные на сервер DNS.
Если вам нужен чистый DDNS-сервис без навязчивой рекламы и требований заходить на сайт каждые 30 дней, рекомендуем обратить внимание на следующие проекты:
duckdns.org. Обновление адреса выполняется через простейший API-запрос. На сайте приведены подробные инструкции по интеграции для всех популярных ОС, роутеров и Docker.Если вы хотите получить максимально надежное, быстрое и солидное решение для бизнеса без использования странно выглядящих доменов третьего уровня, мы рекомендуем использовать интеграцию собственного домена с сервисом Cloudflare. Это стандарт де-факто в современной системной администрации.
Разберем эту схему по шагам:
.ru, .site или .xyz). Стоимость такого домена обычно составляет около 150-300 рублей в год.Для реализации этого подхода можно использовать готовый 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, который будет автоматически обновляться без капч, ограничений и рекламы.
Довольно часто провайдеры в целях экономии выдают пользователям «серые» адреса (обычно они находятся в диапазоне 100.64.0.0 — 100.127.255.255). В этом случае из внешней сети невозможно напрямую подключиться к вашему роутеру, даже зная его IP-адрес, и классический DDNS становится бесполезным.
Тем не менее, решить задачу публикации веб-клиента 1С можно и в этой ситуации с помощью альтернативных облачных технологий:
https://my1c.keenetic.link, несмотря на серый IP и закрытые порты.cloudflared. Она создает исходящее шифрованное соединение с ближайшим дата-центром Cloudflare. Весь входящий трафик к вашему домену идет через облако Cloudflare и перенаправляется в этот туннель. Вам не требуется открывать порты на роутере, покупать белый IP-адрес или настраивать DDNS — все работает «из коробки» под защитой от DDoS-атак.Выбирайте наиболее подходящий под ваши задачи инструмент, автоматизируйте обновление адресов и обеспечивайте бесперебойную работу пользователей с вашими базами 1С в любых сетевых условиях!