Админская фамилия

Make Sysadmins Great Again

[book] Подборка книг по системному администрированию. Январь 2018

Первый пост в этом году. За новогодние каникулы накопилось много информации. И первое, чем хотелось бы поделиться - замечательная подбрка книг. Почти все они прилетели из классного Telegram канала для сетевиков - Network Warrior. Сам ещё не прочитал ни одной из них (за исключением, пожалуй нескольких глав из предыдущих изданий UNIX and Linux System Administration Handbook, постера и книжки для детей про K8s)1.  AWS Certified SysOps Administrator Official Study Guide – Associate Exam AWS - самое популярное облако в мире - если хотите прогресса в карьере определенно стоит разобраться как с ним работать.2. The Illustrated Network How TCP/IP Works in a Modern Network Second EditionОтличная книга для начинающих - все современные концепты сетей от протокола ARP до VXLAN/EVPN/SDN.3. UNIX and Linux System Administration Handbook, 5th EditionБиблия для Linux админов. В новом издании добавили главы про контейнеры (docker), CM системы (Ansible, Chief, Puppet, Salt), CI/CD и построение датацентров. В общем, всем стОит заглянуть и вспомнить уже имеющиеся знания и получить новые!4. Bash Cookbook. Solutions and examples for bash usersОгромная книга про современный bash5. Ansible. Up and Running. Automating configuration management and deployment the easy way6. The Children’s Illustrated Guide to Kubernetes. Как объяснить ребёнку про Docker и Kubernetes. Если вы давно хотели узнать что это такое - смело открывайте. Уйдет 10 минут и все станет понятно.7. Systemd для администраторов.8. Постер про электропитание и охлаждение серверных комнат9. Psychological Safety in Operation TeamsОфигенный текст про психологию технических команд от John Looney, который в свое время участвовал в создании команды SRE гуглаВсе книги залиты в одну папку https://mega.nz/#F!OdFEnYAK!dpUB6_qA_iKD1yTUa9S1_g . Если удалят - пишите комменты, отдам в личку или залью на другой файлообменник.


[book] Ten Steps to Linux Survival

Ten Steps to Linux Survival. Essentials for Navigating the Bash Jungle.James Lehmer. От любимого издательства O’Reilly.Название этой книги очень точно отражает её суть. Десять шагов к выживанию в джунглях Bash.Это 61-страничная карта окрестностей Linux спасет тебе жизнь, если ты внезапно выпал с самолета Windows и попал в непролазные джунгли терминала, bash’a и /etc.Книга состоит из 12 глав, которые заставят тебя нырнуть в консоль и научиться основам обращения с Linux:Getting in. Как подключиться к системе и sudoGetting Around. Навигация по директориямPeeking at Files. Чтение файловFinding Files. Поиск: find, locateSearch Me. Поиск по файлам: grepWhat’s Going On. Процессы и сетьFilesystems. Название главы говорит само за себяTransferring Files. Как обменяться файлами с Windows и LinuxStarting and Stopping. Запуск, остановка служб. И любимый rebootWhere to Go for Help. Справочные системыЕщё две главы не описал - прочитаете сами.Рекомендую книгу всем, кто давно хочет в никсы, но боится сделать первый шаг. Не бойтесь, что она на английском - всё более, чем понятно и читается быстро. К тому же, всего 60 страниц!


X Forwarding. Multiplatform

https://www.xpra.org/Кроссплатформенный сервер и клиент для проброса изображения (иксов) между системами


Напоминалка по обработке текста

Количество обращений к файлу, отсортированное по имени файла. cat /var/log/apache2/access.log | cut -d ’ ’ -f7 | sort | uniq -c


Linux Performance


Настройка LVM

