Через какие порты 1С выдаёт лицензии и как их открыть в сети

· 9 мин

Содержание

Сервер лицензирования 1С работает на портах 1540 (агент сервера), 1541 (менеджер кластера) и диапазоне 1560–1591 (рабочие процессы) — это если лицензии выдаёт сервер 1С:Предприятия. Если же лицензии раздаёт сетевой аппаратный ключ через HASP License Manager, нужен один порт 475 по UDP и TCP. Все порты — входящие на той машине, где стоит сервер или ключ.

Какой вариант у вас, определяет схема работы. Клиент-серверная база с программными лицензиями — открываем порты кластера. Файловая база с сетевым USB-ключом — открываем 475. Смешанная схема, когда сервер 1С ищет ключ на другом компьютере, — открываем оба набора.

Полный список портов, которые нужны для лицензирования 1С

Сначала сводная таблица. Номера указаны по умолчанию, их можно переназначить (как — ниже).

ПортПротоколПроцессЧто делаетНужен когда
1540TCPragentАгент сервера, точка входа для консоли и клиентовВсегда в клиент-серверном варианте
1541TCPrmngrГлавный менеджер кластераВсегда в клиент-серверном варианте
1560–1591TCPrphost, rmngrРабочие процессы и служебные соединения кластераВсегда в клиент-серверном варианте
1545TCPrasСервер администрирования для rac и сторонних консолейТолько если запущен ras
475UDP и TCPhasplm / nhsrvHASP License Manager, раздаёт сетевой аппаратный ключТолько для сетевых USB-ключей
1947TCPдрайвер защитыЛокальный веб-интерфейс драйвера ключаТолько для диагностики, наружу не открывают

Порты СУБД (1433 у MS SQL Server, 5432 у PostgreSQL) к лицензированию не относятся. Их открывают между сервером 1С и сервером базы данных, клиентам они не нужны.

Внешний доступ в интернет нужен только в момент активации программной лицензии. Дальше лицензия хранится в файле на компьютере и проверяется локально, без обращения к сайту 1С.

Какой порт за что отвечает: путь клиента к лицензии

Понять назначение портов проще, если пройти путь клиента при запуске базы.

Клиент-серверный вариант

  1. Клиент обращается к агенту сервера на 1540 и спрашивает, где база.
  2. Агент направляет его к менеджеру кластера на 1541.
  3. Менеджер выделяет рабочий процесс, и дальше клиент общается с ним через порт из диапазона 1560–1591.
  4. Если в свойствах информационной базы включена выдача лицензий сервером 1С:Предприятия, лицензию для клиента получает кластер. Он берёт её из программных лицензий, активированных на сервере, или из аппаратного ключа.

Отсюда практическое следствие: закрытый диапазон 1560–1591 ломает подключение, даже если 1540 и 1541 открыты. Клиент доходит до агента, получает адрес рабочего процесса и падает на следующем шаге.

Сетевой аппаратный ключ

  1. Клиент 1С ищет ключ: рассылает широковещательный запрос по UDP на 475 или обращается к адресу из nethasp.ini.
  2. HASP License Manager на компьютере с ключом отвечает и выдаёт одну лицензию из ключа.
  3. Пока сеанс открыт, клиент держит лицензию за собой.

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

Файловый вариант с программной лицензией

Здесь портов нет вовсе. Программная лицензия лежит на том компьютере, где её активировали, и работает только на нём. Раздать её по сети без сервера 1С нельзя — исключение составляет терминальный сервер , где все сеансы идут на одной машине.

Как проверить, открыты ли порты сервера лицензий

Проверку делают с двух сторон: на самом сервере (слушает ли процесс порт) и с клиента (доходит ли соединение).

На сервере Windows

Посмотрите, кто слушает нужные порты:

netstat -ano | findstr "1540 1541 1560 :475"

В последней колонке — PID процесса. Сверьте его в диспетчере задач на вкладке «Подробности»: для 1540 это ragent.exe, для 1541 — rmngr.exe.

С клиента Windows

PowerShell проверяет TCP-порт одной командой:

Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560

TcpTestSucceeded : True — порт доступен. False — соединение режет брандмауэр, сетевое оборудование или процесс не запущен.

