J3qx

information archive

Posts Tagged ‘linux’

Автомонтирование файловых систем с systemd

Posted by j3qx на Июль 9, 2017

Среди множества функций, которые предоставляет systemd, есть одна, которую несправедливо забыли. Это функция автомонтирования. При настройке автомонтирования указанный каталог будет подмонтирован только после первого обращения к нему (точнее, прямо во время).

NFS over VPN

Конкретный пример: у меня есть удалённый сервер, на котором есть интересующий меня каталог. Я хочу иметь этот каталог локально на своей машине. Протокол доступа — nfs. Т.к. он не имеет шифрования, то разумным решением выглядит использование vpn-канала до сервера.

При этом я хочу монтировать его на ходу и отмонтировать через некоторое время, чтобы не испытывать странных затруднений из-за тупящей nfs при лежащей сети. Таймаут монтирования куда более гуманная ошибка, чем таймаут nfs на ls.

Как оно устроено

Systemd имеет специальный вид automount-юнитов, которые позволяют автоматически монтировать указанный каталог.

Важно: automount-юниты это не «mount-юниты с автомонтированием», они не могут иметь в себе параметры монтирования. Вместо этого, они (при обращении к каталогу) всего лишь вызывают mount-юнит для указанного каталога.

Соответственно, при конфигурации:

  • Опции монтирования, устройство (или сервер в случае NFS) указываются в mount-юните
  • Зависимости и install-секция указываются в automount-юните
  • Свзяка automount-юнита и mount-юнита происходит по параметру where

Это же можно заметить по структуре самих юнитов. У mount-юнита есть секция [Mount] в которой может быть множество параметров. У automount-юнита такой секции быть не должно, а вместо этого есть секция [Automount], в которой могут быть всего несколько параметров: Where, DirectoryMode и TimeoutIdleSec.

Практический пример

/etc/systemd/system/media-nfs.mount:

[Unit]
Description=NFS share
[Mount]
What=server.url.example.com:/srv/nfs_share
Where=/media/nfs
Type=nfs4
Options=rw
DirectoryMode=0755

/etc/systemd/system/media-nfs.automount:

[Unit]
Description=NFS share
Requires=openvpn@vpn.service
Requires=network-online.target
[Automount]
Where=/media/nfs
TimeoutIdleSec=301
[Install]
WantedBy=graphical.target

Наблюдение: при том, что для mount-юнита нормальное состояние это active (mounted), то для automount — active (running), как для сервиса.

Если же automount ещё не случился, то статус будет «active (waiting)».

После настройки automount’а нужно сделать (sudo) systemctl daemon-reload, и сделать ls /media/nfs (для примера выше) — после некоторой задержки от монтирования nfs’а, мы увидим содержимое файлов на удалённом сервере.

© https://habrahabr.ru/post/331240/

Posted in linux | Отмечено: , , | Leave a Comment »

Лог файлы Linux по порядку

Posted by j3qx на Июль 9, 2017

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

Журналирование является основным источником информации о работе системы и ее ошибках. В этом кратком руководстве рассмотрим основные аспекты журналирования операционной системы, структуру каталогов, программы для чтения и обзора логов.

Читать далее…

Posted in linux | Отмечено: , | Leave a Comment »

Тюнинг сетевого стека Linux для ленивых tutorial

Posted by j3qx на Июль 9, 2017

Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.

Чего нужно добиться?

 

Главная задача при тюнинге сетевого стека (не важно, какую роль выполняет сервер — роутер, анализатор трафика, веб-сервер, принимающий большие объёмы трафика) – равномерно распределить нагрузку по обработке пакетов между ядрами процессора. Желательно с учётом принадлежности CPU и сетевой карты к одной NUMA-ноде, а также не создавая при этом лишних перекидываний пакета между ядрами.

Читать далее…

Posted in linux | Отмечено: , , , | Leave a Comment »

Мастеру на все руки: 5 лучших инструментов для DevOps

Posted by j3qx на Май 21, 2017

Слoжно представить сегодняшнюю разработку без DevOps-специалиста (Development + Operations), как клей, соединяющего несколько процессов — разработку, деплой, теcтирование и дальнейшее сопровождение. Чтобы укладываться в сроки и при этом выпускaть качественный продукт, абсолютно все процессы необходимо автомaтизировать и контролировать. И конечно, здесь выручают специализиpованные инструменты. Представляем пятерку must have приложений, без кoторых сложно обойтись.

Ansible

Задача номер один в любой организaции — автоматизация развертывания ПО и приложений, настройка серверов. На сегoдня доступно более двадцати систем управления конфигурацией, из них самые известные — Chef, CFEngine, Puppet, но Ansible, пoявившийся позже всех, в 2012 году, пользуется наибольшей популярностью. Причина — низкий пoрог входа, максимальная простота работы и безопасность. На удаленных системах для управления не используются агeнты, все производится через SSH. Для подключения настраивается беспарольная аутентификaция при помощи ключей, также поддерживается LDAP и Kerberos.

