При настройке сетевой инфраструктуры предприятия администраторы часто сталкиваются с необходимостью открыть доступ к системе 1С:Предприятие через корпоративный брандмауэр или маршрутизатор. Вопрос «по какому порту работает 1С клиент» является одним из самых частых в технической поддержке, однако ответ на него не так однозначен, как может показаться на первый взгляд. В отличие от веб-серверов, использующих стандартные 80 или 443 порты, архитектура платформы 1С подразумевает использование динамических диапазонов и служебных каналов связи.
Понимание принципов взаимодействия между тонким клиентом, сервером 1С:Предприятия и кластером серверов критически важно для обеспечения стабильности работы базы данных. Неправильная конфигурация правил фильтрации пакетов может привести к тому, что пользователи смогут подключиться к кластеру, но не смогут запустить саму информационную базу. В этом материале мы детально разберем сетевую модель платформы, стандартные значения портов и методы их изменения для повышения безопасности вашей сети.
Стандартные порты сервера 1С:Предприятия
В типовой конфигурации сети сервер 1С:Предприятие использует два основных типа соединений: управляющее соединение с кластером серверов и непосредственное соединение с рабочим процессом (rphost). По умолчанию агент кластера серверов 1С:Предприятия ожидает входящие соединения на TCP-порту 1541. Именно через этот порт клиентское приложение получает список доступных информационных баз и параметры их запуска.
После того как клиент получил информацию о базе, он инициирует соединение с конкретным рабочим процессом. Здесь начинается самая интересная часть настройки сети. По умолчанию сервер 1С выделяет для рабочих процессов диапазон портов 1560-1591. Это означает, что для корректной работы системы вам необходимо открыть не один конкретный порт, а целый диапазон адресов. Количество одновременно работающих пользователей напрямую влияет на то, сколько портов из этого диапазона будет занято в конкретный момент времени.
Важно отметить, что использование стандартного диапазона 1560-1591 рекомендуется только в изолированных локальных сетях с высоким уровнем доверия. В средах, где сервер 1С доступен из внешней сети или сегмента с менее строгими правилами безопасности, reliance на стандартные значения может стать уязвимостью. Злоумышленники, знающие стандартные порты 1С, могут попытаться провести сканирование сети на предмет наличия открытых служб 1С:Предприятия.
⚠️ Внимание: Если вы меняете порты в конфигурационном файле сервера, убедитесь, что выбранный диапазон не пересекается с портами других критических служб (например, SQL Server или веб-сервера), чтобы избежать конфликтов-bind ошибок при запуске службы.
Для проверки открытых портов на сервере можно использовать встроенную утилиту командной строки Windows: netstat -an | find "1541". Это покажет, слушает ли агент кластера необходимый порт.
Настройка портов в конфигурационном файле srvinfo
Администрирование портов 1С осуществляется через редактирование специального конфигурационного файла srvinfo.cfg, который находится в каталоге установки сервера 1С, обычно в папке srvinfo. Этот текстовый файл позволяет гибко управлять настройками кластера, включая привязку к конкретным сетевым интерфейсам и изменение диапазонов портов для рабочих процессов. Синтаксис файла достаточно прост, но требует внимательности при редактировании.
Для изменения диапазона портов рабочих процессов используется параметр port-range. Вы можете сузить диапазон, если у вас ограниченное количество лицензий, или расширить его для крупных внедрений. Например, директива port-range=16000,16100 заставит сервер 1С выделять порты только из указанного промежутка. Это особенно удобно для системных администраторов, которые хотят четко разграничить трафик 1С от другого сетевого оборудования при настройке правил фаервола.
Также в этом файле можно задать порт самого агента кластера с помощью параметра port. Изменение порта агента с 1541 на нестандартное значение (например, 2541) является одной из базовых мер безопасности, известной как «security through obscurity». Хотя это не защитит от целевой атаки профессионального хакера, это эффективно отсеет автоматические сканеры уязвимостей, ищущие стандартные порты.
☑️ Проверка конфигурации srvinfo.cfg
Особенности работы в файловом варианте
Вопрос о портах теряет свою актуальность, если ваша информационная база работает в файловом варианте. В этом случае архитектура «клиент-сервер» не используется, и взаимодействие происходит напрямую с файлами данных на диске через стандартные протоколы файлового обмена SMB (Server Message Block). Следовательно, понятие «порт 1С» здесь неприменимо, так как нет процесса rphost, слушающего TCP-соединения.
Однако это не означает, что сетевая настройка не требуется вовсе. Для доступа к файловой базе по локальной сети необходимо, чтобы на компьютере, где физически расположена база, были открыты порты файлового обмена. Стандартными портами для SMB являются 445 и 139. Именно через них клиентские машины монтируют сетевой диск или обращаются к общей папке с базой данных 1С.
При переходе с файлового варианта на клиент-серверный многие администраторы забывают изменить правила брандмауэра, оставляя открытыми только SMB-порты. Это приводит к ошибкам подключения, так как тонкий клиент пытается установить TCP-соединение с сервером 1С, а не открыть файл напрямую. Всегда проверяйте режим работы базы перед настройкой сетевых экранов.
⚠️ Внимание: Протокол SMB версии 1.0 (использующий порт 139) считается устаревшим и небезопасным. Рекомендуется использовать SMB 2.0/3.0 и открывать только порт
445, отключая поддержку старых версий протокола в настройках Windows.
Почему файловый вариант медленнее на большом количестве пользователей?
В файловом варианте вся обработка данных происходит на стороне клиента, а по сети передаются огромные объемы сырых данных. В клиент-серверном варианте на сторону клиента передается только результат запроса, что кардинально снижает сетевой трафик.
Сетевое взаимодействие с СУБД
Помимо портов самой платформы 1С, критически важным элементом инфраструктуры является порт системы управления базами данных (СУБД). Сервер 1С:Предприятия выступает в роли посредника: он принимает запросы от клиентов и передает их в СУБД (обычно Microsoft SQL Server или PostgreSQL). Если порты СУБД закрыты для сервера 1С, работа базы будет невозможна, даже если клиент успешно подключился к кластеру.
Для Microsoft SQL Server стандартным портом является 1433. Однако, если на сервере используется именованный экземпляр SQL Server (например, SERVERNAME\INSTANCE1), порт может быть динамическим. В таком случае для определения порта используется служба SQL Server Browser, которая работает на UDP-порту 1434. Рекомендуется для производственных баз 1С использовать статический порт в настройках SQL Server, чтобы упростить настройку брандмауэра.
В случае использования PostgreSQL, стандартный порт составляет 5432. Принцип тот же: сервер 1С должен иметь беспрепятственный доступ к этому порту на сервере баз данных. Часто в сложных инфраструктурах сервер 1С и сервер СУБД разнесены на разные физические машины, поэтому правила файрвола должны разрешать трафик между этими узлами по конкретным IP-адресам.
| Компонент | Протокол | Стандартный порт | Назначение |
|---|---|---|---|
| Агент кластера 1С | TCP | 1541 | Регистрация и управление кластером |
| Рабочие процессы 1С | TCP | 1560-1591 | Обработка запросов пользователей |
| MS SQL Server | TCP | 1433 | Доступ к данным СУБД |
| PostgreSQL | TCP | 5432 | Доступ к данным СУБД |
| SQL Server Browser | UDP | 1434 | Определение порта именованного экземпляра |
Диагностика проблем подключения
Если пользователи жалуются на невозможность подключения к базе 1С, первым шагом должна стать диагностика сетевой связности. Не стоит сразу грешить на конфигурацию 1С, часто проблема кроется в блокировке пакетов на уровне операционной системы или сетевого оборудования. Использование утилиты telnet или Test-NetConnection в PowerShell позволяет быстро проверить доступность конкретного порта.
Для проверки доступности порта кластера выполните команду с рабочей станции пользователя, подставив IP-адрес сервера 1С. Если соединение устанавливается, значит, путь до сервера открыт. Если же команда зависает или выдает ошибку, значит, пакет блокируется где-то на маршруте или на самом сервере.
Test-NetConnection -ComputerName 192.168.1.10 -Port 1541
Также полезно использовать утилиту rping, входящую в состав дистрибутива сервера 1С:Предприятия. Она позволяет проверить доступность сервера 1С с точки зрения самого программного продукта, а не просто наличие сетевого контакта. Утилита пытается подключиться к агенту кластера и получить список баз, эмулируя действия реального клиента.
⚠️ Внимание: При диагностике помните, что успешный пинг (ICMP) не гарантирует работу TCP-портов. Брандмауэр может разрешать эхо-запросы, но блокировать порты 1541 или 1560. Всегда проверяйте именно TCP-соединение.
90% проблем с подключением «по сети» связаны с настройками брандмауэра Windows или корпоративного фаервола, блокирующего диапазон портов рабочих процессов (1560-1591).
Безопасность и изменение стандартных портов
Изменение стандартных портов является рекомендуемой практикой для систем, имеющих выход в интернет или находящихся в демилитаризованной зоне (DMZ). Хотя это не заменяет использование VPN или сложных механизмов аутентификации, это значительно усложняет жизнь автоматическим ботам. Для изменения порта необходимо отредактировать файл srvinfo.cfg и перезапустить службу «Агент сервера 1С:Предприятия».
После смены порта на сервере, необходимо обновить ярлыки запуска у пользователей или настройки в списке информационных баз. В строке подключения к серверу теперь нужно явно указывать новый порт через двоеточие после адреса сервера. Например, если адрес сервера 192.168.1.50, а новый порт 2026, строка подключения будет выглядеть как 192.168.1.50:2026.
Не забывайте, что смена портов требует синхронизации настроек на всех узлах кластера, если у вас распределенная инфраструктура. Также необходимо внести соответствующие изменения в правила NAT на пограничном маршрутизаторе, если доступ к 1С осуществляется извне. Документирование всех изменений в сетевой схеме обязательно для предотвращения путаницы в будущем.
Можно ли использовать один порт для всех пользователей?
Технически можно настроить сервер так, чтобы все пользователи подключались к одному порту, но это крайне не рекомендуется. Это создаст единую точку отказа и существенно затруднит диагностику зависаний конкретных сеансов, так как весь трафик будет смешан в одном потоке.
Часто задаваемые вопросы (FAQ)
Как узнать, какой именно порт из диапазона использует моя база 1С?
Для этого можно воспользоваться утилитой командной строки netstat на сервере 1С. Выполните команду netstat -ano | findstr rphost. Вы увидите список всех активных процессов rphost и соответствующие им локальные адреса с портами. Также эту информацию можно посмотреть в консоли управления кластером серверов 1С:Предприятия в свойствах рабочего процесса.
Нужно ли открывать порты 1С для доступа через веб-клиент?
Да, обязательно. Веб-сервер (IIS или Apache) выступает лишь как прокси. Он принимает HTTP/HTTPS запросы от браузера, но для работы с данными сам веб-сервер должен устанавливать соединение с сервером 1С:Предприятия по стандартным портам кластера (1541) и рабочих процессов. Без открытия этих портов на сервере 1С веб-клиент выдаст ошибку соединения.
Почему 1С не подключается, хотя порт 1541 открыт?
Скорее всего, заблокирован диапазон портов рабочих процессов (по умолчанию 1560-1591). Клиент успешно проходит авторизацию на порту 1541, получает адрес рабочего процесса, но не может установить с ним фактическое соединение для работы с данными. Проверьте правила исходящего и входящего трафика для всего диапазона.
Можно ли ограничить диапазон портов 1С до одного значения?
В файле srvinfo.cfg можно указать диапазон, состоящий из одного порта (например, port-range=1560,1560). Однако это ограничит количество одновременных подключений к серверу одним процессом. Для многопользовательской работы необходимо выделять отдельный порт на каждое активное подключение или на группу подключений в зависимости от версии платформы.
Влияет ли версия платформы 1С на используемые порты?
Базовые принципы работы портов (1541 для кластера и диапазон для процессов) сохраняются во всех современных версиях платформы 8.2 и 8.3. Однако в новых релизах могут появляться дополнительные сервисные порты для специфических функций, таких как фоновые задания или интеграция с некоторыми внешними компонентами, поэтому всегда сверяйтесь с документацией к конкретной версии релиза.