Как стать автором
Обновить
0
Dolgov Roman @rdolgovread⁠-⁠only

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

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

Netgraph ipfw и гибкий учет трафика через netflow

Время на прочтение5 мин
Количество просмотров9K
И снова здравствуйте!

Продолжим обзор модулей FreeBSD netgraph.
Сегодня у нас в гостях ng_ipfw, ng_one2many и старый друг ng_netflow.
С их помощью попробуем посчитать трафик по определенным условиям и посмотрим как это можно использовать на практике.

Что за модули?


ng_ipfw.gif

ng_ipfw — модуль, создающий интерфейс для доступа к подсистеме netgraph из фаервола IPFW. При загрузке в ядро, модуль автоматически создает свой узел в пространстве подсистемы netgraph с именем «ipfw:», и может присутствовать только в единственном экземпляре. Ng_ipfw принимает подключения к произвольным номерным хукам, номера хуков указываются в правилах ipfw. Каждый входящий в модуль пакет тэгируется по нескольким параметрам (ipfw правило, интерфейс, направление), для того чтобы его можно было идентифицировать при возврате обратно в ipfw. Не тэгированные пакеты, возвращаемые в фаервол, уничтожаются. Контрольных сообщений модуль не принимает.
Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии26

Особенности работы и настройки DHCP на маршрутизаторах Cisco

Время на прочтение4 мин
Количество просмотров107K
В статье я хочу рассмотреть использование DHCP-сервера на базе маршрутизатора Cisco в корпоративной сети…

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

Если пришла проверка

Время на прочтение5 мин
Количество просмотров45K
Первоначально необходимо выяснить цель визита и полномочия сотрудников на совершение определённых действий. Данные полномочия могут быть выражены в различных документах (постановлениях начальника органа дознания, суда, следователя, дознавателя) в зависимости от того, каким законом регламентированы их действия (доследственная проверка в рамках ст. 144, 145 Уголовно-процессуального кодекса РФ или деятельность в рамках Законов «О милиции», «Об ОРД»).

Читать дальше →
Всего голосов 168: ↑165 и ↓3+162
Комментарии176

Магваеполия — создай успешную студию сам! Исходники

Время на прочтение1 мин
Количество просмотров1K
Примерно месяц назад мы написали пост про настольную игру «Магваеполия — создай успешную студию» Многим игра понравилась и были запросы на исходники игры. Теперь мы их наконец-то подготовили в том виде, в котором вы сразу можете брать и печатать.

image
Читать дальше →
Всего голосов 82: ↑56 и ↓26+30
Комментарии33

HOW-TO pptpd+freeradius2+mysql+abills 0.50b для малого офиса или мелкого провайдера на Ubuntu 9.10/10.04

Время на прочтение10 мин
Количество просмотров15K
По просьбе уважаемого Nesmit'а публикую его HOW-TO, заместо своего, т.к. считаю что его инструкция достойна бОльшего внимания чем моя, которая была в этом посте, в моей было много недоработок и ошибок. И понапрасну его статью не пускали в ленту. Очень хорошая статья. Вот и она

ubuntu 9.10, с целью обновиться до 10.04, ничего не трогая.
pptpd 1.3.4-2
freeradius2.1.0
abills 0.5
dictionary.microsoft

Разработчик биллинга находится здесь: abills.net.ua
Хотелось бы выразить большую благодарность разработчикам данного биллинга!

Цели:
1.Обеспечить интернетом локальную сеть.
2.Учет трафика
3.Учет финансов
4.Создание тарифных планов.
5.Ограничение по скорости
6.Шифрование 128bit, причин много.
7.Без шифрования, но используя mschapv2.
8.Шифрование личного кабинета (apache SSL)
9.Возможность модернизации: интеграция почтового сервера с биллингом и т.д. Есть много модулей платных и нет.

Читать дальше →
Всего голосов 60: ↑52 и ↓8+44
Комментарии33

Шпионские истории. «Камбала»

Время на прочтение3 мин
Количество просмотров18K
image

Недавно на Хабре мне попался очень интересный пост. Заинтересовал он меня настолько, что захотелось почитать немного поподробнее, чем изложил автор. Так вот, благодаря моему скромному желанию и огромному везению мне удалось поговорить с человеком, который сталкивался с этим устройством вплотную. На тот момент он занимал высокую должность в Гостехкомиссии СССР, и непосредственно его команда изучала это устройство в Министерстве Обороны. Поэтому хотелось бы начать сначала, только со всеми техническими характеристиками и без ошибок.

Читать дальше →
Всего голосов 365: ↑356 и ↓9+347
Комментарии100

FreeBSD Netgraph на примере Ethernet тоннеля

Время на прочтение7 мин
Количество просмотров17K
Всем привет.

Думаю многим системным администраторам, работающим с FreeBSD, известно о существовании ядерной подсистемы Netgraph. Но не многие знают/понимают как это работает, и что из этого можно построить.

Расскажу что это такое, а также разберу на простом примере сборку Ethernet моста через интернет.

Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии20

LDAP. Настройка отказоустойчивого LDAP сервера

Время на прочтение12 мин
Количество просмотров210K
The Internet Engineering Task Force (IETF)В этой статье я расскажу вам о сервере службы каталогов 389 Directory Server (он же Fedora Directory Server, он же Redhat Directory Server). Так уж повелось, что для доступа к серверу каталогов используется протокол LDAP. Если вы не работали с LDAP, я очень рекомендую ознакомиться со статьями в Wikipedia (тут про cлужбу каталогов, а тут про протокол LDAP).

Итак, сначала кратко о том, зачем же вообще использовать сервер службы каталогов (далее — LDAP-сервер). LDAP-сервера, в основном, применяются для централизованного хранения учетных записей, и всего, что с ними связано. LDAP-сервер представляет собой иерархическую БД, а значит в нем можно хранить любые данные.

Казалось бы, вполне логичен вопрос: а почему именно LDAP? Что мешает хранить учетные записи в MySQL или PostgreSQL? Ответ очевиден — ничего =)

Но над любой RDBMS служба каталогов обладает целым рядом преимуществ:

  • Это стандарт. Многие приложения поддерживают аутентификацию/авторизацию через LDAP;
  • Данные хранятся как иерархическое дерево, что позволяет делать эффективные операции поиска, выделив нужную часть дерева;
  • Число операций чтения в тысячи раз превышают число операций записи, в связи с этим появляется огромное число плюсов: нет необходимости применения транзакций и rollback'ов, репликация работает без проблем, которые присущи RDBMS;
  • Приложение должно видеть одну и ту же информацию на всех серверах службы каталогов, если сервер не хранит информацию, нужную клиентскому приложению, он может сам запросить ее у другого сервера или перенаправить само приложение к другому серверу;
  • Из-за описанных выше свойств службы каталогов, этот сервис отлично масштабируется горизонтально.


Выбор сервера службы каталогов пал на 389 Directory Server. История этого LDAP сервера тесно связана с компанией Netscape (если интересно, почитать историю можно тут).

Читать дальше →
Всего голосов 68: ↑60 и ↓8+52
Комментарии44

Python Tips, Tricks, and Hacks (часть 2)

Время на прочтение6 мин
Количество просмотров133K
Содержание

Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set.
Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии30

Мгновенное сообщение из консоли в jabber

Время на прочтение2 мин
Количество просмотров18K
xmpp logoНередко перед системными администраторами встает задача оповещения себя и коллег о каких-либо событиях на сервере, будь то отчет об успешных входах по ssh, резко возросшая нагрузка, падение сервиса, сообщение о переключении на резервное питание или вскипевшем чайнике.
Чаще всего такая задача решается, например, отправкой почтового сообщения. Но нельзя гарантировать, что сообщение, во-первых, прийдет вовремя, а во-вторых, что его сразу прочтут. Тогда, подумает администратор, будем использовать IM. Но как? Держать, например, centerim постоянно открытым в screen? Согласитесь, не самый радужный вариант.
На выручку к нам спешит чип и дейл открытый протокол XMPP. Написано множество расширений к популярным языкам и примеров кода, позволяющих отослать сообщение кому требуется, и отослать его быстро.
Пример такого кода я и приведу.
Читать дальше →
Всего голосов 73: ↑66 и ↓7+59
Комментарии31

Python: советы, уловки, хаки (часть 1)

Время на прочтение8 мин
Количество просмотров263K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →
Всего голосов 98: ↑94 и ↓4+90
Комментарии67

По мотивам Cisco Live 2009: Advanced Concepts of DMVPN

Время на прочтение15 мин
Количество просмотров35K
Продолжая серию статей о VPN, хочу поделиться подробностями о реализации технологии DMVPN, изложенными на Cisco Live 2009. Осторожно, много букв :)
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии17

ASA. Настройка перехватывающей аутентификации через AD и LDAP

Время на прочтение4 мин
Количество просмотров18K
По советам уважаемых хабрачитателей я несколько изменю формат своих публикаций по ASA. Сюда буду писать самое интересное, не утомляя подробным описанием. Полную статью «ASA. Перехватывающая аутентификация» читайте в нашем свежеиспеченном блоге

А здесь я расскажу, как используя ASA, напрямую аутентифицироваться в AD

На МСЭ часто возникает задача проверить пользователя до предоставления ему доступа к определенным ресурсам. На ASA такая проверка называется «перехватывающая аутентификация» (cut-through proxy).

Этот сервис использует инфраструктуру ААА (Authentication, Authorization, Accounting).

Примечание: в английском слове authentication нет слога «фи», который появился в русском «аутентификация» скорее всего из-за созвучия слову «идентификация». Причем, в нашем могучем языке есть и «аутентичность». Без всякого «фи» :) Не попадитесь!

Аутентификация.
Отвечает на вопрос «есть ли такой пользователь». Поиск этого пользователя может производиться как в локальной (LOCAL) базе данных, так и во внешних (TACACS+, RADIUS, AD по протоколу LDAP).
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии3

Двусторонний NAT (PAT) на Cisco IOS или NAT NVI

