Кому иногда нужно внезапно отключить (и включить потом) удаленный сервер, а под руками только смартфон — под кат.
Никакого откровения свыше, просто пример linux-way — сложить из набора небольших кубиковстройную систему костылей и подпорок полезную вещь.
Что для этого нужно (в развитие предыдущей статьи):
/etc/knockd.conf:
/usr/local/bin/winctl:
Под Linux/Windows/MacOS/iOS/Android — перечислены в предыдущей статье.
P.S. если сериал не надоел, то в следующем выпуске — всё то же самое, но без интернета.
P.P.S. html здесьтакой же убитый аналогичен markdown, внезапно.
Никакого откровения свыше, просто пример linux-way — сложить из набора небольших кубиков
Что для этого нужно (в развитие предыдущей статьи):
- сервер с Linux (в интернетах например), в котором
- поверх KVM/QEMU крутится какой-нибудь нужный нам сервер (например Windows с 1С)
- установлены пакеты knock-server и libvirt-client (это в RH-based (Fedora/CentOS); как оно в дебах/убунтах называется — не в курсе)
- настроена отправка почты (хоть и через ssmtp; опция)
Настраиваем
/etc/knockd.conf:
[winask]
sequence = 11111,22222,33333
seq_timeout = 3
tcpflags = syn
command = /usr/local/bin/winctl domstate %IP%
[winstop]
sequence = 22222,33333,11111
seq_timeout = 3
tcpflags = syn
command = /usr/local/bin/winctl suspend %IP%
[winstart]
sequence = 33333,11111,22222
seq_timeout = 5
tcpflags = syn
command = /usr/local/bin/winctl resume %IP%
/usr/local/bin/winctl:
#!/bin/sh
virsh $1 виртсервернейм 2>&1 | mail -s "Server $1 (from $2)" admin@mydomain.ru, boss@mydomain.ru
logger -t knockd "Server $1 (from $2)"
Команды
- winask — просто шлет на почту админу и начальству состояние виртуального сервера (люди волнуются просто — а точно потушили?).
- winstop — замораживает виртуальный сервер (срабатывает мгновенно), о чем стучит на почты и в syslog.
- winstart — размораживает его точно с момента заморозки, о чем стучит туда же.
Клиенты
Под Linux/Windows/MacOS/iOS/Android — перечислены в предыдущей статье.
P.S. если сериал не надоел, то в следующем выпуске — всё то же самое, но без интернета.
P.P.S. html здесь
Комментарии (4)
Kanlas
27.11.2019 12:28Авторизация по ключу решает проблему с попытками пробиться по ssh, не понимаю вашей паранойи. А если запихнуть его подальше, в динамический диапазон портов, то туда просто никто не полезет.
P.S. Это скорее отсылка к предыдущей статье, из-за которой теперь вы выбрали способ запуска скриптов через knockd.
LborV
Зачем? Если можно просто скачать termux и через ssh
justhabrauser Автор
Ключевое слово — быстро.
Представим, что гендиректор быстро скачивает на свой айфон termux, быстро заходит по ssh на сервер и быстро тушит сервер.
На всё про всё у него 10 секунд.
Kanlas
Для быстро и легко можно использовать телеграм-бот, это всяко проще для гендира. Если есть страхи за блокировку телеграма, у ватсапа есть платное api, тарификация по количеству сообщений (в вашем случае считайте почти бесплатно).