Подготовить HY2XS к production-сборке
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# systemd and firewall
|
||||
|
||||
## Цель документа
|
||||
|
||||
Зафиксировать базовый systemd/firewall слой под новую install model.
|
||||
|
||||
## systemd: Hysteria2
|
||||
|
||||
Базовые требования:
|
||||
- отдельный unit `hysteria-server.service`
|
||||
- отдельный пользователь `hysteria`
|
||||
- автозапуск после reboot
|
||||
- restart policy для падений
|
||||
|
||||
Базовый ExecStart:
|
||||
```bash
|
||||
/usr/local/bin/hysteria server -c /etc/hysteria/config.yaml
|
||||
```
|
||||
|
||||
## systemd: HY2XS admin
|
||||
|
||||
Базовые требования:
|
||||
- отдельный unit `hy2xs-admin.service`
|
||||
- отдельный install dir
|
||||
- отдельный data dir
|
||||
- отдельный жизненный цикл от Hysteria
|
||||
|
||||
Важно:
|
||||
- HY2XS admin не должен запускаться как часть unit Hysteria
|
||||
- unit-файлы не должны быть склеены
|
||||
|
||||
## Базовая firewall-модель
|
||||
|
||||
Нужно разрешить:
|
||||
- UDP-порт Hysteria2
|
||||
- TCP-порт SSH
|
||||
- established/related traffic
|
||||
|
||||
После staged-проверки можно включать default policy `drop`.
|
||||
|
||||
## Порядок применения
|
||||
|
||||
1. Добавить allow-правила.
|
||||
2. Проверить, что SSH-сессия не теряется.
|
||||
3. Проверить listen Hysteria-порта.
|
||||
4. Только потом затягивать policy.
|
||||
|
||||
## Что не делаем
|
||||
|
||||
В baseline не делаем:
|
||||
- port hopping
|
||||
- сложную динамическую firewall-логику
|
||||
- смешение UI-портов и публичного транспортного порта в один firewall-контур без правил
|
||||
|
||||
## Инварианты
|
||||
|
||||
Система считается корректной, если:
|
||||
1. Hysteria и HY2XS admin работают отдельными systemd unit
|
||||
2. Hysteria слушает нужный UDP-порт
|
||||
3. SSH не ломается после применения firewall
|
||||
4. firewall-политика не противоречит listen policy
|
||||
5. после reboot оба нужных сервиса стартуют корректно
|
||||
Reference in New Issue
Block a user