Администрирование · 9 мин
Какие порты открыть для клиента 1С
Какие порты нужно открыть для работы клиента 1С: 1540, 1541, 1560-1591, порты SQL-сервера, файлового доступа и веб-клиента. Настройка брандмауэра и проверка.
Когда клиент 1С не подключается к серверу, чаще всего причина — закрытые порты на брандмауэре. Набор портов зависит от архитектуры: клиент-серверный вариант с сервером 1С:Предприятия, файловая база по сети, веб-клиент через веб-сервер или прямое подключение к СУБД. Ниже разобраны все сценарии с конкретными номерами портов и способами проверки.
Ключевой принцип: открывать нужно только те порты, которые реально используются в вашей схеме. Каждый лишний открытый порт — это потенциальная точка входа для атаки, поэтому универсальное правило «открыть всё» здесь не работает и вредит безопасности.
Порты сервера 1С:Предприятия (клиент-серверный режим)
В классической трёхзвенной архитектуре тонкий или толстый клиент подключается к агенту сервера 1С:Предприятия. По умолчанию используются три группы портов:
- 1540/tcp — агент кластера серверов (ragent). Через него клиент получает список рабочих процессов и подключается к кластеру.
- 1541/tcp — менеджер кластера (rmngr). Используется для управления кластером, в том числе консолью администрирования.
- 1560–1591/tcp — диапазон рабочих процессов (rphost). Клиент устанавливает соединение с одним из рабочих процессов, который и обслуживает сеанс.
Важный нюанс: клиент сначала обращается к агенту на порт 1540, получает адрес и порт рабочего процесса, а затем подключается к rphost напрямую. Если открыть только 1540, подключение «зависнет» на этапе сеанса — это одна из самых частых ошибок настройки.
Если порт агента в кластере изменён (например, кластер поднят на 2540), то и диапазон рабочих процессов смещается: он начинается с порта агента + 20. Проверить фактические порты можно в консоли администрирования серверов 1С в свойствах кластера и рабочих процессов.
Порты для файловой базы по сети
В файловом варианте клиент 1С обращается к файлу базы (1Cv8.1CD) через общую сетевую папку. Здесь используются стандартные порты протокола SMB:
- 445/tcp — SMB поверх TCP, основной порт для современных версий Windows;
- 139/tcp — SMB поверх NetBIOS, нужен для старых клиентов;
- 137–138/udp — NetBIOS, требуется для разрешения имён в старых сетях без DNS.
На практике достаточно открыть 445/tcp на машине, где лежит база. Если клиенты работают на актуальных версиях Windows, порты 137–139 можно не открывать — это сократит поверхность атаки. Убедитесь также, что на файловом сервере включено сетевое обнаружение и общий доступ к файлам, а у пользователей есть права на чтение и запись в папку базы.
Порты для веб-клиента и публикации через веб-сервер
При работе через веб-клиент браузер обращается к веб-серверу (IIS или Apache), а тот уже взаимодействует с сервером 1С. Со стороны пользователя нужны только стандартные веб-порты:
- 80/tcp — HTTP, если публикация работает без шифрования;
- 443/tcp — HTTPS, рекомендуемый вариант, особенно при доступе извне.
Между веб-сервером и сервером 1С, если они разнесены на разные машины, должны быть открыты те же порты кластера: 1540 и диапазон рабочих процессов. Если веб-сервер и сервер 1С стоят на одной машине, дополнительных правил на внешнем firewall не требуется.
Для доступа из интернета открывайте наружу только 443 с действующим TLS-сертификатом. Публикация базы по HTTP без шифрования передаёт логины и данные в открытом виде.
Порты СУБД: кому они нужны на самом деле
Распространённое заблуждение — открывать порт SQL-сервера для клиентов 1С. Клиентское приложение никогда не обращается к СУБД напрямую: с базой данных работает только сервер 1С:Предприятия. Поэтому порты СУБД нужно открывать исключительно между сервером 1С и сервером баз данных.
| СУБД | Порт по умолчанию | Кому открывать |
|---|---|---|
| Microsoft SQL Server | 1433/tcp (и 1434/udp для Browser) | Только серверу 1С |
| PostgreSQL | 5432/tcp | Только серверу 1С |
| IBM Db2 | 50000/tcp | Только серверу 1С |
| Oracle Database | 1521/tcp | Только серверу 1С |
Если сервер 1С и СУБД установлены на одной машине, внешние правила для портов базы данных вообще не нужны — соединение идёт локально. Открывать 1433 или 5432 для всей локальной сети — типичная ошибка, создающая лишний риск.
Сравнение вариантов подключения
Порты 1540, 1541, 1560–1591 на сервере 1С. Подходит для локальной сети и VPN.
Порт 445/tcp на файловом сервере. Просто, но медленно и рискованно при большом числе пользователей.
Порты 80/443 на веб-сервере. Оптимально для удалённого доступа и работы через интернет.
Настройка брандмауэра Windows: пошагово
На сервере с Windows проще всего создать входящие правила через оснастку «Брандмауэр Windows в режиме повышенной безопасности» (wf.msc) или командой netsh. Пример для стандартного кластера 1С:
netsh advfirewall firewall add rule name="1C Agent 1540" dir=in action=allow protocol=TCP localport=1540
netsh advfirewall firewall add rule name="1C Manager 1541" dir=in action=allow protocol=TCP localport=1541
netsh advfirewall firewall add rule name="1C rphost 1560-1591" dir=in action=allow protocol=TCP localport=1560-1591- 1Определите архитектуру: клиент-сервер, файловая база или веб-клиент.
- 2Уточните фактические порты в консоли администрирования кластера 1С.
- 3Создайте входящие правила на сервере только для нужных портов.
- 4Если между клиентом и сервером есть сетевой firewall, продублируйте разрешения на нём.
- 5Проверьте подключение с клиентской машины и запустите сеанс 1С.
Для правил на сервере рекомендуется ограничивать область действия: укажите в правиле подсеть офиса вместо «Любой IP-адрес». Это особенно важно, если сервер имеет несколько сетевых интерфейсов.
Проверка доступности портов и типичные ошибки
Проверить, открыт ли порт, можно с клиентской машины командой Test-NetConnection в PowerShell:
Test-NetConnection -ComputerName srv1c -Port 1540Значение TcpTestSucceeded: True означает, что порт доступен. Если False — проверяйте правила брандмауэра на сервере, промежуточное сетевое оборудование и то, что служба агента сервера 1С вообще запущена.
Как проверить результат
TcpTestSucceeded: True
False — служба не запущена или порт закрыт
База открывается, сеанс активен в консоли кластера
Ошибка соединения после выбора базы — закрыт диапазон rphost
Папка открывается, файл 1Cv8.1CD доступен на запись
Ошибка доступа — закрыт 445 или нет прав на папку
FAQ
Нужно ли открывать порты на клиентской машине?
Обычно нет. Клиент 1С инициирует исходящие соединения, которые большинство брандмауэров разрешают по умолчанию. Правила нужны на сервере. Исключение — агрессивные корпоративные политики, блокирующие исходящий трафик: тогда на клиенте разрешите исходящие подключения к портам сервера.
Какие порты нужны для лицензирования 1С?
Программные лицензии выдаются сервером 1С или сервисом лицензирования через порты кластера (1540, диапазон rphost). Если используется аппаратный ключ HASP на отдельной машине, для него нужен порт 475 (TCP и UDP) на сервере лицензий.
Можно ли изменить стандартные порты кластера 1С?
Да, порт агента задаётся при запуске службы сервера 1С параметром -port, а диапазон рабочих процессов смещается автоматически. После изменения обновите правила брандмауэра и строки подключения в списке баз у всех пользователей.
Как безопасно дать доступ к 1С через интернет?
Не пробрасывайте порты 1540–1591 наружу. Безопасные варианты: VPN-туннель до офисной сети, публикация базы через веб-сервер с HTTPS на порту 443, либо удалённый рабочий стол (RDP) через шлюз. Веб-клиент с TLS — наиболее удобный вариант для большинства сценариев.
Почему порт открыт, а клиент всё равно не подключается?
Проверьте по цепочке: запущена ли служба агента сервера 1С, слушает ли она порт (netstat -ano), не блокирует ли трафик антивирус с сетевым экраном, совпадает ли имя сервера в строке подключения с реальным и резолвится ли оно в правильный IP-адрес.
Что важно запомнить
Клиенту 1С нужны порты 1540, 1541 и 1560–1591 на сервере 1С, порт 445 — для файловой базы, 80/443 — для веб-клиента. Порты СУБД открываются только между сервером 1С и сервером БД. Открывайте минимально необходимый набор, ограничивайте правила подсетью офиса и проверяйте результат командой Test-NetConnection.