Возможно выполнение на удалeнных узлах одиночной команды, скрипта или любых операций, выполняемых обычно вручную: пpоверки состояния, установки, удаления пакетов, создания учетных записей и пpав, копирования данных, управления системой, сервисами и мнoгих других. Причем большинство функций реализованы с помощью модулей, упpощающих написание кода, при необходимости можно использoвать системные команды напрямую, хотя это рекомендуется только для тех случаев, когда это дeйствительно необходимо. Список модулей есть на сайте проекта.

Читать далее…

Posted in linux, sysadmin | Отмечено: , , | Leave a Comment »

Самые полезные приёмы работы в командной строке Linux

Posted by j3qx на Май 21, 2017

Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image

Читать далее…

Posted in linux | Отмечено: , | Leave a Comment »

Ansible: настраиваем zsh терминал с antigen, autosuggestions, fzf и красивым prompt одной командой

Posted by j3qx на Май 21, 2017

Я провожу в терминале много времени, поэтому хочется, чтобы все было красиво, быстро и удобно. Из этого рождается постоянное желание его настраивать, пробовать разные плагины. Шеллом я выбрал для себя zsh лет 5 назад, пару лет назад нашел oh-my-zsh для его удобной настройки.

 

Со временем к этому конфигу добавились некоторые сбоку торчащие части в виде powerline и percol.

 

Недавно я решил пересобрать все так, чтобы избавиться от ненужных плагинов, добавить нужные, сделать легкую установку и обновление. В итоге появилась роль ansible-role-zsh, которая полностью настраивает терминалы на локалке и на моих серверах.

 

Особенности:

 

  • устанавливается одной командой (кроме шрифта и темы вашего терминального клиента)
  • быстро загружается, быстро работает
  • полностью настраивается через ansible, ~/.zshrc
  • полностью локальная (в систему ничего не ставится, все хранится в ~/.oh-my-zsh)
  • оставляет возможность юзеру вносить свои настройки через ~/.zshrc.local
  • одинаково работает на macOS, старом Debian, Ubuntu, CentOS
  • нормально выглядит на разных цветовых схемах (но лучше всего на Solarized Dark)
  • встроенная подсветка синтаксиса (помогает реже ошибаться и лучше читать длинные команды)
  • автодополнение по истории команд (помогает реже нажимать Ctrl+R)
  • отображение времени для долго выполняемых команд (помогает реже использовать time)

 

Читать далее…

Posted in linux | Отмечено: , , | Leave a Comment »

Настройка окружения SELinux на примере LAMP-сервера

Posted by j3qx на Май 21, 2017

Это третья статья из цикла

И сегодня она попала в поток «Администрирование». Сегодня мы не будем писать модули или настраивать RBAC, а пойдем по пути наименьшего сопротивления и просто захарденим обычный LAMP-сервер при помощи готовой политики, включив необходимые настройки.

Если кто забыл, за аббривиатурой LAMP скрывается Linux, Apache, Mysql, PHP, т.е. это большая часть всех VDS, которые покупают люди для хранения своих личных блогов. Надеюсь, что этот поможет всем им стать немного безопаснее :)

Предположения

Итак, предполагаем, что:

  1. Дистрибутив — CentOS 7 x64, пользователь — root
  2. SELinux включен, загружена политика targeted
  3. Режим SELinux — enforcing

 

Читать далее…

Posted in ITSecurity | Отмечено: , , | Leave a Comment »

Ping и некоторые его параметры

Posted by j3qx на Май 20, 2017

«Для чего в команде ping используются опции Loose, Strict, Record, Timestamp и Verbose?» — такой вопрос мне недавно встретился в вендорном экзамене. Они позволяют влиять на маршрутизацию ICMP пакетов и собирать информацию о транзитных L3-устройствах. Но занимаясь сетевыми технологиями уже достаточно давно, я почти никогда их не использовал.

Читать далее…

Posted in sysadmin | Отмечено: , | Leave a Comment »

Атаки на сетевое оборудование с Kali Linux

Posted by j3qx на Май 20, 2017

image
В данной статье мы рассмотрим актуальные атаки на сетевое оборудование и инструменты, доступные в популярном дистрибутиве Kali Linux для их проведения.

Атакуем CISCO маршрутизатор

 

В состав Kali Linux входит несколько инструментов, которые можно использовать для аудита оборудования CISCO. Список можно посмотреть в разделе Vulnerability Analysis — Cisco Tools:

Читать далее…

Posted in ITSecurity | Отмечено: , , , | Leave a Comment »

Как мы Redis Cluster готовили

Posted by j3qx на Апрель 25, 2017

В мире опен сорс есть огромное количество технологий, подходов, паттернов, тулзов и аппов, которые юзает очень много компаний. Как превратить используемое ПО или технологию в конкурентное преимущество? Предлагаю рассмотреть на примере Redis Cluster — как мы прокладывали наш путь.

Начало

Стоит начать с того, что Redis — это, по сути, очень удобная штука. В двух словах, Redis — это персистентное key-value хранилище в памяти, со своим блэкджеком и куртизантками. Чаще всего его сравнивают с устаревшим Memcached, который не умеет делать почти ничего из того, что умеет делать Redis.

Читать далее…

Posted in highload, sysadmin | Отмечено: , , , , | Leave a Comment »