Через какие порты 1С выдаёт лицензии и как их открыть в сети
Содержание
Сервер лицензирования 1С работает на портах 1540 (агент сервера), 1541 (менеджер кластера) и диапазоне 1560–1591 (рабочие процессы) — это если лицензии выдаёт сервер 1С:Предприятия. Если же лицензии раздаёт сетевой аппаратный ключ через HASP License Manager, нужен один порт 475 по UDP и TCP. Все порты — входящие на той машине, где стоит сервер или ключ.
Какой вариант у вас, определяет схема работы. Клиент-серверная база с программными лицензиями — открываем порты кластера. Файловая база с сетевым USB-ключом — открываем 475. Смешанная схема, когда сервер 1С ищет ключ на другом компьютере, — открываем оба набора.
Полный список портов, которые нужны для лицензирования 1С
Сначала сводная таблица. Номера указаны по умолчанию, их можно переназначить (как — ниже).
| Порт | Протокол | Процесс | Что делает | Нужен когда |
|---|---|---|---|---|
| 1540 | TCP | ragent | Агент сервера, точка входа для консоли и клиентов | Всегда в клиент-серверном варианте |
| 1541 | TCP | rmngr | Главный менеджер кластера | Всегда в клиент-серверном варианте |
| 1560–1591 | TCP | rphost, rmngr | Рабочие процессы и служебные соединения кластера | Всегда в клиент-серверном варианте |
| 1545 | TCP | ras | Сервер администрирования для rac и сторонних консолей | Только если запущен ras |
| 475 | UDP и TCP | hasplm / nhsrv | HASP License Manager, раздаёт сетевой аппаратный ключ | Только для сетевых USB-ключей |
| 1947 | TCP | драйвер защиты | Локальный веб-интерфейс драйвера ключа | Только для диагностики, наружу не открывают |
Порты СУБД (1433 у MS SQL Server, 5432 у PostgreSQL) к лицензированию не относятся. Их открывают между сервером 1С и сервером базы данных, клиентам они не нужны.
Внешний доступ в интернет нужен только в момент активации программной лицензии. Дальше лицензия хранится в файле на компьютере и проверяется локально, без обращения к сайту 1С.
Какой порт за что отвечает: путь клиента к лицензии
Понять назначение портов проще, если пройти путь клиента при запуске базы.
Клиент-серверный вариант
- Клиент обращается к агенту сервера на
1540и спрашивает, где база. - Агент направляет его к менеджеру кластера на
1541. - Менеджер выделяет рабочий процесс, и дальше клиент общается с ним через порт из диапазона
1560–1591. - Если в свойствах информационной базы включена выдача лицензий сервером 1С:Предприятия, лицензию для клиента получает кластер. Он берёт её из программных лицензий, активированных на сервере, или из аппаратного ключа.
Отсюда практическое следствие: закрытый диапазон 1560–1591 ломает подключение, даже если 1540 и 1541 открыты. Клиент доходит до агента, получает адрес рабочего процесса и падает на следующем шаге.
Сетевой аппаратный ключ
- Клиент 1С ищет ключ: рассылает широковещательный запрос по UDP на
475или обращается к адресу изnethasp.ini. - HASP License Manager на компьютере с ключом отвечает и выдаёт одну лицензию из ключа.
- Пока сеанс открыт, клиент держит лицензию за собой.
Если клиент и менеджер лицензий в разных подсетях, широковещательный запрос до ключа не дойдёт. Тогда адрес прописывают явно.
Файловый вариант с программной лицензией
Здесь портов нет вовсе. Программная лицензия лежит на том компьютере, где её активировали, и работает только на нём. Раздать её по сети без сервера 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: через оснастку
- Нажмите
Win+R, введитеwf.msc. - Откройте «Правила для входящих подключений» → «Создать правило».
- Тип — «Для порта», протокол TCP, порты
1540-1541, 1560-1591. - Действие — «Разрешить подключение», профили — «Доменный» и «Частный».
- Для ключа повторите то же для UDP
475и TCP475.
Профиль «Публичный» для сервера 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 и внешние консоли | Сервер с ras | 1545 |
| Сервер 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 есть, а трафик режет сторонний продукт. Проверьте его настройки отдельно.