Переезжаю в деревню. Потихоньку...
Доброе утро, народ. Как там начальники наши сформулировали - сельский блоггинг надо поддержать со всей мощчью нашего демократического, самого лучшего в мире, государства. На речь доброй женщины ссылку давать не буду. По нынешнему законодательству о них - либо хорошо, либо - ничего. Ну здохло, так сдохло. Мы ж, оптимисты, всегда думаем, что хуже уже быть не может, а они нам нннаку на. Настоебенило. Может народ наш и скинется на что-нибудь интересное, а от этих хорошего давно ждать перестали мы. Парнишка, вон, гля какие видосы пилит, но я для видосиков старый и страшный. Читайте буквы.
Надоело мне, в общем-то, строить им. Пора построить себе чего-нибудь... Спрос на консультации достиг пика, можно работать удалённо. Домишко взаймы без процентов есть, будем делать автоматизированное и роботизированное лпх. Скорее всего из говна и палок. Откуда у нас, пролетариев, деньги на нормальные строительные материалы. Целик сразу определить - обеспечить долговечность на срок до 25 лет. Дольше один хер не протянешь, даже при самом оптимистическом настрое)). Плюс все под постоянным мониторингом, хуле бы не поэксперементировать. Эх, народ, хочется всего... Лабораторию, мастерскую, станочный парк, но когда осознаешь, что на найм даже подсобников нет ни рубля - остается лишь брать инструмент и делать самому. Смотрите предыдущий пост. Кросслинк - один из инструментов киберсквоттера. Эхх, поотжимал я в свое время траффика у брендов и конкуренов. Когда времени вагон долгими зимнимивечерами, можно и этой хуйней позаниматься...
Окна повтыкал на тех выходных. С ремонтом колодезной кладки. Девять штук. Почти обрезал пену и защиту почти снял. Ни одного не запорол, последний раз окна ставил лет десять назад. Тоже там, себе... Навык приобрел лет двадцать назад. Год работы монтажником пластиковых окон, год плотником - это навсегда)). Не, вы экспертов нынешних видели? Там без слез не взглянешь. Некоторых на площадку пускать нельзя, поубиваются, ей богу.
Со светом вот такая вот жопа. Хранилище для резервирования привез, а оно не тянет. Выключается. Как я и предполагал, впрочем... Пока погоды отвратные есть возможность перемонтировать. Запустится ли эта древняя хрень или это отвалился блок питания у wd? Вот, блять, сейчас, в моменте, проще всего исключить поломку блока питания заменой ввода системы электроснабжения дома. Тем более возможности получить навык работы с микроэлектроникой особо не было. Так, по верхушкам. Методом научного тыка тоже можно, но не тот случай. Один хрен, все новые розетки - на времянках.
Дом отапливается костром. В сутки оно жрет 80 кубов на всю. 7.4х24х30 равно 5,5 рублей. Надеюсь вот этой штукой повысить эффективность хотя бы на четверть. Цена эксперимента - червонец.
Электричество будем окультуривать при помощи счетчика с возможностью передачи показаний через сеть, стабилизатора напряжения, автоматов, сип-проводов и пластиковой хуйней с автоматами.
Цена вопроса по материалам - двадцаточка.
Думается, что цена работы профессионала по вызову в удаленное на 100 км. от областного центра будет равняться стоимости материалов. 30+30 = 60. Вопросы теперь...
Успею ли я до завтра сделать все так, чтобы функционировало?
Собирать ли контент, поможет кому информация?
Какие ставки на то, что завтра вечером все заработает? Погода мерзкая, все болит. За тридцать лет на стройке суставы постерлись... П.С. Котейка, вон, приблудился, говорят ничейный. Корм жрет, как не в себя. Пойду покормлю.
В целом он есть
Взято из телеграмма - Инкогнито
Автобэкапы сетевого оборудования Huawei
Ну или привет импортозамещение?
Сегодня в большей степени технический пост про автобэкапы Huawei (AR6120 и S5735). Но я буду разбавлять текст художественными вставками.
Почему не rancid? Все, мне кажется, задают этот вопрос в любом посте про автобэкапы. Во-первых, что-то я быстрым поиском не нашла там поддержку Huawei нужных моделей, во-вторых я хочу прям классический файл бэкапа, который можно раскатать (а rancid снимает вывод консоли, что не одно и то же), в-третьих я хочу гибкий инструмент, которым я смогу позже, например, раскатать всем правило в access-list или выполнить любую команду.
Ну и вообще, я хочу понимать как оно работает, а не использовать сторонний софт, но это уже мои загоны.
Итак, нужно логиниться на Huawei, желательно, по ssh ключу (чтоб не палить пароли в скриптах), выполнять сохранение конфигурации с определенным именем, потом заливать по tftp на сервер тоже с определенным именем, анализировать что слилось, а что нет, коммитить в git и отсылать отчет на почту.
Надо сказать, что энтерпрайзные huawei умеют, как циски, при сохранении конфигурации автоматом отсылать на ftp конфиг. Теоретически, младшие модели это тоже умеют, но практически это нихрена не работает во-первых, а во-вторых оно сливает только zip архив, что просто адски неудобно (про это будет подробнее ниже).
Единственное, что я пропущу - это настройка git. Я подняла gitea чудесно по родной инструкции, справится любой. Да и система контроля версий тут не строго обязательна в принципе.
Первое - логин на Huawei по ssh ключу. И сразу это ввергло меня в поиск. То есть, в документации такая фича есть, но ключ он принимает только в HEX виде и никакие популярные команды преобразования, которые на раз гуглятся, не привели ключ в тот вид, чтобы его сожрал Huawei.
Сначала генерируем ключ на сервере (у меня хуавей принял только 1024 бита, но поскольку ssh открыт только с белого списка адресов, я сочла это приемлемым. вы же можете поэкспериментировать с битностью). На вопрос о парольной фразе просто нажмите enter.
ssh-keygen -f ~/.ssh/id_rsa -t rsa -b 1024
А теперь делаем магию. Я нашла нужную команду в самом конце комментов под заплюсованным ответом на stackoverflow. Команда из заплючованного ответа не работала и кто-то скромно написал, что не работает, но вот для моего хуавея делаю вот так и работает, тысяча плюсов в карму этому господину.
ssh-keygen -e -m pem -f ~/.ssh/id_rsa.pub | sed '1d;$d' | tr -d '\n' | base64 -d | xxd -c 24 -g 4 -u | sed -e "s/^.*: //" -e "s/.\{25\}$//g"
на выводе вы получите примерно вот такую простыню, нужно будет сохранить (не переживайте за меня, это тестовый ключ)
Дальше заводим ключ на Huawei. Ключ надо будет копировать в команды прямо так, как он вам вывелся на предыдущем этапе. На Huawei AR6120 команды следующие (если у вас белый список на логин по ssh не забудьте также разрешить ip вашего сервера логиниться):
Внимание, вот ссылка на весь код и команды текстом, я не изверг, просто пикабу не позволяет нормально вставлять код. В конце продублирую ссылку.
На коммутатор Huawei S5735 команда чуть-чуть отличается, есть по ссылке в конце.
Для обращения к устройствам из скрипта я завела БД на sqlite, но вы можете брать информацию из текстовых файлов или ещё откуда. Поле пароля в базе будет пустым, оно оставлено для устройств, которые не поддерживают логин по ключу (вдруг такие будут)
Структура базы:
Вставка происходит примерно так:
`insert into netdev (hostname,ip,login,pass,tag,model) values ( 'ufa-ar6120-2', '10.2.100.2','backuper','','huawei','AR6120');`
Теперь про скрипт. И на цисках, и на микротиках, и на D-Link прекрасно работала следующая схема:
На хуавее же логин при такой схеме происходит, в логах это видно, но никакие команды, переданные таким способом, не выполняются. Никакие манипуляции c -i -T -t не работают. Я закопалась в процессе в логи ssh, в переменные окружения и прочее. Примерно понятно, что открытый терминал не считается терминалом и это даже нормально, но никакие опции, которые туда должны впихать команды, не работают. Моего скилла победить эту конструкцию не хватило. Пришлось использовать expect.
Кстати, если кто может нормально описать почему оно не работает и как это побеждать - будет здорово. А то я как собачка - вроде частично понимаю, а нормально написать не могу.
Всего использоваться будут 5 скриптов (напомню, код текстом по ссылке в конце).
Первый скрипт разбирает базу и запускает бэкап для каждого устройства в параллель.
Сначала у меня был один скрипт expect на все устройства (команды то одинаковые), но на коммутаторах он в 20% случаев не успевал с первой командой, так как на них очень-очень долгая загрузка после логина. А на роутерах наоборот, он завершался, не успев получить вывод от tftp и завершал сессию. Пришлось расставить костыли в виде sleep и разделить на два скрипта.
Для роутеров вот, для коммутаторов по ссылке в конце.
У Huawei и cisco немного по-разному сделан текущий конфиг.
Текущий конфиг (аналог running-config) по команде save сохраняется на Huawei в vrpcfg.zip. Как уже писалось выше, при попытке сохранять это по tftp/ftp это падает всегда zip архивом и при распаковке у конфига внутри архива всегда одно и тоже имя. То есть, на такие автоматические бэкапы всё равно надо накручивать скрипт распаковки и переименования. НО! Конфиг можно сохранить в текстовом виде с любым именем .cfg и уже его сливать.
Если вам нужно добавить дату - можно добавить её в имя конфига, который будет падать по tftp (чтоб на роутере память не занимать - там всегда сохраняем с одинаковым именем). Я не добавляю дату, так как всё падает в git, там версионность поддерживается и так.
Далее идет скрипт для оценки того, что у нас накопировалось - хочется понимать, что успешно, что нет. А также коммит, пуш и отсылка отчета на почту.
Зачем каждый раз выбирать ключ ssh? Huawei сожрал только 1024 бита, а gitea хотела минимум 2048. Так что пришлось завести два и менять - один для логина, другой для коммитов.
Теперь сам анализатор логов analyse_result. Он простой как валенок, тут ваша фантазия может разгуляться. Я просто смотрю что написано success на сохранении и на копировании. Заметьте, у роутеров и коммутаторов строчки вывода разные.
Я в таких вспомогательных скриптах придерживаюсь понятного стиля написания, не гоняясь за умещением всего в одну строчку (чтоб потом вспомнить, что там вообще было), так что стиль такой не просто так)
Ну и пихаем в cron чтоб выполнялся каждый день:
Изменения в Gitea выглядят примерно вот так
Сколько времени на это ушло? Ну вот столько:
9 дней работы от 30 минут до 3х часов в день или 19 коммитов. Больше всего я боролась с логином по ключу и с удаленным выполнением команд.
Осталось раскатать это на 260 устройств :) Потом можно что угодно раскатывать сразу на все, используя эти наработки. Например, в планах составить рамочный access-list (он как бы есть, но слишком пошли различия от филиала к филиалу, хочется причесать). Ну а пока - залогиниться на каждое устройство ручками и вписать пользователя с ключом.
Занималась я этим чтобы немного размять мозги и проветриться от бумажек с отчетами, что с успехом достигнуто. Ну и для рабочей пользы.
Понятное дело, сейчас Huawei такого типа (малый офис, скажем так) не очень распространены в РФ. Уже не домашний роутер, ещё не энтерпрайз. Однако, он завозится активно, а материалов хрен да нихрена. Надеюсь, кому-то когда-то пригодится.
А как у вас реализован бэкап на другой сервер?
Здравствуйте, IT сообщество!
Прошу поделится своим опытом по решению довольно тривиальной задачи, а именно - копирование бэкапов с основного сервера на бэкапный.
Схема такова: имеется win сервер 2012R2, который ежедневно бэкапит базы 1с и всякие другие нужные папки с диска C: на диск D:
При этом "все яйца хранятся в одной корзине", и, чтобы этого избежать, появляется бэкапный сервер с большим диском на том же 2012R2
Оба сервера соседи, находятся в датацентре, соединяются между собой...
а вот тут начинаются варианты:
- либо через роутер микротик RB2011UiAS-RM по гигабитным портам, которые в режиме свитча
- либо напрямую между собой, через вторую сетевуху основного сервера кроссовером в бэкапный
микротик особо не загружен, но ежедневный бэкап около 150 Гб
закачку должен инициировать бэкапный сервер, отсюда второй вопрос, как и чем лучше всё это реализовать? например:
- через ftp, который есть на основном
- через расшаренную папку (вот так совсем не хочется, ибо нужна максимальная защищённость бэкапного сервера от основного, чтобы не пролезли всякие зловреды)
- через что ещё можно? без шифрования передачи, нужна максимальная скорость, но так, чтобы при заражении основного чем-нибудь плохим, бэкапный выжил бы
Нет жизни без бэкапа
Звучит надёжно
Источник: https://t.me/Osint_Info/211
Верный способ потерять 500 000 р
Клиенту делали доработки его интернет-магазина, по требованию клиента всю работу делали сразу на боевом сайте на одном из хостинг-провайдеров. Предлагали реализовать GIT, сделать резервные копирования, использовать хостинг с автоматическими бэкапами - отказ. "У меня знакомый сисадмин поможет если что".
Работы закончили, все довольны. Прошло полгода.
Сегодня пишет:
Смотрим хостинг - сервер в норме, сайт недоступен.
Пишем в саппорт хостингу, получаем ответ
Финита ля комедия. Свой код то у нас остался. А вот полгода работы с контентом (писали статьи в блог, описания товаров, разделов, новости, оформляли товары) - все кончилось.
По прикидкам заказчика - потеряно около 500 тыс руб. по работам над сайтом.
Всем успешных бэкапов!