Работа с 1С:Предприятием в клиент-серверном режиме или через веб-интерфейс требует правильной настройки сетевых портов. Без этого пользователи не смогут подключиться к базе, а внешние сервисы — обмениваться данными. Но какие именно порты нужно открывать? Почему стандартные настройки иногда не работают? И как избежать конфликтов с другими программами?
Эта статья поможет разобраться в архитектуре сетевого взаимодействия 1С, узнать точные номера портов для разных версий платформы (включая 1С:Предприятие 8.3 и 1С:Fresh), а также получить пошаговые инструкции по настройке брандмауэра Windows, iptables в Linux и правил маршрутизатора. Мы также рассмотрим типичные ошибки (например, Ошибка соединения с сервером 1С (2147220991)) и способы их устранения.
Архитектура сетевого взаимодействия 1С: какие компоненты участвуют
Прежде чем открывать порты, важно понять, как именно 1С обменивается данными между компонентами. Платформа использует многоуровневую модель, где каждый слой может требовать своих сетевых правил:
- 🔹 Клиентское приложение — устанавливается на рабочие станции пользователей. Подключается к серверу 1С или напрямую к файловой базе.
- 🔹 Сервер 1С:Предприятия — обрабатывает запросы клиентов, управляет блокировками и транзакциями. Может работать как на физическом сервере, так и в виртуальной машине.
- 🔹 СУБД — Microsoft SQL Server, PostgreSQL или IBM DB2. Хранит данные базы, общается с сервером 1С через собственные порты (например,
1433для SQL Server). - 🔹 Веб-сервер — Apache или IIS, если используется веб-доступ (тонкий клиент через браузер или мобильные приложения).
- 🔹 Лицензионный сервер — 1С:Лицензирование (порты
1540-1541) или HASP (порты475-476).
Каждое соединение между этими компонентами требует открытых портов на брандмауэре. Например, клиент подключается к серверу 1С через один порт, а сервер 1С — к СУБД через другой. Если хоть одно звено цепочки заблокировано, пользователь увидит ошибку подключения.
Если вы используете облачный сервер 1С (например, 1С:Fresh или 1С:Готовое рабочее место), часть портов может быть закрыта провайдером. Уточните их политику в личном кабинете или у технической поддержки.
Список портов 1С: Предприятие по умолчанию
Платформа 1С:Предприятие 8.3 использует динамические и статические порты. Статические фиксированы и не меняются, а динамические выделяются системой при запуске сервисов. Ниже — полная таблица портов с описанием их назначения:
| Порт(ы) | Протокол | Назначение | Примечания |
|---|---|---|---|
1540-1541 |
TCP | Сервер лицензирования 1С:Лицензирование | Используется для проверки лицензий в сетевом режиме. Порт 1540 — основной, 1541 — резервный. |
1560-1591 |
TCP | Сервер 1С:Предприятия (рабочие процессы) | Динамический диапазон. Количество портов зависит от числа рабочих процессов (по умолчанию 32 порта). |
139, 445 |
TCP/UDP | Доступ к файловой базе (SMB) | Требуется только для файлового варианта 1С (без сервера). |
80, 443 |
TCP | Веб-доступ (тонкий клиент, мобильные приложения) | Порт 80 — HTTP, 443 — HTTPS. Настраивается на веб-сервере (IIS/Apache). |
27017 |
TCP | Подключение к PostgreSQL | Используется, если СУБД — PostgreSQL. Для MS SQL — порт 1433. |
Важно: В версиях 1С старше 8.3.10 динамический диапазон портов для рабочих процессов начинался с 1560 и заканчивался 1591. Начиная с 8.3.13+ диапазон может расширяться автоматически при нехватке портов.
Как проверить, какие порты использует ваш сервер 1С
Если вы не уверены, какие порты открыты или используются 1С:Предприятием на вашем сервере, их можно определить несколькими способами:
- Через консоль управления 1С
Откройте
Консоль кластера серверов 1С(доступна в менюПуск → 1С Предприятие 8.3). В разделеУзлы кластеравыберите ваш сервер и посмотрите параметрДиапазон портов рабочих процессов. - Команда
netstatв WindowsЗапустите командную строку от имени администратора и выполните:
netstat -ano | findstr "156"Это покажет все активные соединения в диапазоне портов 1С. Число после
PID— идентификатор процесса (можно проверить вДиспетчере задач). - Утилита
ssв LinuxДля Linux-серверов используйте команду:
ss -tulnp | grep 15Флаг
-tпоказывает TCP-порты,-u— UDP,-l— прослушиваемые,-n— без разрешения имен.
Если порты не отображаются, возможно, сервис 1С не запущен. Проверьте статус служб:
sc query "1C:Enterprise 8.3 Server Agent"
или в Linux:
systemctl status srv1cv83
Что делать, если порты заняты другим ПО?
Если вы обнаружили, что порты из диапазона 1560-1591 заняты другим приложением, можно переназначить диапазон в конфигурационном файле conf.cfg (расположен в каталоге кластера). Добавьте строку:
port_range = 2560-2591
После изменения перезапустите сервис 1С.
Настройка брандмауэра Windows для 1С: пошаговая инструкция
Чтобы клиенты могли подключаться к серверу 1С через сеть, необходимо разрешить входящие соединения на используемых портах. В Windows это делается через Брандмауэр Защитника Windows:
☑️ Открытие портов в брандмауэре Windows
Подробная инструкция:
- Откройте
Панель управления → Брандмауэр Защитника Windows → Дополнительные параметры. - В левом меню выберите
Правила для входящих подключений → Создать правило. - Выберите тип правила:
Для порта→TCP. - Укажите порты:
- 🔢
1540-1541(для лицензирования) - 🔢
1560-1591(для рабочих процессов)
- 🔢
- Выберите действие:
Разрешить подключение. - Примените правило ко всем профилям:
Доменный,Частный,Публичный. - Дайте правилу имя, например:
Порты 1С:Предприятие. - 🚨 Ошибка 2147220991 ("Не удалось установить соединение с сервером 1С")
Причины:
- Порты
1560-1591закрыты на сервере или маршрутизаторе. - Служба
1C:Enterprise 8.3 Server Agentне запущена. - Неверно указан адрес сервера в строке подключения (например,
localhostвместо IP).
Решение: Проверьте доступность портов с клиентской машины командой:
telnet [IP_сервера] 1560Если соединение не устанавливается, проверьте брандмауэр и маршрутизатор.
- Порты
- 🚨 Ошибка лицензирования ("Не найдена лицензия для работы с информационной базой")
Причины:
- Порты
1540-1541закрыты. - Сервис 1С:Лицензирование не запущен.
- Лицензия привязана к другому серверу.
Решение: Перезапустите службу лицензирования:
net stop "1C:Enterprise 8.3 Licensing Service"net start "1C:Enterprise 8.3 Licensing Service"
- Порты
- 🚨 Медленная работа 1С через сеть
Причины:
- Фрагментация пакетов из-за MTU.
- Высокий ping между клиентом и сервером.
- Перегрузка портов (слишком много рабочих процессов).
Решение: Увеличьте диапазон портов в
conf.cfgили оптимизируйте сетевое оборудование. - 🌐 Веб-сервер (IIS/Apache)
Откройте порты:
80(HTTP) и443(HTTPS) — для доступа к веб-интерфейсу.1560-1591— для связи веб-сервера с сервером 1С.
- 📱 Мобильные клиенты
Для 1С:Мобильная платформа требуется:
- Открыть
443(HTTPS) на маршрутизаторе. - Настроить обратный прокси (например, Nginx) для перенаправления запросов на сервер 1С.
- Открыть
- 🔒 Безопасность
Для защиты трафика:
- Используйте SSL-сертификат (например, от Let’s Encrypt).
- Ограничьте доступ по IP в правилах брандмауэра.
- Настройте аутентификацию на веб-сервере (Basic Auth).
- Слишком широкий диапазон открытых портов (например,
1560-1999), что увеличивает нагрузку на фаервол. - Фрагментация пакетов из-за неправильного
MTU. - Маршрутизатор блокирует
TCP-соединения с большим временем жизни. 80/443— для HTTP-сервисов.135,137-139,445— дляCOM-соединения(если используется DCOM).
Для исходящих подключений (если сервер 1С сам обращается к внешним ресурсам, например, для обмена данными) повторите шаги, но выберите Правила для исходящих подключений.
⚠️ Внимание: Если на сервере установлен сторонний фаервол (например, Kaspersky или ESET), настройте правила и там. Некоторые антивирусы блокируют порты даже после настроек брандмауэра Windows.
Настройка iptables в Linux для сервера 1С
В Linux-системах (например, Ubuntu или CentOS) управление портами осуществляется через iptables или firewalld. Ниже — команды для открытия портов 1С:
Для iptables:
# Разрешаем порты для лицензирования
sudo iptables -A INPUT -p tcp --dport 1540:1541 -j ACCEPT
Разрешаем диапазон рабочих процессов
sudo iptables -A INPUT -p tcp --dport 1560:1591 -j ACCEPT
Сохраняем правила (для Ubuntu/Debian)
sudo iptables-save | sudo tee /etc/iptables/rules.v4
Для firewalld (в CentOS/RHEL):
# Добавляем порты в зону public
sudo firewall-cmd --zone=public --add-port=1540-1541/tcp --permanent
sudo firewall-cmd --zone=public --add-port=1560-1591/tcp --permanent
Перезагружаем фаервол
sudo firewall-cmd --reload
После применения правил проверьте их активность:
sudo iptables -L -n | grep 15
или для firewalld
sudo firewall-cmd --list-ports
⚠️ Внимание: В облачных серверах (например, AWS или Azure) помимо настроек ОС требуется открыть порты в Security Group или Network Security Group. Без этого внешние подключения будут блокироваться на уровне облачного провайдера.
Типичные ошибки и их решения
Даже после открытия портов пользователи могут сталкиваться с ошибками подключения. Рассмотрим самые распространённые:
Если ошибка подключения возникает только у отдельных пользователей, проблема, скорее всего, на их стороне: проверьте локальный брандмауэр, антивирус или прокси-сервер.
Особенности настройки портов для веб-доступа и мобильных клиентов
Если вы используете тонкий клиент через браузер или мобильное приложение 1С, потребуется дополнительная настройка:
Пример конфигурации Nginx для проксирования запросов к 1С:
server {
listen 443 ssl;
server_name 1c.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:1560;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
FAQ: Частые вопросы по портам 1С
Можно ли изменить стандартные порты 1С?
Да, диапазон портов для рабочих процессов (1560-1591) можно переназначить в файле conf.cfg, добавив строку:
port_range = 2000-2031
После изменения перезапустите сервис 1С. Порты лицензирования (1540-1541) изменить нельзя.
Нужно ли открывать порты для файловой базы 1С?
Для файловой базы (без сервера 1С) открывать порты не требуется, если все пользователи работают в локальной сети. Достаточно общего доступа к папке с базой по протоколу SMB (порты 139, 445). Для удалённого доступа через интернет используйте VPN или RDP.
Как проверить, открыты ли порты извне?
Используйте онлайн-сервисы для проверки портов, например:
Или команду с другой машины:
telnet [IP_сервера] [порт]
Если соединение устанавливается, порт открыт.
Почему 1С работает медленно после открытия портов?
Возможные причины:
Решение: оптимизируйте диапазон портов (например, 1560-1575 для 15 рабочих процессов) и проверьте настройки MTU (оптимальное значение — 1472 для PPPoE).
Нужно ли открывать порты для обмена данными (COM-соединение, HTTP-сервисы)?
Для обмена данными (например, через Универсальный обмен данными или HTTP-сервисы) требуются дополнительные порты:
Для REST API или OData обычно используется порт 443 (HTTPS).