Порт из диапазона 1560–1591 отвечает только тогда, когда на нём работает рабочий процесс. Если первый порт молчит, проверьте ещё 2–3 следующих, прежде чем делать выводы.

На Linux

# что слушает сервер
sudo ss -tlnp | grep -E 'ragent|rmngr|rphost'

# доступность с другой машины
nc -zv srv1c 1540
nc -zv srv1c 1541

Проверка порта 475

UDP командой Test-NetConnection не проверить. Надёжнее так:

  • 🔎 на компьютере с ключом выполните netstat -ano | findstr :475 — должна быть строка с UDP и TCP;
  • 🔎 запустите на клиенте утилиту мониторинга HASP (Aladdin Monitor) — она показывает найденные менеджеры лицензий и число занятых лицензий в ключе;
  • 🔎 откройте на компьютере с ключом http://localhost:1947 — в веб-интерфейсе драйвера видно, определился ли ключ вообще.

Сколько лицензий реально выдал сервер 1С, покажет утилита администрирования (нужен запущенный ras):

rac cluster list
rac session list --cluster=<uuid-кластера> --licenses

Как открыть порты для сервера лицензирования в брандмауэре

Правила создают на сервере, для входящих соединений. На клиентах исходящие порты обычно открыты по умолчанию.

Windows: PowerShell

Запустите PowerShell от имени администратора:

New-NetFirewallRule -DisplayName "1C Server" -Direction Inbound -Protocol TCP -LocalPort 1540,1541,1560-1591 -Action Allow

# если используется ras
New-NetFirewallRule -DisplayName "1C RAS" -Direction Inbound -Protocol TCP -LocalPort 1545 -Action Allow

# для сетевого ключа HASP
New-NetFirewallRule -DisplayName "HASP LM UDP" -Direction Inbound -Protocol UDP -LocalPort 475 -Action Allow
New-NetFirewallRule -DisplayName "HASP LM TCP" -Direction Inbound -Protocol TCP -LocalPort 475 -Action Allow

Windows: netsh

Тот же результат из обычной командной строки администратора:

netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
netsh advfirewall firewall add rule name="HASP LM" dir=in action=allow protocol=UDP localport=475

Windows: через оснастку

  1. Нажмите Win+R, введите wf.msc.
  2. Откройте «Правила для входящих подключений» → «Создать правило».
  3. Тип — «Для порта», протокол TCP, порты 1540-1541, 1560-1591.
  4. Действие — «Разрешить подключение», профили — «Доменный» и «Частный».
  5. Для ключа повторите то же для UDP 475 и TCP 475.

Профиль «Публичный» для сервера 1С отмечать не нужно. Если сетевая карта сервера ошибочно попала в публичный профиль, правило с доменным профилем не сработает — проверьте профиль сети в первую очередь.

Linux: firewalld (РЕД ОС, Astra, CentOS-подобные)

sudo firewall-cmd --permanent --add-port=1540-1541/tcp
sudo firewall-cmd --permanent --add-port=1560-1591/tcp
sudo firewall-cmd --permanent --add-port=475/udp
sudo firewall-cmd --permanent --add-port=475/tcp
sudo firewall-cmd --reload

Linux: ufw (Ubuntu, Debian)

sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
sudo ufw allow 475

Ограничьте доступ своей подсетью, если сервер виден из других сегментов: в ufw это sudo ufw allow from 192.168.10.0/24 to any port 1540:1541 proto tcp.

Как сменить порты сервера 1С и прописать адрес ключа

Нестандартные порты кластера

Порты задаются параметрами запуска агента: -port (агент), -regport (менеджер), -range (диапазон). В Windows они записаны в строке запуска службы «Агент сервера 1С:Предприятия 8.3». Пример для второго кластера на той же машине:

ragent.exe -srvc -agent -port 2540 -regport 2541 -range 2560:2591 -d "D:\srvinfo2"

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

После смены портов клиенты подключаются с указанием порта менеджера кластера: в поле «Кластер серверов 1С:Предприятия» пишут srv1c:2541. В брандмауэре открывают уже новые номера.

Явный адрес менеджера лицензий HASP

