Администрирование · 11 мин
SQL и 1С: какие порты используются и как их открыть
Какие порты нужны для работы 1С с SQL Server и PostgreSQL: 1433, 5432, порты сервера 1С 1540–1591. Настройка брандмауэра и проверка доступности.
Клиент-серверный режим 1С предполагает взаимодействие трёх компонентов: клиентского приложения, сервера 1С:Предприятия и сервера СУБД. Каждый из них общается с остальными по сети через определённые TCP-порты, и если хотя бы один из них закрыт брандмауэром, пользователи получат ошибку соединения с информационной базой.
Чаще всего проблемы возникают после установки SQL Server или PostgreSQL «по умолчанию»: служба слушает порт, но сетевой экран Windows или корпоративный файрвол его блокирует. Вторая типичная ситуация — динамические порты именованных экземпляров SQL Server, которые меняются после перезапуска и «отваливают» уже настроенные правила.
Ниже разобрано, какие порты реально участвуют в работе связки 1С + SQL, чем отличаются схемы для Microsoft SQL Server и PostgreSQL, как открыть порты и как проверить, что соединение проходит.
Какие порты использует сервер 1С:Предприятия
Сервер 1С:Предприятия работает со стандартным набором портов, который стоит знать наизусть любому администратору. Агент сервера слушает порт 1540, главный менеджер кластера — 1541, а рабочие процессы кластера занимают диапазон 1560–1591. Именно к этим портам подключаются клиентские приложения и консоль администрирования.
Если на одном физическом сервере развёрнуто несколько кластеров 1С, каждому назначается свой набор портов со смещением: например, 1640/1641 и 1660–1691. Это важно учитывать при написании правил брандмауэра — открывать нужно диапазоны всех существующих кластеров.
Дополнительно агент сервера может использовать порты для служебного взаимодействия между процессами внутри одного узла. Если сервер 1С и клиенты находятся в одной сети без фильтрации, проблем обычно нет; при наличии межсетевых экранов между сегментами диапазоны 1540–1541 и 1560–1591 нужно явно разрешить.
Порты Microsoft SQL Server для работы с 1С
Microsoft SQL Server — самая распространённая СУБД для крупных баз 1С. Экземпляр по умолчанию (MSSQLSERVER) слушает TCP-порт 1433. Именно его сервер 1С использует при подключении к базам, и именно этот порт нужно открыть на сервере СУБД для входящих подключений с сервера 1С.
Служба SQL Server Browser работает по UDP-порту 1434 и нужна только для обнаружения именованных экземпляров с динамическими портами. Если вы используете экземпляр по умолчанию или назначили именованному экземпляру статический порт, SQL Browser можно не открывать и даже отключить.
Именованные экземпляры и динамические порты
Именованный экземпляр (например, SERVER\ONE_C) по умолчанию получает динамический порт, который может меняться после каждого перезапуска службы. Для стабильной работы с 1С рекомендуется жёстко зафиксировать порт: откройте SQL Server Configuration Manager, перейдите в раздел сетевой конфигурации, в свойствах TCP/IP на вкладке IPAll очистите поле «TCP Dynamic Ports» и укажите статический «TCP Port», например 14330. После перезапуска службы откройте этот порт в брандмауэре.
При подключении из консоли кластера 1С именованный экземпляр указывается в формате SERVER\ИМЯ (при работающем SQL Browser) или SERVER,14330 с явным портом. Второй вариант надёжнее, так как не зависит от службы обозревателя.
Порты PostgreSQL для 1С
PostgreSQL (в том числе сборки Postgres Pro, адаптированные для 1С) по умолчанию слушает TCP-порт 5432. Сервер 1С подключается к нему напрямую, поэтому на машине с СУБД должен быть открыт входящий трафик на 5432 с адреса сервера 1С.
Кроме сетевого экрана, у PostgreSQL есть собственный механизм контроля доступа — файл pg_hba.conf. Даже при открытом порте подключение будет отклонено, если в этом файле нет строки, разрешающей соединение с подсети сервера 1С для нужного пользователя. Типичная запись выглядит так: host all all 192.168.1.0/24 scram-sha-256. После правки требуется перечитать конфигурацию командой pg_ctl reload или перезапуском службы.
Также проверьте параметр listen_addresses в postgresql.conf: значение localhost означает, что сервер принимает только локальные подключения. Для работы с внешним сервером 1С укажите * или конкретный IP-адрес сетевого интерфейса.
Сводная таблица портов
Таблица ниже собирает все порты, участвующие в типовой клиент-серверной схеме 1С. Используйте её как шпаргалку при написании правил брандмауэра.
| Компонент | Порт | Протокол | Назначение |
|---|---|---|---|
| Агент сервера 1С | 1540 | TCP | Служебное взаимодействие, консоль кластера |
| Менеджер кластера 1С | 1541 | TCP | Идентификация кластера, регистрация баз |
| Рабочие процессы 1С | 1560–1591 | TCP | Подключение клиентов к информационным базам |
| MS SQL Server (по умолчанию) | 1433 | TCP | Подключение сервера 1С к базам данных |
| SQL Server Browser | 1434 | UDP | Обнаружение именованных экземпляров (опционально) |
| PostgreSQL | 5432 | TCP | Подключение сервера 1С к базам данных |
Как открыть порты в брандмауэре Windows
На сервере СУБД и сервере 1С правила создаются через оснастку «Брандмауэр Защитника Windows в режиме повышенной безопасности» или командой PowerShell. Принцип одинаков: создаётся входящее правило для TCP-порта с ограничением по удалённым адресам.
Пример команды для открытия порта SQL Server только для сервера 1С с адресом 192.168.1.10:
New-NetFirewallRule -DisplayName "SQL Server for 1C" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 192.168.1.10 -Action AllowДля диапазона портов сервера 1С синтаксис аналогичный, в параметре LocalPort указывается диапазон через дефис: 1560-1591. Создавайте отдельные правила для 1540–1541 и 1560–1591 — так проще диагностировать и отключать их по отдельности.
- 1Определите, какой экземпляр СУБД используется и какой порт он слушает (1433, статический порт именованного экземпляра или 5432)
- 2Зафиксируйте статический порт для именованного экземпляра SQL Server, если он используется
- 3Создайте входящие правила брандмауэра на сервере СУБД для порта СУБД с ограничением по IP сервера 1С
- 4Создайте правила на сервере 1С для портов 1540–1541 и 1560–1591 с адресов клиентских машин
- 5Для PostgreSQL добавьте разрешение в pg_hba.conf и проверьте listen_addresses
- 6Проверьте доступность портов с клиентских машин и перезапустите службы при необходимости
Как проверить, что порт доступен
Базовая проверка выполняется командой Test-NetConnection в PowerShell с любой машины, которая должна подключаться:
Test-NetConnection -ComputerName sqlserver -Port 1433Результат TcpTestSucceeded : True означает, что порт открыт и служба отвечает. Значение False указывает либо на закрытый брандмауэр, либо на то, что служба не слушает порт, либо на фильтрацию на промежуточном сетевом оборудовании.
Убедиться, что служба вообще слушает нужный порт, можно на самом сервере командой netstat -ano | findstr 1433. Если строки с состоянием LISTENING нет — проблема в конфигурации самой СУБД, а не в сети. Для SQL Server также проверьте, что протокол TCP/IP включён в Configuration Manager: после установки он иногда отключён.
Как проверить результат
TcpTestSucceeded: True
False — порт закрыт или служба не слушает
Порт в состоянии LISTENING на нужном интерфейсе
Порта нет в списке или он привязан только к 127.0.0.1
База открывается без ошибок соединения
Ошибка соединения с сервером 1С или СУБД
Типичные ошибки и ограничения
Самая частая ошибка — открыть порт 1433 на сервере СУБД, но забыть, что сервер 1С и SQL Server стоят на разных машинах, а между ними есть ещё и аппаратный файрвол или фильтрация на уровне Active Directory (групповые политики с собственными правилами брандмауэра). Правила, созданные локально, могут переопределяться доменными политиками.
Вторая ошибка — открытие портов сервера 1С только на самом сервере, в то время как клиенты подключаются через другой сетевой сегмент с фильтрацией. Правило простое: порты 1560–1591 должны быть доступны со всех клиентских подсетей, порт СУБД — только с сервера 1С.
Третья группа проблем связана с антивирусами со встроенным сетевым экраном: они могут блокировать трафик даже при корректных правилах брандмауэра Windows. При диагностике временно проверьте соединение с отключённой сетевой защитой антивируса, затем добавьте постоянное исключение.
Если сервер 1С и СУБД установлены на одной машине, внешние правила для порта СУБД вообще не нужны: достаточно, чтобы СУБД слушала localhost. Это самая безопасная конфигурация для небольших внедрений — порт базы данных вообще не виден из сети.
Часто задаваемые вопросы
Можно ли изменить стандартный порт 1433 для SQL Server?
Да, в SQL Server Configuration Manager в свойствах TCP/IP можно указать любой свободный порт. После этого в настройках базы 1С сервер указывается с явным портом через запятую, а в брандмауэре открывается новый порт вместо 1433.
Нужно ли открывать UDP 1434 для работы 1С?
Нет, если вы используете экземпляр по умолчанию или подключаетесь к именованному экземпляру с явным указанием статического порта. SQL Server Browser требуется только для автоматического разрешения имён экземпляров с динамическими портами.
Клиенты подключаются к серверу 1С, но база не открывается — какие порты проверять?
В этом случае цепочка «клиент — сервер 1С» уже работает, значит порты 1560–1591 доступны. Проверяйте участок «сервер 1С — СУБД»: доступность порта 1433 или 5432 с сервера 1С командой Test-NetConnection, а для PostgreSQL — записи в pg_hba.conf.
Какие порты нужны для веб-сервера с публикацией 1С?
Публикация через IIS или Apache использует стандартные порты HTTP (80) и HTTPS (443). Порты сервера 1С и СУБД при этом открывать клиентам не нужно: веб-сервер обращается к кластеру 1С сам, а клиенты работают только с веб-сервером.
Опасно ли открывать диапазон 1560–1591 всей локальной сети?
Для внутренней доверенной сети это стандартная практика — без доступа к рабочим процессам клиенты просто не смогут работать. Ограничивать стоит доступ извне: эти порты не должны быть проброшены на роутере или доступны из интернета.
Как узнать, какой порт реально слушает именованный экземпляр SQL Server?
Выполните на сервере netstat -ano | findstr /i "listening" и сопоставьте PID процесса sqlservr.exe, либо посмотрите журнал ошибок SQL Server — при старте он фиксирует строку вида «Server is listening on [any <ipv4> 14330]».
Что важно запомнить
Серверу 1С нужны порты 1540–1541 и 1560–1591 для клиентов, SQL Server — 1433 (или статический порт именованного экземпляра), PostgreSQL — 5432 плюс настройка pg_hba.conf. Открывайте порты с ограничением по IP-адресам и проверяйте результат командой Test-NetConnection.