Как стать автором
Обновить
4
0
Vlad Naboichenko @Spitekh

Пользователь

Отправить сообщение

Как вынудить процесс использовать новый адрес DNS-сервера из обновлённого resolv.conf без перезапуска самого процесса

Время на прочтение 4 мин
Количество просмотров 12K
Я работаю системным администратором Unix. Однажды к нам в отдел эксплуатации сервисов упал тикет от программиста с выдержой из лога application-сервера в заголовке: "pgbouncer cannot connect to server". Посмотрев логи pgbouncer'ов, я увидел, что периодически возникают lookup fail'ы при обращении к нашим DNS. Было установленно, что это связано не с работой наших DNS-серверов, а с ненадёжностью самого протокола UDP: иногда возникают потери пакетов по разным причинам.
image
В результате, было решено установить на каждом сервере с pgbouncer'ами по кэширующему BIND. И тут возникла интересная проблема: pgbouncer не перечитывал по сигналу HUP файл /etc/resolv.conf и продолжал обращаться к старым DNS-серверам. А перезагружать баунсеры категорически нельзя: есть проблемные проекты, которые очень болезненно относятся к разрывом сессий с базой.

В данной статье я расскажу как можно pgbouncer или любую другую программу, использующую библиотечный вызов getaddrinfo(), заставить перечитать resolv.conf и начать использовать новый DNS-сервер совершенно безболезненно для клиентов (без даунтайма).
Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 18

Puppet. Часть 1: введение в Hiera

Время на прочтение 11 мин
Количество просмотров 45K

Данная статья является первой из трех статей, в которых я хочу дать свое видение проблемы управления большими инфраструктурами с помощью Puppet. Первая часть является введением в мощный инструмент организации иерархии Puppet Hiera. Данная статья ориентирована на людей, уже знакомых с Паппетом, но еще не знакомых с Хиерой. В ней я постараюсь дать базовые знания об этом мощном инструменте и о том, как он облегчает управление большим количеством серверов.

Вы наверняка знаете или представляете, что управление большой инфраструктурой с помощью Puppet — непростая задача. Если для десяти серверов Паппет не нужен, для пятидесяти в самый раз и код можно писать как угодно, то когда речь идет о 500+ серверов, то в этом случае приходится уже серьезно думать об оптимизации своих усилий. Плохо, что Паппет изначально, видимо, не задумывался, как решение для больших инфраструктур, по крайней мере иерархия в него изначально заложена из рук вон плохо. Стандартные node definitions совершенно неприменимы в больших компаниях. Node inheritance (также как и class inheritance) Puppetlabs не рекомендуют больше использовать вообще, вместо этого лучше загружать данные о иерархии из внешних источников, таких как Hiera и External Node Classifier (ENC).
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 11

Виртуальная прогулка по датацентрам Google

Время на прочтение 1 мин
Количество просмотров 96K
Компания Google, ранее ревниво охранявшая свои датацентры от посторонних взглядов, опубликовала впечатляющую подборку фотографий, сделанных в святая святых. Более того, по датацентру в городе Ленор (Северная Каролина), теперь можно прогуляться в Google Street View или посмотреть видеотур. Пожалуй, слова тут излишни. Смотрите сами.



Всего голосов 61: ↑54 и ↓7 +47
Комментарии 42

Тендер по Private Cloud — часть первая

Время на прочтение 4 мин
Количество просмотров 5.5K
В данной стать я хочу поделиться опытом/методологией по реализации Private Cloud. Здесь я приведу вопросы, которыми мы задавались по ходу реализации и как они решались.

.

Мы участвовали в тендере по разработке Private Cloud сервиса для одной крупной европейской организации. Цель данного тендера — предложить инфраструктуру, предоставляющую клиенту сервисы IaaS и PaaS. Ниже приведу ключевые моменты тех. задания:
  • основными операционными системами являются Windows и Linux на платформе x86
  • «стандартный» список ПО для PaaS сервисов (web, database, application server, etc.), включая базы данных Oracle
  • желательно так же предложить Solaris x86
  • инфраструктура должна располагаться в двух датацентрах (расстояние < 50 км)
  • 6 типов виртуальных машин (от 1 vcpu до 10 vcpu)
  • 4 сервиса (SLA): от бронзы (best effort) до платины (RPO: realtime, RTO: 2h)
  • твердый заказ на 1000 виртуальных машин, с возможным ростом до нескольких тысяч

Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 10

Одержимые интернетом: Китайская история