Наконец-то я добрался до своего уютненького бложика. Позже напишу для истории причину столь долгого перерыва, а сейчас только Linux, только хардкор.Итак, сегодня я наконец-то исполнил свои давнишние планы и поднял LVM на любимом Debian’e, не включавшемся последние полгода. Здесь и опишу как это было.Поехали. Имеем пингвина (в моем случае Debian). У меня 4 жестких диска. fdisk -l и /etc/fstab говорят вот о чем:sda 320 GB - sda1 /boot - sda2 / - sda3 /home - sda4 /swap sdb 160 GB - sdb1 /home/virtual/virtual2 - sdb2 - ntfs раздел Windows sdc 160 GB - sdc1 /home/virtual/virtual3 - sdc2 - ntfs раздел Windows sdd 1000 GB - sdd1 /home/video - sdd2 - не используется - sdd3 - не используетсяНачал с простого знакомства с LVM. Решил один диск на 160 GB оставить под винду, второй на 160 - в LVM и зашифровать (тоже интересно покопаться с этой штукой), а 1000 GB и 360 GB объединить и разбить на несколько разделов. С количеством разделов пока не определился.Для настройки LVM необходимо установить пакет lvm2: sudo aptitude install lvm2Все дальнейшие операции проводятся из под рута (делаем su).Создаём физические разделы: pvcreate /dev/sdbСразу оно не завелось. Поэтому готовим хард: dd if-/dev/zero of=/dev/sdb bs=1k count=1k blockdev –rereadpt /dev/sdb fdisk /dev/sdb -t 0x8e -w pvcreate /dev/sdbТо же самое со вторым диском.Создаём группу томов: vgcreate vg00 /dev/sdb /dev/sddИ, наконец, на созданной группе создаем логические тома (разделы): lvcreate -L 1000G -n lv00datalv00data - название логического тома. Может быть любым.На этом работа с LVM закончена и начинается работа с файловой системой. Форматируем в нужню ФС. Я решил отформатировать раздел /data в XFS (т.к. именно эта ФС хорошо работает с большими фалами. Да и поковыряться с новой для меня ФС интересно). Из коробки Debian не умеет работать с этой ФС. Поэтому пришлось установить пару пакетов: aptitude install xfsprogs xfsdumpФорматируем mkfs.xfs /dev/vg00/lv00dataТе же самые операции с остальными разделами.После перезагрузки тома из LVM не захотели монтироваться по UUID, хотя в последнем релизе Debian монтирование дисков происходит именно по UUID. Когда поправил /etc/fstab по названию тома - всё пришло в норму.Ничего нового или оригинального в этом посте нет - просто на память. Вся инфа отсюда: xgu habrЕсли не уверены в своих силах - сделайте бэкап данных. Учтите, что диски, используемые в LVM форматируются и таблица разделов на них сносится. Для меня это было первым шагом в LVM, дальше хочу перенести всю систему туда и зашифровать один раздел. Работающую систему переносить страшно, поэтому нутром чую, что следующий пост будет про бэкапы =)UPD 29-05-2013: XFS делайте только если оно вам действительно надо. Т.е. если на 3 ТБ винте храните фильмы BD качества или большие БД. В большинстве случаев на домашней машине эта ФС не нужна. Запомните, она очень капризна и рассыпется практически без возможности восстановления при любом удобном случае. Например, моя гостья не нашла в меню выключение компьютера и просто дернула его из розетки. Хорошо хоть ничего особо ценного на разделе с XFS не было. Восстанавливать даже не пытался - времени не было.


Система мониторинга Zabbix. Кратко об установке и первичной настройке.

