Доступ к серверу 1С извне: какие порты открыть и как не ошибиться
Содержание
Чтобы клиент 1С подключился к серверу через NAT, нужно пробросить три вещи: порт агента 1540, порт менеджера кластера 1541 и весь диапазон рабочих процессов, по умолчанию 1560-1591. Внешние номера портов должны совпадать с внутренними, а имя сервера, под которым он зарегистрирован в кластере, клиент должен уметь разрешить в ваш внешний IP.
Без последнего условия проброс портов для 1С «вроде настроен», а подключение всё равно падает. Настройка идёт в три слоя: правило на роутере или в облаке, разрешение в фаерволе сервера, запись имени сервера у клиента.
Какие порты использует сервер 1С и зачем их пробрасывать
Клиент-серверная 1С работает в несколько шагов. Сначала клиент обращается к агенту сервера, тот отправляет его к менеджеру кластера, а менеджер выдаёт адрес и порт конкретного рабочего процесса. Дальше клиент общается уже с рабочим процессом.
Поэтому открыть один порт недостаточно. Если закрыт хотя бы диапазон рабочих процессов, клиент дойдёт до агента и упадёт с ошибкой таймаута.
| Порт по умолчанию | Служба | Нужен снаружи? |
|---|---|---|
1540 (TCP) | Агент сервера ragent | Да, для клиент-серверного подключения |
1541 (TCP) | Менеджер кластера rmngr | Да |
1560-1591 (TCP) | Рабочие процессы rphost | Да, весь диапазон |
1545 (TCP) | Сервер администрирования ras | Нет, только из админской сети |
1542 (TCP) | Сервер хранилища crserver | Только разработчикам, лучше через VPN |
1550 (TCP) | Сервер отладки dbgs | Нет |
475 (TCP/UDP) | Менеджер лицензий HASP | Нет |
80 / 443 (TCP) | Веб-публикация базы (IIS, Apache) | Да, если работаете через браузер или тонкий клиент по HTTP |
1433 / 5432 (TCP) | MS SQL / PostgreSQL | Никогда |
445 (TCP) | Общий доступ к файловой базе | Никогда |
3389 (TCP) | RDP к терминальному серверу | Нежелательно, только через шлюз или VPN |
Номера можно поменять. Агенту их задают ключами командной строки службы: -port 1540 -regport 1541 -range 1560:1591. Если на сервере установлено два кластера разных версий, у второго порты другие, например 2540, 2541, 2560:2591. Проверьте строку запуска службы «Агент сервера 1С:Предприятия 8.3» перед тем, как что-то открывать.
Когда проброс вообще не нужен
- 🏢 Пользователи в одной локальной сети с сервером — нужен только фаервол на сервере.
- 🔐 Удалённые сотрудники подключены по VPN — они попадают во внутреннюю сеть, NAT не участвует.
- 🌐 База опубликована на веб-сервере — снаружи нужен только
443, порты кластера остаются внутри.
Прямой проброс 1540-1591 в интернет — рабочий, но самый открытый вариант. О рисках — в разделе про безопасность.
Подготовка к пробросу портов на сервер 1С
Перед настройкой роутера проверьте, что всё работает внутри сети. Иначе вы будете искать ошибку не там.
- Узнайте реальные порты кластера. Откройте свойства службы агента (
services.mscв Windows) и посмотрите путь к исполняемому файлу — в нём есть-port,-regport,-range. В Linux смотрите юнит службы:systemctl catс именем службы сервера 1С. - Проверьте, что порты слушаются. В Windows:
netstat -ano | findstr :154. В Linux:ss -tlnp | grep -E '154|156'. - Подключитесь с другого компьютера в той же сети. Если внутри не работает — проброс не поможет.
- Узнайте имя сервера в кластере. Откройте консоль администрирования, разверните кластер →
Рабочие серверыи посмотрите поле «Компьютер». Именно это имя сервер будет сообщать клиентам. - Закрепите за сервером постоянный внутренний IP: статический адрес на сетевой карте или резервирование в DHCP роутера.
- Проверьте, что у вас «белый» внешний IP. Сравните WAN-адрес в интерфейсе роутера с тем, что показывает любой сервис определения IP. Если адреса разные или WAN начинается на
100.64.–100.127.,10.,192.168.— вы за NAT провайдера, и проброс на своём роутере ничего не даст. Нужна услуга «статический IP» у провайдера или VPN через внешний сервер. - Убедитесь, что у вас есть права администратора и на роутере, и на сервере.
Проверка доступности порта из Windows:
Test-NetConnection srv1c -Port 1541
В Linux то же делают так:
nc -zv srv1c 1541
Проброс портов на роутере для локального сервера 1С
Названия разделов у роутеров разные: «Переадресация портов», «Виртуальные серверы», Port Forwarding, NAT → «Правила». Логика везде одна.
Шаг 1. Создайте правила
Добавьте правило для каждого порта или диапазона:
| Внешний порт | Внутренний IP | Внутренний порт | Протокол |
|---|---|---|---|
1540 | 192.168.1.10 | 1540 | TCP |
1541 | 192.168.1.10 | 1541 | TCP |
1560-1591 | 192.168.1.10 | 1560-1591 | TCP |
Внешний порт должен совпадать с внутренним. Рабочий процесс сообщает клиенту свой настоящий номер порта, например 1563. Если вы пробросили снаружи 21563 → 1563, клиент постучится на 1563, а снаружи такого правила нет.
Если роутер не умеет диапазоны, придётся создать 32 правила или уменьшить диапазон в свойствах рабочего сервера. Делать диапазон меньше, чем нужно рабочим процессам и их соединениям, нельзя: процессам не хватит портов.
Шаг 2. Научите клиента находить сервер по имени
Это главный приём, о котором забывают. Менеджер кластера возвращает клиенту не IP, а имя компьютера из настроек рабочего сервера, например srv1c. Снаружи это имя никто не знает.
Решение — запись в файле hosts на каждом удалённом компьютере:
# C:\Windows\System32\drivers\etc\hosts
203.0.113.25 srv1c
Где 203.0.113.25 — ваш внешний IP. Файл редактируют блокнотом, запущенным от имени администратора. На Linux-клиенте это /etc/hosts.
Альтернатива — зарегистрировать сервер в кластере под DNS-именем, которое и снаружи, и внутри указывает куда надо (внутри — через локальный DNS на внутренний IP, снаружи — на внешний). Переименование рабочего сервера в действующем кластере затрагивает все базы, делайте его в нерабочее время.
Шаг 3. Добавьте базу в список
В окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы» → тип «На сервере 1С:Предприятия». Укажите кластер серверов
как в hosts (srv1c) и имя базы в кластере. Если агент работает не на 1540, кластер пишут с портом: srv1c:2541.
Шаг 4. Проверьте снаружи
Проверять нужно с компьютера вне вашей сети, например с мобильного интернета. Изнутри многие роутеры не умеют NAT loopback, и тест «изнутри по внешнему IP» покажет закрытый порт даже при верных правилах.
Как настроить фаервол на сервере 1С
Правило на роутере доводит пакет до сервера. Дальше его может отбросить фаервол самого сервера.
Windows Server
Через PowerShell от имени администратора:
New-NetFirewallRule -DisplayName "1C Server 8.3" -Direction Inbound `
-Protocol TCP -LocalPort 1540-1541,1560-1591 -Action Allow
Тот же результат через netsh:
netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
Правило можно сузить: в графической оснастке wf.msc на вкладке «Область» укажите удалённые IP-адреса, с которых разрешено подключение. Для офиса с постоянным адресом это лучший вариант.
Linux
С ufw (Ubuntu, Debian):
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
sudo ufw status
С firewalld (RHEL-подобные, Astra, РЕД ОС):
sudo firewall-cmd --permanent --add-port=1540-1541/tcp
sudo firewall-cmd --permanent --add-port=1560-1591/tcp
sudo firewall-cmd --reload
Разрешить доступ только с одного адреса в ufw:
sudo ufw allow from 198.51.100.7 to any port 1540:1591 proto tcp
Перезапуск службы агента 1С после смены портов обрывает все сеансы пользователей. Делайте это вне рабочего времени и предупредите людей заранее. Правила фаервола добавляются без перезапуска 1С.
Проброс портов 1С в облаке: AWS, Azure, Yandex Cloud
В облаке обычно нет роутера с NAT в привычном виде. У виртуальной машины есть публичный адрес, а входящий трафик режет облачный фильтр. Его и нужно настроить, плюс фаервол внутри ОС.
| Облако | Где открывать порты | Что учесть |
|---|---|---|
| AWS | Security Group машины → Inbound rules | Источник указывайте IP офиса, а не 0.0.0.0/0 |
| Azure | Network Security Group сетевого интерфейса или подсети → Inbound security rules | Правила проверяются по приоритету, запрещающее с меньшим номером перекроет ваше |
| Yandex Cloud | Группа безопасности сетевого интерфейса → входящий трафик | Если группа назначена, всё неразрешённое запрещено |
Для каждого облака добавьте правила TCP на 1540-1541 и 1560-1591, источником — адреса ваших пользователей.
Проблема с именем сервера в облаке та же. ВМ знает себя по внутреннему имени, а клиенту нужен публичный адрес. Добавьте запись в hosts клиентов или заведите DNS-имя, на которое зарегистрирован рабочий сервер.
Публичный IP облачной машины по умолчанию часто динамический и меняется после остановки ВМ. Зарезервируйте статический адрес, иначе после очередной перезагрузки придётся править hosts у всех пользователей.
Типичные ошибки при открытии портов для 1С
Ещё две ошибки встречаются при настройке, а не при подключении:
- 🔀 Проброшен не тот кластер. На сервере стоят две версии платформы, а правила указывают на порты старого кластера.
- 🧱 Открыт порт СУБД вместо портов 1С. Клиент 1С к базе данных напрямую не ходит, ему нужны только порты кластера. Порт PostgreSQL или MS SQL наружу не нужен.
Безопасность: что открывать нельзя и чем заменить прямой проброс
Открытые порты кластера видят сканеры со всего интернета. Протокол 1С не задуман для работы в открытой сети, поэтому каждый лишний порт — дополнительный риск.
Чего не делать никогда:
- 🚫 не пробрасывать
445для файловой базы — это прямой путь для шифровальщиков; - 🚫 не выставлять наружу порт СУБД (
1433,5432); - 🚫 не открывать
1545(RAS) и1550(отладка): через них можно управлять кластером и сеансами; - 🚫 не публиковать
3389на стандартном порту без шлюза или VPN.
Что сделать, если прямой проброс всё же нужен:
- Ограничьте источник: в правилах роутера, фаервола или облака разрешите только IP-адреса офисов.
- Назначьте администратора кластера с паролем. Без него любой, кто дошёл до агента, может подключиться консолью.
- Включите пароли у всех пользователей информационной базы и проверьте, что в базе нет пользователя без пароля с полными правами.
- Снимите права администратора кластера с пользователей и отключите лишние базы на этом сервере.
- Обновляйте платформу: исправления безопасности выходят в новых сборках.
Безопаснее прямого проброса три варианта:
| Вариант | Что открыть наружу | Плюсы | Минусы |
|---|---|---|---|
| VPN (WireGuard, OpenVPN, IPsec) | Один порт VPN | Порты 1С остаются внутри, работает толстый и тонкий клиент | Нужно ставить VPN-клиент каждому |
| Веб-публикация базы | 443 | Работает через браузер и тонкий клиент, легко закрыть сертификатом | Нужно настроить IIS или Apache и сертификат |
| Терминальный сервер через шлюз RD | 443 | Пользователь работает на сервере, трафик 1С не покидает сеть | Нужны лицензии RDS |
Частые вопросы
Можно ли сменить стандартный порт 1541 на нестандартный, чтобы спрятать сервер?
-port, -regport и -range в строке запуска службы агента. От сканеров это защищает слабо, но снижает шум автоматических проверок. Клиентам потом указывают кластер с портом агента.Работает ли 1С по UDP?
Нужно ли пробрасывать порты для файловой базы?
445 опасно, а работа по сети с задержками портит базу. Опубликуйте её на веб-сервере или дайте доступ через терминальный сервер.Сколько портов оставить в диапазоне рабочих процессов?
1560-1591 хватает небольшому серверу. Сужать диапазон ради удобства проброса рискованно, при нехватке клиенты получат ошибку подключения.Как проверить, что порт открыт, если на клиенте нет PowerShell?
telnet адрес 1541 (клиент telnet включается в компонентах Windows) или онлайн-сервис проверки портов. Пустой чёрный экран telnet означает, что соединение установлено.