2.1 KiB
2.1 KiB
systemd and firewall
Цель документа
Зафиксировать базовый systemd/firewall слой под новую install model.
systemd: Hysteria2
Базовые требования:
- отдельный unit
hysteria-server.service - отдельный пользователь
hysteria - автозапуск после reboot
- restart policy для падений
Базовый ExecStart:
/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.
Порядок применения
- Добавить allow-правила.
- Проверить, что SSH-сессия не теряется.
- Проверить listen Hysteria-порта.
- Только потом затягивать policy.
Что не делаем
В baseline не делаем:
- port hopping
- сложную динамическую firewall-логику
- смешение UI-портов и публичного транспортного порта в один firewall-контур без правил
Инварианты
Система считается корректной, если:
- Hysteria и HY2XS admin работают отдельными systemd unit
- Hysteria слушает нужный UDP-порт
- SSH не ломается после применения firewall
- firewall-политика не противоречит listen policy
- после reboot оба нужных сервиса стартуют корректно