Zabbix - система для мониторинга состояния сетей, включая рабочие станции, сервера, маршрутизаторы, коммутаторы и т.д. Серверная часть работает на UNIX-подобных ОС. Данные о работе устройств собираются посредством протокола SNMP, системы IPMI и Zabbix-агента. Клинтская часть работает на всех распространенных ОС. Установка серверной частиЧасть взята отсюда: http://wiki.enchtex.info/howto/zabbix/zabbix-ubuntu-8.04sudo apt-get install zabbix-server-mysql zabbix-agent zabbix-frontend-phpЕсли MySQL уже установлена, то необходимо ввести пароль администратора БД. Иначе - задать новый пароль для администратора БД. Все настройки хранятся в /etc/zabbix.После установки открываем в браузере http://serverIP/zabbix. По умолчанию логин Admin, без пароля. Для Ubuntu 10.xx и выше логин/пароль admin/zabbix. Если веб-интерфейс выдает предупреждение: “Timezone for PHP is not set. Please set “date.timezone” option in php.ini.”, то в /etc/php5/apache2/php.ini следует указать часовой пояс “date.timezone = Asia/Yekaterinburg” (nano /etc/php5/apache/php.ini) и перезапустить apache: /etc/init.d/apache2 restart. Если всплывает ещё одно предупреждение “PHP max execution time: 30 sec Fail”, то в том же файле указываем время выполнения скриптов 300 сек. “max_execution_time = 300” и снова перезапускаем веб-сервер. Далее заходим в меню - Administration -> Installation жмем Next, соглашаемся с условиями лицензии и проверяем рекомендуемые настройки. Если строчка выделена красным, значит следует изменить соответствующее значение в указанном выше php.ini на рекомендуемое (указано в столбце Recommended). Дальше проверяем соединение с БД (необходимо ввести пароль администратора БД, который вводили при установке).Если что-то не получается необходимо выполнить следующие действия:Проверить файл /etc/zabbix/dbconfig.php. В нем должны быть указаны правильные учетные данные и IP сервера (локальный 192.168.0.1).В файле /etc/zabbix/zabbix-server.conf все настройки оставляем по умолчанию, за исключением адреса сервера. Его ставим таким же как и dbconfig.php. Строка FpingLocation по умолчанию указывает в неверную для Ubuntu директорию. Указываем /usr/bin/fping.В файле zabbix_agent.conf указываем IP нашего сервера (server = 192.168.0.1) и отображаемое в Zabbix имя хоста (Hostname = zabbix_client1). Остальные параметры не меняем. Установка клиентской части на WindowsОтсюда http://www.zabbix.com/ru/download.php скачиваем zabbix-агент для нашей ОС.Копируем /etc/zabbix/zabbix_agentd.conf с сервера на клиент (в C:\program files\zabbix). Меняем в нем имя хоста. Можно также поменять уровень логирования (DebugLevel = 4), на случай если агент не сможет подключиться к серверу в C:\program files\zabbix\zabbix_agentd.log можно будет увидеть подробный отчет о работе агента.Агент устанавливается в качестве службы. Для установки следует запустить командную строку с правами администратора, перейти в папку с zabbix-агентом и выполнить zabbix_agentd.exe -i -c “C:\program files\zabbix\zabbix_agentd.conf”. Служба автоматически не запускается, поэтому следует запустить её из оснастки “Управление компьютером”.Фаервол должен пропускать трафик на порту 10050. Добавление хостовВ веб-интерфейсе Zabbix открываем в меню Configuration -> Hosts. Жмём Create Host. Вводим имя хоста, его группу, IP-адрес и устанавливаем статус monitored. В правой части в панели Linked Templates жмём Add и выбираем тип хоста (в нашем случае Template Windows, вверху в группах необходимо выбрать Templates) Для проверки корректности подключения клиентов можно в консоли сервера выполнить команду zabbix_get -s %client-IP% -k system.uname В ответ должны получить название ОС. UPD 02.08.11Новый пост на хабре про Zabbix: http://habrahabr.ru/blogs/sysadm/125340/


Скрипт для поднятия pptp в Ubuntu

Каждый раз при включении компа прописыать роутинг и поднимать впн неудобно. Проще написать скрипт, который сделает всё это сам и кинуть его в автозагрузку.Вот скрипт:#!/bin/bash           #указываем кто будет выполнять скрипт (bash)route del default     #убираем дефолтный маршрутLOG="/var/log/pptp-run.log"     #логи будут писаться в /var/log/pptp-run.logwhile true;do echo -e “\n==============================================\n date” >> $LOG /usr/sbin/pptp vpn.server.ru >> $LOG     #вывод сообщений из pptp в pptp-run.log sleep 10;doneСохраняем его в /usr/local/bin/pptp-run-sh. Не забываем сделать его исполняемым: chmod +x pptp-run.shИ прописываем в автозагрузку:sudo nano /etc/rc.localпоследней строчкой указываем:  /usr/local/bin/pptp-run.shВсё! Скрипт будет выполняться при запуске системы с правами системы (а может и нет=)), а так же при очередном “отваливании” впн-соединения. 


Linux на Pentium-I