Время на прочтение 13 мин
Количество просмотров 11K
Я думаю, что буду прав в 80% случаев, если заявлю, что каждый ребенок родившийся в эпоху становления и развития компьютерных игр, так или иначе играл в них. Кто-то играл достаточно редко, предпочитая футбольные баталии, а кто-то в пух и прах ругался с родителями, вымаливая еще чуть-чуть игрового времени. И наверняка многие слышали, или даже на своем примере видели как компьютер в семье становится предметом нескончаемых скандалов и семейных дрязг.
«Еще пару часиков поиграть в WoW/LineAge/EVE/GW, пусть институт подождет, ведь тут такой интересный рейд/квест/итд» — знакомая ситуация, не правда ли?
А что делать родителям тех чад, которые просто гибнут за мониторами, которые рушат свои жизни, погрузившись в цифровой мир полностью? Как регулировать эти отношения, когда воспитательные методы уже не помогают? Эти вопросы задавала себя одна китайская семья, когда их сын стал проводить в потустороннем мире времени больше, нежели в настоящем. О этой семье и парнишке по имени Дэн Сэньшань и пойдет речь в этой статье.
Суровая драма современности — интернет-зависимость — предстанет в этой статье в полной мере на примере китайского общества, самого многочисленного и самого пораженного этим недугом.
Читать дальше
Всего голосов 137: ↑119 и ↓18 +101
Комментарии 155

Комплект оборудования для организации легальной деятельности провайдера

Время на прочтение 2 мин
Количество просмотров 23K
Для многих начинающих провайдеров достаточно сложно задачей становится подбор необходимого оборудования для легальной деятельности. Сразу предупреждаю пинать на тему выбора оборудования не надо, я ориентировался исключительно на свой опыт и наличие сертификатов для беспроблемного проектирования, последующей экспертизы проекта и сдачи в РосСвязьКомНадзор. Вот минимальный набор который я мог бы посоветовать:
Читать дальше →
Всего голосов 38: ↑34 и ↓4 +30
Комментарии 36

Переезд IT-шника в Германию: от А до Я

Время на прочтение 20 мин
Количество просмотров 98K
Привет.

Germany Blue CardВ этом посте я хочу подробно рассказать о моём опыте переезда на работу PHP-разработчиком в Германию — от момента, когда есть просто желание переехать, но не знаешь что и как делать, до момента, когда уже переехал, вселился в квартиру и получил вид на жительство. Кроме того, в конце поста я приведу немного полезной информации и ссылок по переезду в некоторые другие страны.

Ещё с универа я понимал, что в Украине ловить нечего и надо валить. В течение нескольких лет я исследовал вопрос эмиграции: читал блоги, форумы, сообщества, общался с друзьями и знакомыми, которые могли мне рассказать что-то новое и, естественно, за это время, учитывая и сам переезд, у меня накопился определённый багаж информации, которым и хочется поделиться.

Итак, если вы имеете IT-шное образование и вам интересна идея сваливания из печальной пост-совковой реальности, прошу под кат.
Читать дальше →
Всего голосов 211: ↑189 и ↓22 +167
Комментарии 163

Заземление. Что это такое и как его сделать (часть 3)

Время на прочтение 16 мин
Количество просмотров 97K


1 часть. Заземление
(общая информация, термины и определения)


2 часть. Традиционные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)



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

Д. Основные способы строительства

Д1. Модульное заземление (для обычных грунтов)

Д1.1. Особенности решения
Д1.1.1. Универсальность и простота применения
Д1.1.2. Долгий срок службы
Д1.1.3. Зависимость уменьшения сопротивления заземления от увеличения глубины электрода
Д1.1.4. Суперкомпактность
Д1.1.5. Никакой сварки
Д1.2. Расчёт получаемого сопротивления заземления
Д1.3. Монтаж
Д1.4. Достоинства и недостатки

Д2. Электролитическое заземление (для вечномёрзлых или каменистых грунтов)

Д2.1. Особенности решения
Д2.1.1. Простота применения в вечномёрзлых или каменистых грунтах
Д2.1.2. Компактность
Д2.1.3. Образование талика
Д2.1.4. Никакой сварки
Д2.2. Расчёт получаемого сопротивления заземления
Д2.3. Монтаж
Д2.4. Достоинства и недостатки


Д. Основные способы строительства

Напомню о достоинствах и недостатках традиционных способов строительства заземлителей, описанных в прошлой части:
Читать дальше →
Всего голосов 86: ↑75 и ↓11 +64
Комментарии 61

Курсы этичного хакинга и тестирования на проникновение

Время на прочтение 5 мин
Количество просмотров 71K

Курсы этичного хакинга и тестирования на проникновение.


Если вы увлекаетесь информационной безопасностью и хотите усовершенствовать свои навыки в короткое время — предлагаем ознакомиться с обновленными программами обучения в области практической ИБ от Pentestit.