Если ключ в другой подсети или широковещательные пакеты блокируются, создайте на клиенте файл nethasp.ini в каталоге conf платформы (например, C:\Program Files\1cv8\conf\nethasp.ini):

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.10.5
NH_USE_BROADCAST = Disabled

С отключённым широковещанием клиент сразу идёт по указанному адресу, и запуск ускоряется на несколько секунд.

Порты в распределённой инфраструктуре: кластер, DMZ, филиалы

Когда серверов несколько, правило «открыть порты на сервере» превращается в матрицу «кто к кому ходит».

ОткудаКудаПорты
Клиенты 1СКаждый рабочий сервер кластера1540, 1541, диапазон рабочего процесса этого сервера
Рабочие серверыДруг к другу1540, 1541 и диапазоны всех серверов в обе стороны
Консоль администрированияЦентральный сервер1540
rac и внешние консолиСервер с ras1545
Сервер 1СКомпьютер с HASP-ключом475 UDP и TCP
Сервер 1ССервер СУБД1433 или 5432

Что учесть в такой схеме:

  • 🖥 Диапазон рабочих процессов задаётся в свойствах каждого рабочего сервера в консоли кластера. У двух серверов он может быть разным — тогда и правила разные.
  • 🖥 Клиент подключается к тому рабочему серверу, куда его направил менеджер кластера. Поэтому клиентам нужен доступ ко всем рабочим серверам, а не только к центральному.
  • 🔑 Где именно кластер получает программные лицензии, управляется требованиями назначения функциональности: объект «Сервис лицензирования» можно закрепить за конкретным рабочим сервером. Программные лицензии активируют именно на нём — лицензия привязана к параметрам этого компьютера.
  • 🌐 Через NAT клиент-серверная 1С работает плохо: агент отдаёт клиенту внутреннее имя сервера, и клиент снаружи его не разрешает. Для филиалов надёжнее VPN, терминальный доступ или публикация на веб-сервере (тогда снаружи нужен только 443).
  • 🔒 Открывать 1540–1591 или 475 в интернет напрямую нельзя: протокол не рассчитан на открытую сеть.
Диагностика: выберите симптом

Частые ошибки при настройке портов

Здесь — не про симптомы, а про то, что чаще всего делают не так при настройке.

  • ❌ Открыли только 1540. Самая частая история: «порт сервера 1С» понимают как один номер. Без 1541 и диапазона кластер недоступен.
  • ❌ Диапазон в брандмауэре не совпадает с диапазоном в консоли. Администратор расширил диапазон до 1560:1691 в свойствах рабочего сервера, а правило осталось старым. Часть процессов перестаёт отвечать.
  • ❌ Для HASP открыли только TCP. Поиск ключа идёт по UDP, без него клиент ключ не увидит.
  • ❌ Два менеджера лицензий в одной сети на один ключ. Если HASP License Manager запущен и как служба, и как приложение, порт 475 занимает первый, а второй не стартует. Оставьте один экземпляр — службу.
  • ❌ Антивирус со своим сетевым экраном. Правило в штатном брандмауэре Windows есть, а трафик режет сторонний продукт. Проверьте его настройки отдельно.

Частые вопросы

Есть ли у 1С отдельная служба «сервер лицензирования» со своим портом?
Для программных лицензий отдельного процесса нет: их выдаёт кластер сервера 1С через свои порты 1540, 1541 и 1560–1591. Отдельный процесс со своим портом 475 — только HASP License Manager для сетевых аппаратных ключей.
Нужен ли интернет серверу, чтобы выдавать лицензии?
Нет. Интернет нужен только для активации программной лицензии. После активации кластер выдаёт лицензии клиентам без выхода в сеть.
Можно ли поставить HASP License Manager на сервер 1С?
Можно, и это удобно: ключ вставляют в сервер, менеджер лицензий раздаёт его по сети на порту 475. Конфликта с портами кластера нет.
Какие порты открыть для веб-клиента?
Пользователям веб-клиента нужен только порт веб-сервера: 80 или 443. Порты кластера должны быть доступны самому веб-серверу, а не пользователям.
Как узнать, на каких портах реально запущен мой кластер?
Откройте свойства службы агента сервера 1С в Windows и посмотрите строку запуска: там параметры -port, -regport и -range. В Linux те же параметры видны в выводе ps -ef | grep ragent.