BeginningДосталась мне надавно такая мегатачка: Pentium-I 133 MHz, 32 MB RAM, 2 GB HDD, Video S3.Хочу поставить его шлюзом интернета дома. В качестве ОС планирую использовать Linux без  GUI.Какой - ещё не решил. Курю форумы. Пока рассматриваются такие варианты:UbuntuDebianCentOSPuppyLinuxDamn Small LinuxOpenBSDПродолжениеPuppyLinux вставать отказался.Damn Small Linux встал очень быстро и без вопросов. но не определил сетевушку.Переставил жесткий в нормальный комп и установил на него Ububntu 9.04 Server (без Х-ов). На старье не запустился (ядро 2.6 не тянет). Вообще убунту если и встанет, то это будет очень старая версия, новые дистрибы на такое железо ставить бесполезно.UPD 28.10.10Остановился на FreeBSD 4.11. Хоть BSD - не_совсем/совсем_не Linux (можно менять заголовок поста=)) Взять его можно здесь. ОС встала достаточно быстро и без непонятных вопросов. Сетевушка определилась. Об установке планирую написать отдельный пост.Здесь документация по фряхе. Здесь мануал по использованию фри в качестве роутера. Серия переводов интересных статей на хабре.Буду копать по фре дальше.UPD 02.11.10Нашел жесткий на 20 ГБ. Теперь в этом компе будет он.Статьи по теме в журналах:Системный администратор №9 2003. Маленький Linux в качестве Firewall.Системный администратор №10 2002. Что такое SAMBA?Системный администратор №3 2003. Установка FreeBSD.Системный администратор №4 2003. Компиляция FreeBSD.Системный администратор №7 2003. Стартовые скрипты FreeBSD.Системный администратор №1 2004. Работа с портами в FreeBSD.Системный администратор №2 2004. Спасаем пингвина.Системный администратор №8 2004. Ещё раз о CalmAV. Особенности установки во FreeBSD.Системный администратор №11 2004. Танцуем самбу.Системный администратор №12 2006. Настраиваем шлюз в интернет на базе FreeBSD.Системный администратор №3  2009. Создаём шлюз с системой учета трафика на слабом компьютере.Продолжение:Настраиваем доступ в интернетУстановка софта


PPTP в Ubuntu

Я знаком с линукс-системами не так уж давно (около полугода). После установки возник резонный вопрос: “Как здесь поднять инет?”. Роутера у меня дома нет. Пров раздаёт инет по VPN(PPTP).Когда у меня стоял Sabayon - было попроще, чем сейчас. Из под винды качается софтина KVPNC.   Потом в линухе она устанавливается(уже не помню как в сабайоне). В окошке прописывается тип подключения и адрес впн-сервера. На этом всё работает!Под убунтой было сложнее. Окружение у меня - гном. А волшебная программка под ним не канает. Пришлось извращаться. Была перечитана куча страниц, выданных гуглом, и справка моего прова. А так как в линуксе я нуб - это был для меня бесполезный набор букв.Итак, инструкция.Нужны пакеты pptp (это клиент для VPN подключения) и pppd (демон протокола ppp). В Ubuntu 10.04 они включены по умолчанию.В фаил /etc/ppp/options вносим следующие изменения (предварительно забэкапив его).             local      lock      nodetach      mtu 1512      mru 1512      require-mppe-40      require-mppe-128      require-mppe      lcp-echo-interval 30      lcp-echo-failure 5      require-mschap-v2      refuse-pap      refuse-chap      refuse-mschap      refuse-eap      defaultroute      user ВАШ_ЛОГИН      noauthПодробнее про параметры:lock - этот параметр указывает pppd заблокировать последовательный порт перед тем, как его открыть;nodetach - этот параметр указывает pppd не отсоединятся от терминала, с которого он был запущен;mtu, mru - Максимальный размер блока(в байтах), который может быть передан/принят на канальном уровне OSI. Можно подсмотреть в свойствах подключения из под винды;pap, chap, mschap, eap - виды шифрования. Именно из-за них мой Lucid не хотел подключаться. Пришлось по очереди комментить их и проверять.Про остальные ничего сказать не могу.  3. Фаил /etc/ppp/chap-secrets должен быть таким: логин * “пароль” *Именно так! (логин пробел звездочка кавычка пароль кавычка пробел звездочка). На редактирование надо обладать правами суперюзера. Мне нравится редактор nano, поэтому sudo nano chap-secrets  4.  sudo chmod 400 chap-secrets   5. Дальше мой провайдер рекомендует редактировать таблицу маршрутиризации. Но это уж у каждого своё. Кому-то надо, кому-то нет.  6. Соединение устанавливается так: sudo pptp имя.сервера.руХодить по каталогам из терминала - cd .Сам в линухе далеко не гуру. Поэтому не обессудьте, если где-то будет ошибка. Свой инет поднимал именно так. Про параметры взято отсюда.