Разрабатывая уникальные по своему формату и методике обучения курсы этичного хакинга: «Zero Security: A» (начальная подготовка) и «Корпоративные лаборатории» (профессиональная подготовка), мы стараемся сделать обучение не только эффективными, но и удобными. Основное отличие программ обучения заключается в том, что первая рассчитана на базовую подготовку в области этичного хакинга, а вторая — на профессиональную подготовку не только этичного хакинга, но и построения эффективных систем ИБ. В любом случае, даже опытные специалисты, посетившие первую программу, открывают для себя что-то новое, не говоря уже о «Корпоративных лабораториях», включающих материал, по уровню сравнимый с докладами на профессиональных хакерских конференциях. Кроме этого, каждый набор пополняется новым материалом, что позволяет передать специалистам, проходящим обучения, наиболее актуальную на момент обучения информацию.

Уникальность программ обучения заключается в симбиозе формата обучения (полностью дистанционное, не требующее отрыва от работы и учебы), качества материала и специализированных ресурсов, на которых производится обучение.


Читать дальше →
Всего голосов 58: ↑49 и ↓9 +40
Комментарии 17

Обзор CentOS 7. Часть 4: Смягчение DDoS атак TCP SYN Flood. Тест в облаке бесплатно

Время на прочтение 5 мин
Количество просмотров 23K
В первой части обзора CentOS 7 было рассказано о поддержке контейнеров Linux в Cent OS 7. Во второй части мы поговорили об управлении идентификацией. В третья части обзора мы коснулись сетевой файловой системы NFS и ее окружению. В этой статье поговорим о смягчении DDoS атак TCP SYN Flood. В конце поста ссылка на бесплатное тестирование CentOS 7 в облачной VPS от Infobox.



DDoS (Distributed Denial of Service) атаки становятся все более частым явлением, из-за того, что бизнес становится все более зависимым от сети Интернет. Одна из самых распространенных видов DDoS – SYN Flood. Эта основная атака конечных хостов, ставящая ваш сервер на колени. В результате ваш сервер не может правильно обрабатывать входящие запросы.

Важно заметить, что описанные механизмы защиты доступны в CentOS 7, но не включены по умолчанию.
Читать дальше →
Всего голосов 20: ↑15 и ↓5 +10
Комментарии 1

Атака на беспроводные сети. Чуть меньше теории и чуть больше практики

Время на прочтение 6 мин
Количество просмотров 313K
image
В общих чертах теорию и процесс атаки хорошо описал юзер n3m0 в своих статьях «Атаки на беспроводные сети», поэтому я не буду заострять внимание на многих теоретических моментах.
Я же хочу описать самые простейшие способы обхода защиты, но более подробно.
Читать дальше →
Всего голосов 199: ↑189 и ↓10 +179
Комментарии 103

Sysdig — инструмент для диагностики Linux-систем

Время на прочтение 16 мин
Количество просмотров 50K
Sysdig — инструмент для диагностики Linux-систем

Для сбора и анализа информации о системе в Linux используется целый набор утилит. Для диагностики каждого из компонентов системы используется отдельный диагностический инструмент.

Читать дальше →
Всего голосов 65: ↑61 и ↓4 +57
Комментарии 14

Интересные приемы программирования на Bash

Время на прочтение 6 мин
Количество просмотров 129K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →
Всего голосов 181: ↑175 и ↓6 +169
Комментарии 67

Изолирование приложения с IP-адресом из VPN другой страны на примере Steam

Время на прочтение 7 мин
Количество просмотров 67K
Abstract: Изоляция приложения на уровне сети использованием network namespaces Линукса. Организация SSH-туннелей.

Традиционно, большая часть статьи будет посвящена теории, а скучные скрипты — в конце статьи. В качестве субъекта для экспериментов будет использоваться Steam, хотя написанное применимо к любому приложению, включая веб-браузеры.

Вместо вступления. Я просто покажу эту картинку:

147%… Что-то мне это напоминает. Впрочем, хабр не для политики.

Цена на игры в Стиме зависит от региона. Регион — от IP'шника. Есть желание иметь цены в рублях, а не в евро.

Для этого мы используем VPN через SSH с использованием tun-устройств, плюс network namespaces для изоляции приложения от всех остальных сетевых устройств.

Network namespaces


Традиционно, приложение, запускающееся даже с правами пользователя, имеет полный доступ в сеть. Оно может использовать любой сетевой адрес, существующий в системе для отправки пакетов.

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

Если у нас есть несколько интерфейсов (один из которых относится к VPN), то нет штатных методов сказать стиму, что надо использовать его, а не eth0/wlan0. Точнее, мы можем «завернуть» весь трафик в VPN, но это не всегда желательно. Как минимум — рост latency и снижение скорости (даже если VPN ведёт на супербыстрый сервер, увеличение latency, оверхед от туннеля и фиксированная ширина локального канала ставят TCP в положение, когда приходится резать скорость). Как максимум — одно дело «покупать через русский VPN», другое дело — пускать туда весь трафик. Меня совсем не прельщает использование VPN для получения защиты роскомнадзором от оппозиции и вольнодумства.

