Pull to refresh
0
Dolgov Roman @rdolgovread⁠-⁠only

User

Send message

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

Reading time5 min
Views9.1K
И снова здравствуйте!

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

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


ng_ipfw.gif

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

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

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

Читать дальше →
Total votes 168: ↑165 and ↓3+162
Comments176

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

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

image
Читать дальше →
Total votes 82: ↑56 and ↓26+30
Comments33

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

Reading time10 min
Views15K
По просьбе уважаемого 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.Возможность модернизации: интеграция почтового сервера с биллингом и т.д. Есть много модулей платных и нет.

Читать дальше →
Total votes 60: ↑52 and ↓8+44
Comments33

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

Reading time3 min
Views18K
image

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

Читать дальше →
Total votes 365: ↑356 and ↓9+347
Comments100

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

Reading time7 min
Views17K
Всем привет.

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

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

Читать дальше →
Total votes 76: ↑70 and ↓6+64
Comments20

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

Reading time12 min
Views210K
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 (если интересно, почитать историю можно тут).

Читать дальше →
Total votes 68: ↑60 and ↓8+52
Comments44

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

Reading time6 min
Views133K
Содержание

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

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

Reading time2 min
Views18K
xmpp logoНередко перед системными администраторами встает задача оповещения себя и коллег о каких-либо событиях на сервере, будь то отчет об успешных входах по ssh, резко возросшая нагрузка, падение сервиса, сообщение о переключении на резервное питание или вскипевшем чайнике.
Чаще всего такая задача решается, например, отправкой почтового сообщения. Но нельзя гарантировать, что сообщение, во-первых, прийдет вовремя, а во-вторых, что его сразу прочтут. Тогда, подумает администратор, будем использовать IM. Но как? Держать, например, centerim постоянно открытым в screen? Согласитесь, не самый радужный вариант.
На выручку к нам спешит чип и дейл открытый протокол XMPP. Написано множество расширений к популярным языкам и примеров кода, позволяющих отослать сообщение кому требуется, и отослать его быстро.
Пример такого кода я и приведу.
Читать дальше →
Total votes 73: ↑66 and ↓7+59
Comments31

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

Reading time8 min
Views263K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

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

Содержание

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

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

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

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

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

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

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

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

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

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

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

Reading time7 min
Views15K

Вступление


Недавно мне потребовалось перенести несколько сайтов различных клиентов на нормальный выделенный сервер (не виртуальный). Я давно выбирал, где лучше арендовать сервер и выбором стала немецкая компания 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 нам в помощь). Но. Было одно «Но». Она вся была разрозненная и кусками. Я нигде не смог найти толкового пошагового руководства для настройки «от» и «до».

Поэтому, всем кому интересна эта тема,
добро пожаловать под кат...
Total votes 71: ↑62 and ↓9+53
Comments36

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

Reading time5 min
Views21K
В данный момент в Linux существует следующие широко известные реализации контейнеров:

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

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

Reading time2 min
Views6.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


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

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

Как результат имеем колесико без колесика :)
Total votes 11: ↑7 and ↓4+3
Comments14

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

Reading time4 min
Views11K
В данном разделе опишу как использовать возможности OpenSSH для создания Layer 3 туннелей, применительно к OS Debian GNU/Linux (наверняка без особых проблем заработает и в Ubuntu).
Читать дальше →
Total votes 36: ↑26 and ↓10+16
Comments28

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

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный 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. Минусы оптимизации

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

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity