Кому иногда нужно внезапно отключить (и включить потом) удаленный сервер, а под руками только смартфон — под кат.

Никакого откровения свыше, просто пример 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 здесь такой же убитый аналогичен markdown, внезапно.

Комментарии (4)


  1. LborV
    27.11.2019 12:15

    Зачем? Если можно просто скачать termux и через ssh


    1. justhabrauser Автор
      27.11.2019 12:17

      Ключевое слово — быстро.
      Представим, что гендиректор быстро скачивает на свой айфон termux, быстро заходит по ssh на сервер и быстро тушит сервер.
      На всё про всё у него 10 секунд.


      1. Kanlas
        27.11.2019 12:23

        Для быстро и легко можно использовать телеграм-бот, это всяко проще для гендира. Если есть страхи за блокировку телеграма, у ватсапа есть платное api, тарификация по количеству сообщений (в вашем случае считайте почти бесплатно).


  1. Kanlas
    27.11.2019 12:28

    Авторизация по ключу решает проблему с попытками пробиться по ssh, не понимаю вашей паранойи. А если запихнуть его подальше, в динамический диапазон портов, то туда просто никто не полезет.
    P.S. Это скорее отсылка к предыдущей статье, из-за которой теперь вы выбрали способ запуска скриптов через knockd.