Перейти к основному содержимому

Порты и межсетевой экран

С 08.10.2026 роли calendar и identity — одна роль directory: один сервис, имя роли dir.<домен> (каталог, консоль, портал, календарь под /cal, CalDAV на корне имени), оба приватных порта.

Актуально для: SimpleTwo 0.9.x · Проверено: 02.10.2026

Правила фаервола на узлах ролей ставит агент сам — по тому же описанию, по которому ставит саму службу. Эта страница нужна, когда между вашими сетями стоит чужой фаервол: его настраивает не агент, а вы.

1. Что должно быть доступно из интернета​

РольПортЗачем
координатор80/tcpпроверка владения именем (ACME) и перенаправление на HTTPS
координатор443/tcpAPI, консоль, страница загрузок клиентов
messaging9090/tcp или 443/tcpклиенты; 443 — когда служба сама терминирует TLS
directory443/tcpвход (OpenID Connect, SAML), портал сотрудника /me, /admin — переадресация в консоль координатора, календарь /cal (подписки), CalDAV и CardDAV /dav/; открывается, только когда у хоста есть публичное имя — своё или через NAT организации
mail443/tcpпочта для клиентов (JMAP и его push); открывается, только когда у хоста есть публичное имя
sfu443/tcpсигналинг, когда узел стоит за TLS-фронтом
sfu7880/tcpсигналинг напрямую — открывается только если фронта нет
sfu7881/tcpзапасной путь медиа по TCP
sfu50000–60000/udpсами потоки
turn3478/udp + 3478/tcpобход NAT
turn443/tcpто же поверх TLS (turns:) — для сетей, где открыт только HTTPS; открывается, только когда сертификат уже на диске
turn49152–65535/udpрелей
mcu5061/tcpSIP поверх TLS (_sips._tcp) — вход терминалов переговорок; открывается, только когда у узла есть публичное имя и сертификат уже на диске — его заказывает координатор
mcu5060/udp + 5060/tcpоткрытый SIP — только при транспорте для аппаратов «TLS и открытый SIP»; по умолчанию закрыт (см. ниже)
mcu80/tcpтолько пока выпускается сертификат для SIP-TLS (проверка владения именем)
mcu10000–20000/udpмедиа: голос, видео, презентация, BFCP по UDP
mcu10000–20000/tcpуправление презентацией (BFCP по TCP): аппарат подключается к MCU; с агента 0.5.76
gateway443/tcp и порты включённых транспортовтуннели клиентов
monitoring443/tcpвход в интерфейс мониторинга — единственный порт, к которому подходят люди; откуда его видно (из интернета или только из вашей сети), решаете вы
monitoring80/tcpтолько пока выпускается сертификат (проверка владения именем)
mx25/tcpприём почты из интернета (MX) и письма устройств без пароля из сетей, заданных в консоли; агент открывает его сам. Придёт ли сюда почта из интернета, решает запись MX в вашем DNS
drive443/tcpфайлы для клиентов и внешние ссылки /d/…; там же служба сама получает сертификат (TLS-ALPN-01). Открывается, только когда у хоста есть публичное имя (см. файлы)
mx587/tcp, 465/tcpотправка по паролю приложения: 587 — STARTTLS, 465 — TLS; открываются, только когда у хоста есть публичное имя и сертификат

5060 у mcu по умолчанию закрыт. Его открытие решает настройка Телефония → SIP SRV-записи → Транспорт для аппаратов (подробно — переговорные, раздел «Транспорт для аппаратов»):

  • «Только TLS» (по умолчанию) — узел не слушает 5060, агент закрывает его в файрволе. Аппарат входит по SIP-TLS: по своему сертификату, а в виде исключения — по логину и паролю (SIP digest с SHA-256).
  • «TLS и открытый SIP» — 5060 UDP и TCP открыт. Нужен только аппаратам, которые не умеют SIP-TLS вовсе: сертификата по открытому SIP нет, поэтому такой аппарат входит только по логину и паролю.

«Только TLS» действует, только когда SIP-TLS поднялся: без сертификата на диске 5060 остаётся открытым, а узел пишет причину в своё состояние. Узел, который не слушает нигде, хуже узла, который слушает открытым текстом.

Узлов mx по схеме два, у каждого свой публичный адрес — порты одинаковы на обоих. Пока в DNS нет записи MX на узел mx, почта из интернета к вам не идёт; подробнее — почта.

Порт открывается тогда, когда за ним есть кто ответить

Это не мелочь конфигурации, а правило: turn не объявляет TLS на 443, пока нет сертификата, mcu — 5061, пока сертификат не на диске, а directory, mail и drive не открывают 443, пока у хоста нет публичного имени. Открытый порт, который принимает соединение и не может завершить рукопожатие, оператор связи читает как нашу неисправность, а сканер — как приглашение.

