Администрирование · 11 мин
Какие порты открыть для сервера 1С и SQL Server
Какие порты открыть для сервера 1С и SQL Server: 1540, 1541, 1560–1591, 1433, 1434. Настройка брандмауэра, проверка доступности и типичные ошибки.
Клиентское приложение 1С:Предприятие в клиент-серверном варианте связывается с сервером 1С по протоколу TCP, а сервер 1С, в свою очередь, обращается к СУБД — чаще всего Microsoft SQL Server или PostgreSQL. Если на любом из участков этой цепочки закрыты нужные порты, пользователи получают ошибки подключения: «Ошибка соединения с сервером 1С», «Сервер баз данных не обнаружен» и подобные. Проблема решается точечным открытием портов в брандмауэре, а не его полным отключением.
Набор портов зависит от архитектуры: всё на одном сервере или роли разнесены на разные машины, используется статический или динамический порт SQL Server, применяются ли кластерные службы 1С. Ниже разобраны стандартные номера портов, способы их проверки и правила настройки брандмауэра Windows.
Какие порты использует сервер 1С:Предприятие
Кластер серверов 1С по умолчанию работает на трёх группах портов. Порт 1540 (TCP) занимает агент сервера — именно к нему обращается консоль администрирования и клиентские приложения на первом этапе подключения. Порт 1541 (TCP) использует менеджер кластера для управления рабочими процессами.
Диапазон 1560–1591 (TCP) зарезервирован под рабочие процессы rphost, которые непосредственно обслуживают сеансы пользователей. Клиент после первичного обращения к агенту переключается на один из этих портов, поэтому открыть только 1540 недостаточно — соединение установится, но сеанс не стартует.
Если при установке сервера 1С вы меняли базовые номера портов, фактический диапазон смещается: например, при агенте на порту 2540 рабочие процессы займут 2560–2591. Текущие значения видны в консоли администрирования серверов 1С в свойствах кластера и рабочих процессов.
Какие порты нужны SQL Server
Microsoft SQL Server по умолчанию слушает порт 1433 (TCP) — это основной канал, по которому сервер 1С обращается к базам данных. Если SQL Server установлен как именованный экземпляр или настроен на динамические порты, дополнительно требуется служба SQL Server Browser, работающая на UDP 1434: через неё клиент узнаёт фактический порт экземпляра.
Практическая рекомендация — назначить именованному экземпляру статический порт (стандартно 1433 или другой фиксированный) в SQL Server Configuration Manager, в разделе «Сетевая конфигурация → Протоколы → TCP/IP». Тогда открывать UDP 1434 не потребуется, а поведение соединений станет предсказуемым.
Для PostgreSQL, если он используется вместо MS SQL, стандартный порт — 5432 (TCP). Его нужно открыть на сервере СУБД для подключений с сервера 1С, а также убедиться, что в файле pg_hba.conf разрешены подключения с адреса сервера 1С.
| Компонент | Порт | Протокол | Назначение |
|---|---|---|---|
| Агент сервера 1С | 1540 | TCP | Первичное подключение клиентов и консоли |
| Менеджер кластера 1С | 1541 | TCP | Управление рабочими процессами |
| Рабочие процессы 1С | 1560–1591 | TCP | Сеансы пользователей |
| SQL Server | 1433 | TCP | Соединение сервера 1С с СУБД |
| SQL Server Browser | 1434 | UDP | Разрешение имени экземпляра (при динамических портах) |
| PostgreSQL | 5432 | TCP | Соединение сервера 1С с СУБД |
Какие порты открывать при разных схемах развёртывания
Всё на одном сервере
Если сервер 1С и SQL Server установлены на одной машине, а клиенты подключаются из локальной сети, открывать порты SQL наружу не нужно: обмен идёт внутри хоста. В брандмауэре достаточно разрешить входящие TCP 1540, 1541 и 1560–1591 для подсети пользователей.
Сервер 1С и SQL на разных машинах
На сервере 1С открываются порты кластера (1540, 1541, 1560–1591) для клиентских машин. На сервере СУБД открывается TCP 1433 (и UDP 1434 при необходимости) — но только для IP-адреса сервера 1С. Открывать 1433 для всей сети или тем более для внешних адресов не следует.
Несколько серверов 1С в кластере
При кластере из нескольких рабочих серверов порты 1540, 1541 и диапазон рабочих процессов должны быть открыты между всеми узлами кластера, а также от клиентов к каждому узлу — иначе при переключении сеанса на другой сервер соединение оборвётся.
Сравнение схем развёртывания
Минимум правил: только порты кластера 1С для клиентов. Порты SQL наружу не открываются. Подходит для небольших внедрений.
Порты 1С открыты клиентам, порт 1433 — только серверу 1С. Безопаснее и масштабируемее, но требует аккуратной настройки брандмауэра на обоих узлах.
Порты кластера открыты между всеми узлами и от клиентов. Отказоустойчивость выше, но правил брандмауэра больше.
Настройка брандмауэра Windows: пошаговый порядок
На сервере с Windows правила создаются через оснастку «Брандмауэр Защитника Windows в режиме повышенной безопасности» или командой netsh. Важно создавать правила для входящих подключений и ограничивать их область действия конкретными подсетями.
- 1Откройте «Брандмауэр Защитника Windows» → «Правила для входящих подключений» → «Создать правило».
- 2Выберите тип «Для порта», протокол TCP, укажите порты: 1540, 1541, 1560-1591.
- 3Разрешите подключение, выберите профили (обычно «Доменный» и «Частный», «Публичный» не включайте без необходимости).
- 4На вкладке «Область» готового правила ограничьте удалённые адреса подсетью пользователей.
- 5На сервере SQL аналогично создайте правило для TCP 1433, ограничив доступ адресом сервера 1С.
- 6Перезапуск брандмауэра не требуется — правила применяются сразу.
Альтернатива графической оснастке — команда в командной строке от имени администратора:
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540,1541,1560-1591 remoteip=192.168.1.0/24Для SQL Server правило создаётся аналогично с указанием порта 1433 и адреса сервера 1С в параметре remoteip. Если в сети работает аппаратный межсетевой экран или маршрутизатор между клиентами и серверами, те же порты нужно разрешить и на нём.
Как проверить, что порты открыты и работают
После настройки правил проверку выполняют с клиентской машины. Самый простой способ — командлет PowerShell Test-NetConnection: он показывает, доступен ли порт по TCP.
Test-NetConnection -ComputerName srv1c -Port 1540
Test-NetConnection -ComputerName srvsql -Port 1433Значение TcpTestSucceeded : True означает, что порт доступен. Если результат False — проверяйте по цепочке: запущена ли служба (агент сервера 1С, SQL Server), слушает ли процесс нужный порт (команда netstat -ano | findstr 1540 на сервере), не блокирует ли трафик промежуточное сетевое оборудование или антивирус с сетевым экраном.
Финальная проверка — запуск клиента 1С и вход в базу. Если подключение проходит, но периодически обрывается, стоит проверить, открыт ли весь диапазон 1560–1591: при частично закрытом диапазоне сеанс может стартовать, а затем завершаться ошибкой при переключении на другой рабочий процесс.
Как проверить результат
TcpTestSucceeded: True
False — агент сервера не запущен или порт заблокирован
Порты 1540, 1541 и несколько из диапазона 1560–1591 в состоянии LISTENING
Порты отсутствуют — служба агента сервера не запущена
Вход выполняется, сеанс стабилен
Ошибка соединения или обрывы — проверяйте диапазон рабочих процессов и порт SQL
Типичные ошибки при настройке портов
Отдельная группа проблем связана с нестандартными портами: если при установке сервера 1С были изменены номера портов, старые правила брандмауэра перестают работать после переустановки или обновления платформы. Перед настройкой всегда сверяйте фактические порты в консоли администрирования, а не полагайтесь на значения по умолчанию.
Часто задаваемые вопросы
Нужно ли открывать порт 1433 на компьютерах пользователей?
Нет. Клиент 1С не обращается к SQL Server напрямую — он работает только с сервером 1С по портам 1540, 1541 и 1560–1591. Соединение с СУБД устанавливает сервер 1С, поэтому порт 1433 должен быть доступен только с его адреса.
Что делать, если порт 1540 занят другим приложением?
Узнайте, какой процесс занял порт, командой netstat -ano и поиском PID в диспетчере задач. Если конфликт постоянный, измените порт агента сервера 1С при установке или в параметрах службы, а затем откройте новый порт и соответствующий смещённый диапазон рабочих процессов в брандмауэре.
Можно ли ограничить диапазон 1560–1591 меньшим числом портов?
Формально рабочим процессам нужны только те порты, которые реально заняты, и их число можно ограничить настройками кластера (количество рабочих процессов на сервер). Однако на практике проще и надёжнее открыть весь стандартный диапазон — это не создаёт дополнительных рисков, так как порты доступны только из внутренней сети.
Какие порты нужны для веб-доступа к 1С через браузер?
При публикации через веб-сервер (IIS или Apache) клиенты работают по HTTP/HTTPS — порты 80 и 443 на веб-сервере. Порты кластера 1С (1540, 1541, 1560–1591) при этом должны быть открыты только между веб-сервером и сервером 1С, а не для всех клиентов.
Почему Test-NetConnection показывает успех, а 1С всё равно не подключается?
Доступность порта не гарантирует работу приложения. Проверьте, что клиент обращается к правильному имени сервера (проблемы DNS), что версия платформы клиента совпадает с версией сервера, и что в консоли администрирования кластер содержит зарегистрированную информационную базу. Также проверьте доступность всего диапазона рабочих процессов, а не только порта агента.
Нужно ли открывать какие-то порты для сервера лицензий 1С?
Если используется программное лицензирование через сервер 1С, отдельных портов не требуется — раздача лицензий идёт через те же механизмы кластера. При использовании аппаратных ключей HASP с сетевым менеджером лицензий дополнительно используются порты 1947 (TCP и UDP) на машине с менеджером лицензий.
Что важно запомнить
Серверу 1С нужны TCP 1540, 1541 и 1560–1591 для клиентов, SQL Server — TCP 1433 (и UDP 1434 при динамических портах) только для сервера 1С. Ограничивайте правила конкретными адресами, проверяйте результат через Test-NetConnection и не открывайте порты СУБД наружу.