Время на прочтение4 мин
Количество просмотров66K
По просьбе коллеги (Fedia) я собрался с мыслями и решился написать статью про NAT NVI. Надо сказать, что вообще сама по себе трансляция адресов на роутере многократно рассматривалась, в т.ч. в статье «По просьбам трудящихся: Dual ISP на маршрутизаторах cisco без BGP». Тем не менее, описанный в ней механизм inside source и outside source NAT имеет некоторые ограничения.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии37

Пошаговое руководство по установке Debian 5.0 Lenny + XEN + LVM + Routing на Hetzner DS3000

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

Вступление


Недавно мне потребовалось перенести несколько сайтов различных клиентов на нормальный выделенный сервер (не виртуальный). Я давно выбирал, где лучше арендовать сервер и выбором стала немецкая компания Hetzner Online и ее тарифный план DS 3000 (AMD Athlon 64 X2 4200+/2Gb DDR/2x160Gb HDD — как выяснилось потом — на сервере оказалось два винчестера по 320Гб).

Но мне не хотелось всех размещать на одном сервере. Поэтому было решено сделать виртуальные машины на базе технологии XEN (к тому же в придачу к серверу на ТП DS 3000 Hetzner Online бесплатно выдает 6 IP-адресов, которые очень удобно будут смотреться для отдельных проектов). В Сети можно найти много информации по теме настройки и самого XEN'а на Debian'e и настройки роутинга на нем, поднятии виртуалок на LVM (lvm дает большее быстродействие, чем виртуалки на базе image-файлов), даже в вики самой фирмы была информация об этом (но на немецком — Google Translate нам в помощь). Но. Было одно «Но». Она вся была разрозненная и кусками. Я нигде не смог найти толкового пошагового руководства для настройки «от» и «до».

Поэтому, всем кому интересна эта тема,
добро пожаловать под кат...
Всего голосов 71: ↑62 и ↓9+53
Комментарии36

lxc — нативные контейнеры Linux

Время на прочтение5 мин
Количество просмотров21K
В данный момент в Linux существует следующие широко известные реализации контейнеров:

Но они требуют наложения своих патчей на ядро, для получения необходимого функционала. В отличии от них lxc начиная с ядра версии 2.6.29 не требует этого. Для реализации изоляции используются уже имеющиеся в ядре namespaces, а для управления ресурсами Control Group. Это позволяет создавать не только полноценные изолированные окружения, но и осуществлять изоляцию отдельно взятых приложений.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии32

Настраиваем трекбол Trackman Marble

Время на прочтение2 мин
Количество просмотров6.4K
Не так давно я преобрел сего чудесного зверя:



В отличии от домашнего зверька (Cordless TrackMan Optical) он не обладает колесиком прокрутки и имеет четыре кнопки. Две основных и две вспомогательных на которые по умолчанию ничего не вешается. Но понятное дело, что без привычной функции прокрутки как-то не удобно. Первой попыткой было завесить на дополнительные кнопки прокрутку. Вписываем в секцию устройства (приведено для драйвера evdev):

Option "WHEELRelativeAxisButtons" "5 4"


Работать так оно работает, но для прокручивания надо постоянно нажимать кнопку, а это не удобно. Опять же стандартный драйвер evdev не поддерживает эмуляцию третьей кнопки. А в X-Window она позволяет вставлять из буфера.
Поддержка эмуляции есть только в драйвере mouse. Кроме этого при чтении документации выяснилось, что драйвер поддерживает хитрую эмуляцию колесика, очень удобную для трекбола (хитрость заключается в том что после зажатия кнопки в качестве колесика используется шарик, для мыши это будет равносильно перемещению). В результате я преназначил клавиши следующим образом:'
Section "InputDevice"

Identifier "Logitech TrackMan Optical"
Driver "mouse"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "Auto"
Option "Emulate3Buttons" "true"
Option "Emulate3Timeout" "50"
Option "Buttons" "9"
Option "EmulateWheel" "true"
Option "XAxisMapping" "4 5"
Option "EmulateWheelButton" "6"
Option "ButtonMapping" "1 9 3 6 2 7 8 5 4"

EndSection


В результате дополнительные кнопки работают следующим образом:

Левая дополнительная кнопка работает как включение «колесика».
Правая дополнительная кнопка работает как средняя кнопка.
Дополнительно если нажать вместе основные левую и правую кнопку, они сработают как третья.

Как результат имеем колесико без колесика :)
Всего голосов 11: ↑7 и ↓4+3
Комментарии14

Организация SSH Layer 3 туннеля

Время на прочтение4 мин
Количество просмотров11K
В данном разделе опишу как использовать возможности OpenSSH для создания Layer 3 туннелей, применительно к OS Debian GNU/Linux (наверняка без особых проблем заработает и в Ubuntu).
Читать дальше →
Всего голосов 36: ↑26 и ↓10+16
Комментарии28

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Время на прочтение16 мин
Количество просмотров40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Всего голосов 375: ↑368 и ↓7+361
Комментарии105
12 ...
16

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность