Найти в Дзене
Записки инженера

Три кита контура управления сетью

Здравствуй, Инженер!

Эта статья - логическое продолжение моего цикла про управление ЛВС под Linux Debian. Предыдущая статья по ссылке.

Чтоб поддержать канал, прочти, пожалуйста, статью до конца. Это действительно важно для меня. Спасибо.

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

PHP - второй кит - в нём мы будем передавать команды на рабочие места.

SHELL - встроенный скриптовый язык Linux. На нём будут выполнены команды на рабочих станциях.

Изображение взято из открытых источников
Изображение взято из открытых источников

Первое, что нужно сделать - настроить сервер SSH на всех рабочих станциях. На сервере, где будет работать HTTP, нужно настроить SSH клиент.

На каждой станции должен быть сервисный пользователь, который может войти на станцию только с сервера по SSH. Этому пользователю нужно разрешить доступ в размере, необходимом в перспективе для осуществления настроек. Лично у меня, ввиду того, что сеть закрытая, этот пользователь входит в группу sudo.

Применение настроек на станции сводится к исполнению команд:

  • scp - для защищенного копирования файлов настроек по ssh;
  • rm - для удаления ненужных файлов;
  • dpkg - для установки пакетов;
  • echo 'content' > /path/file - для записи в файл /path/file содержимого content;
  • reboot - для перезагрузки после настроек;
  • update-... - для обновления специфических настроек, вроде замкнутой програминой среды;
  • и другие

Все команды, кроме первой, выполняются в PHP следующим образом:

shell_exec("ssh service@$host[$i] reboot");

Команда scp внутри себя создаёт подключение ssh, так что отдельного подключения создавать не нужно.

Если кому-то интересно, как автоматически заполнить массив $host[] - пишите об этом в комментариях.

Я дал тебе пищу для размышлений. Можешь разжевать её в комментариях, можешь задать мне вопросы, на которые я смогу ответить в следующей статье. Можешь поставить лайк, и тогда я узнаю, что материал подобного рода востребован👍