2. Что не должно быть доступно из интернета​

РольПортКому открывать
postgres5432/tcpтолько хостам служб, которые к нему ходят
redis6379/tcpтолько messaging, sfu, mcu, recorder
s39000/tcpтолько messaging и recorder; слушает одну приватную ногу, а не все интерфейсы
support8087/tcpтолько хостам messaging, и только подписанные вебхуки; агент открывает порт только им
messaging9091/tcpуправляющий интерфейс: по умолчанию только петля (127.0.0.1)
directory8086/tcpкоординатору: приватный HTTP, через который консоль пишет в identity
mail8087/tcpкоординатору и службам платформы: приватный HTTP
mail24/tcpLMTP — дверь, через которую mx сдаёт почту; только хостам mx
mail8087/tcpещё и хостам mx: оттуда край берёт список получателей
mx2525/tcpтолько узлам mail: через него кластер отдаёт краю исходящую почту
drive8088/tcp (по умолчанию; меняется настройкой listen в консоли)приватный HTTP файлов для координатора и служб; клиенты ходят на 443 публичного имени
directory (календарь)8085/tcpкоординатору и службам платформы: приватный HTTP

С агента 0.5.111 служебный HTTP ролей — по умолчанию directory 8085 и 8086, mail 8087 и LMTP 24, mx 2525, drive 8088 — слушает только приватный адрес хоста, если этот адрес на хосте есть; иначе — все интерфейсы, с причиной в журнале агента. Списки разрешённых адресов (redis, s3, monitoring 4319, postgres, mail 24, mx 2525, support) агент сводит сам и убирает источники, которых больше нет; правила, поставленные агентами до 0.5.111, остаются, пока их не снимут руками. | monitoring | 4319/tcp | приём телеметрии от остальных хостов, на приватном адресе. Агент открывает его только адресам хостов, которые шлют, а запрос без токена отклоняется |

Только на петле (127.0.0.1) и снаружи не открываются никогда: /metrics служб — координатор 9101, messaging 9091, directory 9103, support 9104, mail 9105, mx 9106, drive 9107, служебный слушатель mx 8088; на хосте мониторинга — его хранилища 8428, 9428, 10428 и Grafana 3000; на каждом хосте со сборщиком телеметрии — 4318.

На хостах шины и хранилища фаервол обязателен

redis и s3 не имеют собственной аутентификации, достаточной, чтобы стоять открытыми в приватной сети: границей служит правило фаервола. Установка s3 на хост без ufw, firewalld или pf отклоняется, а не оставляет хранилище открытым всей сети.

3. Исходящие соединения​

КудаПортКто и зачем
Let's Encrypt443/tcpкоординатор и службы, сами выпускающие сертификаты
GitLab / реестр образов443/tcpобновления и раздача агента
APNs, FCM443/tcpmessaging — пуши на устройства
провайдер модели443/tcpmessaging — полоса ИИ, если она включена
поставщик входа организации (ADFS, Entra, Keycloak)443/tcpкоординатор и identity — вход через него
AD или другой LDAP-каталог389/tcp или 636/tcpкоординатор и identity — чтение людей и групп
почтовые серверы получателей25/tcpmx — отправка наружу: по записи MX получателя, STARTTLS, когда сервер его предлагает
хост monitoring4319/tcp, приватная сетьсборщик на каждом хосте с приватным адресом — телеметрия
dl.grafana.com443/tcpкоординатор, один раз: архив Grafana для хоста мониторинга, сверяется с хешем в образе
терминалы переговорок (Poly, Cisco)5061 (5060 — только при «TLS и открытый SIP») + 10000–20000 к хосту mcuвходящие к mcu
SIP-транк оператора5060/5061 + RTPроль pstn — PSTN-шлюз; не mcu
узлы ролей22/tcpтолько узлы, поставленные по SSH. Узлу, подключённому командой присоединения, входящий SSH не нужен: агент сам забирает своё состояние с координатора

4. Чем проверять​

# слушает ли роль то, что должна (на самом хосте)
ss -tlnp | grep -E ':(24|25|443|465|587|2525|7880|7881|9090|8085|8086|8087|8088|5060|9000|4319)\b'

# видно ли это снаружи
nc -z -w 5 <адрес> 443 && echo ok

Проверка «изнутри» и «снаружи» отвечают на разные вопросы: агент следит за тем, слушает ли кто-нибудь порт на хосте, а консоль координатора — дотянется ли до него клиент. Хост, проваливший первую проверку, настроен неверно; хост, проваливший вторую, — недоступен.

Дальше​