В этих условиях возникает большое желание оставить один на один конкретное приложение и заданный сетевой интерфейс. Один. Сконфигурированный для нужд только этого приложения.

Для решения этой задачи в Linux, уже довольно давно (аж с 2007 года) существует технология, называемая network namespaces, то есть пространства имён для сетей. Суть технологии: над сетевыми интерфейсами создаётся подобие «каталогов», в каждом каталоге может быть несколько сетевых интерфейсов и приложений. Приложение, оказавшееся в заданном сетевом пространстве имён, может использовать (и видит) только те сетевые интерфейсы, которые отнесены к этому пространству.

Картинка ниже поясняет происходящее:

Читать дальше →
Всего голосов 111: ↑105 и ↓6 +99
Комментарии 84

Zabbix + Iostat: мониторинг дисковой подсистемы

Время на прочтение 4 мин
Количество просмотров 93K
Zabbix + Iostat: мониторинг дисковой подсистемы.
image
Зачем?
Дисковая подсистема одна из важных подсистем сервера и от уровня нагрузки на дисковую подсистему зачастую зависит очень многое, например скорость отдачи контента или то как быстро будет отвечать база данных. Это в большей степени относится к почтовым или файловым серверам, серверам БД. Вобщем, показатели дисковой производительности отслеживать нужно. На основании графиков производительности дисковой подсистемы мы можем принять решение о необходимости наращивания мощностей задолго до того как петух клюнет. Да и вобще полезно поглядывать от релиза к релизу как работа разработчиков сказывается на уровне нагрузки.

Под катом, о мониторинге и о том как настроить.
Читать дальше →
Всего голосов 43: ↑36 и ↓7 +29
Комментарии 18

Наш опыт тестирования LXC (Linux Containers) на примере Debian Wheezy

Время на прочтение 8 мин
Количество просмотров 39K


Мы в компании Centos-admin следим за появлением новых технологий, тестируем их и, конечно же, внедряем. Почти на всех серверах мы используем контейнерную виртуализацию OpenVZ. В целях расширения набора инструментов, применяемых в работе, мы решили изучить и протестировать нативную виртуализацию Linux LXC.
Под катом вы найдете небольшой обзор технологии и краткий мануал по использованию LXC в Debian Wheezy и наши выводы.
Читать дальше →
Всего голосов 32: ↑27 и ↓5 +22
Комментарии 20

Автоматическая кормушка для птиц

Время на прочтение 3 мин
Количество просмотров 141K
Ещё в 2010 году Леонид Каганов (как известно — большой затейник) поделился с читателями своего блога идеей кормушки для птиц с веб-камерой и досыпанием зерна путем отправки платных SMS. Идея мне понравилась. И вот, прошло 4 года, наступили новогодние праздники 2014, я достал из стола завалявшиеся arduino uno, роутер tp-link 3020 и вместе с bitl (ака админом городского сайта) приступил к реализации проекта.


Под катом много фото.
Читать дальше →
Всего голосов 113: ↑112 и ↓1 +111
Комментарии 77

Инструменты DevOps-инженера: Librarian

Время на прочтение 4 мин
Количество просмотров 11K
Данная статья предназначена для тех, кто использует или планирует начать использовать систему управления конфигурацией Opscode Chef.

Основная задача внедрения любой системы управления конфигурацией, будь то Chef, Puppet или что-то еще, — повторяемо воспроизводить и обновлять окружение всех сред, использующихся при разработке ПО (dev, CI, QA, stage, production). Отсюда следует, что само описание конфигурации необходимо однозначно хранить и обновлять. К сожалению, возможности по версионированию, которые есть в Chef, достаточно ограничены. Поэтому в связке с Chef в последнее время стали активно использовать Librarian. Но перед тем, как рассказать о нем, поговорим немного о кукбуках.
Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Комментарии 21

Памятка пользователям ssh

Время на прочтение 13 мин
Количество просмотров 1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8 +344
Комментарии 148

8 полезных регэкспов с наглядным разбором

Время на прочтение 2 мин
Количество просмотров 272K
О мощи и гибкости регулярных выражений написано много, и их использование давно уже является стандартом для различного рода операций над текстом. Пожалуй, чаще всего регэкспы работают при валидации вводимых данных — здесь им практически нет альтернативы, если не считать громоздкий циклический разбор с кучей неочевидных проверок. Начнём с самого простого:

1. Часть ЧПУ (человекопонятный URL)


По сути, слово с дефисами.

Паттерн: /^[a-z0-9-]+$/
short_url

Примеры посерьёзнее
Всего голосов 176: ↑132 и ↓44 +88
Комментарии 119

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность