d_kalinin
Рейтинг
+2.11
Сила
2.27

d_kalinin

FreeBSD + AESNI + OpenSSL + OpenVPN

  • FreeBSD
Тема апгрейда домашнего файл-сервера назрела давно, все ждал когда появятся в нашем маленьком городке процессоры на архитектуре Sandy Bridge. И вот, дождался!

После не долгих раздумий выбор пал на Intel Core i5-2400. Купил материнскую плату на новом сокете (1155), новую оперативку и вставил туда новый процессор.

Система загрузилась без каких либо проблем. Процессор опознался так:
CPU: Intel® Core(TM) i5-2400 CPU @ 3.10GHz (3092.99-MHz K8-class CPU)
Origin = "GenuineIntel"  Id = 0x206a7  Family = 6  Model = 2a  Stepping = 7
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PB
Features2=0x17bae3ff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,<b24>,AESNI,XSA
AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
AMD Features2=0x1<LAHF>


И сразу захотелось попробовать AESNI. Вкратце, это набор инструкций процессора, облегчающий работу алгоритма симметричного шифрования AES.

Читать дальше →

I hate this fucking hoster

  • FreeBSD
День задался изначально не очень. По шахте подъезда кто-то тянул кабель (большие подозрения, что Зеленая Точка, утверждать не буду, но как раз на днях они собираются подключать), и появился разрыв кабеля от Домолинк. После общения с ТП настроение испортилось окончательно.
На этом лирическое отступление закончено, и перейдем собственно к теме статьи.

А перейдем мы не просто, а начнем из далека. Думаю, всем известна такая программа как screen — это консольный оконный менеджер. Запустив программу в нем, можно смело отключаться от сервера — и первая будет жить своей спокойной половой жизнь внутри screen. Как аналог — существует менее известный tmux — выполняет те же самые функции. В tmux — меня буквально пленила зеленая полоска снизу, полюбуйтесь:


Читать дальше →

Динамическая маршрутизация в FreeBSD, BIRD

  • FreeBSD
Рано или поздно в сети с несколькими маршрутизаторами возникает потребность в динамической маршрутизации. Что такое динамическая маршрутизация, и зачем она нужна — рассказывать не буду, ибо это основы о которых можно почитать и в Интернет, эта тема будет о программном обеспечении для обеспечения динамический маршрутизации.

Читать дальше →

Заметки про сетевой мост

  • FreeBSD
Наверно, многие замечали — в Windows существует такая штука — как организация сетевого моста. Выбираются две сетевых карты и из низ получается один сетевой мост. Выглядит так, как будто витую пару из первой сетевой карты скрутили с витой парой второй сетевой карты. И все это дело прекрасно работает. Но это только введение, попробуем разобраться как это работает.

Что же из себя представляет так называемый сетевой мост? Попробуем разобраться. Думаю, все представляют как работает один из базовых элементов ЛВС — коммутатор. В него вставляются хвосты витой пары и все товарищи объединяются в один локальный домен рассылки, или ethernet-сегмент. Компьютер, подключенный в порт 1 может без каких либо проблем обмениваться информацией с компьютером, подключенным к порту 2.
Разумеется, этот свич запоминает, за каким портом закреплен определенный компьютер на основании MAC-адреса. Все элементарно.

Сетевой мост выполняет ту же самую задачу, только вместо разных компьютеров выступают сетевые интерфейсы самого себя.

Представим себе след. картину:

Есть компьюер, у которого существует 4 сетевых интерфейса. Причем не обязательно, что сетевой интерфейс — это сетевая карта, это может спокойно и виртуальный интерфейс.

Читать дальше →

squid, pf и таблицы адресов

Появилась задача — использовать в сквиде список адресов не из фиксированного файла, а прямиком из таблиц firewall (pf).
Напомню, в сквиде можно объявить список адресов, например вот так:
acl dst_free dst "/etc/firewall/net.free"

ну и в файле /etc/firewall/net.free прописать наши адреса, например:
10.0.0.0/8
62.76.176.0/20
78.132.128.0/17
82.179.144.0/20
83.234.112.0/24
91.202.20.0/22
91.211.28.0/22
93.186.96.0/20
172.16.0.0/12
192.168.135.12/30
192.168.140.0/24
193.33.62.0/23
193.34.12.0/22
193.203.60.0/22
195.19.96.0/19
213.135.128.0/19

Таким образом, после запуска сквид в acl dst_free будут находиться эти адреса.
А у нас задача — использовать адреса, которые сейчас актуальные в таблице pf.
Для примера, на текущий момент в таблице net_free находятся такие адреса:
[16:36 dk@mira ~]> pfctl -t net_free -T show
   10.0.0.0/8
   62.76.176.0/20
   78.132.128.0/17
   82.179.144.0/20
   83.234.112.0/24
   91.202.20.0/22
   91.211.28.0/22
   93.186.96.0/20
   172.16.0.0/12
   192.168.135.12/30
   192.168.140.0/24
   193.33.62.0/23
   193.34.12.0/22
   193.203.60.0/22
   195.19.96.0/19
   213.135.128.0/19

Читать дальше →

Используем несколько провайдеров

Предыстория
Жила-была одна локальная сеть (ЛВС2) и использовала одно подключение к Интернет, все были счастливы. Но жизнь продолжается, потребности возрастают, и этой ЛВС (подключенной к «Прокма-Телеком») захотелось использовать ресурсы провайдера «ЛанТа».
Не проблема. В связи с отсутствием «ЛанТа» в родном районе, был добавлен «Домолинк», который как известно имеет пиринг с «ЛанТа». Вроде все прекрасно, все работает, все довольны.
Но в другом районе города, жила другая локальная сеть (ЛВС1), которая была подключена к «МКС». Тоже, захотелось людям использовать ресурсы «ЛанТа», и был проведен туда это провайдер. И снова все счастливы.

И вот, после недолгих размышлений, захотелось предоставить ЛВС2 доступ к ресурсам «МКС», и, соответственно участникам ЛВС1 предоставить доступ к ресурсам «Прокма-Телеком».
Читать дальше →

Управляем частотой CPU в ОС FreeBSD

В интернете можно найти все, ну почти все. Проблема в том — что просто не знаешь чего искать то.
Так и с этой темой.

Как то обратил внимание сколько потребляется кВт/ч в месяц, сумма не очень понравилась, и решил с этим хоть как-то бороться. Жесткие диски работают постоянно, Westeng Digital серия Green, как заявлено производителем — с пониженным энергопотреблением. В общем — за счет них не особо сэкономишь. Видео-карта ..., тоже нет механизмов регулирования. Сетевая — такая же беда. И вот добираемся до процессора. Как известно, все достаточно современные процессоры позволяют регулировать свою частоту, как следствие при понижении частоты — энергопотребление уменьшается, при увеличении — соответственно увеличивается.

Читать дальше →

Коммутируем несколько провайдеров на сервер

Итак, железка для коммутации заказана, приедет ориентировочно в среду, 14.07.2010. После ее приезда и будет продолжение. После перелистывания прайсиков и оценки стоимости и сроков доставки, выбор пал на этого зверька Коммутатор HP ProCurve 1810G-8

И сразу вопрос, а зачем? Для чего?

События развивались так, сначала был один провайдер, проблем никаких не было. Провайдера в одну сетевую, локалку — в другу.
Потом появился второй провайдер… Ну что-же, еще одну сетевую в сервер.
Теперь появляется еще один провайдер ..., а сетевые больше втыкать и не куда, слоты закончились. Досадно, но надо как-то искать выход из данной ситуации.

А теперь немного теории, практика будет только после доставки зверька.

Есть такое понятие VLAN. VLAN (аббр. от англ. Virtual Local Area Network) — виртуальная локальная компьютерная сеть, представляет собой группу хостов с общим набором требований, которые взаимодействуют так, как если бы они были подключены к широковещательному домену, независимо от их физического местонахождения. VLAN имеет те же свойства, что и физическая локальная сеть, но позволяет конечным станциям группироваться вместе, даже если они не находятся в одной физической сети. Такая реорганизация может быть сделана на основе программного обеспечения вместо физического перемещения устройств. Т.е. хосты находящиеся в одном вилане могут общаться только с хостами внутри этого вилана. В другие виланы им вход заказан. Нам это пригодится, чтоб не гонять ethernet трафик от одного провайдера, в другого. Отсюдова следует — что каждый провайдер будет заведен в свой вилан, который никак не связан с виланом другого провайдера! Это очень важно!!!

Читать дальше →

Игра в слова

У моего любимого производителя табака появилась игра в слова (http://www.richmond-tobacco.com/game_slova/), победителям, разумеется приз.

Суть игры, выпадают случайные буквы, из которых нужно собрать слово. Например, буквы ПИВЕРТ,
из них можно собрать слово ПРИВЕТ.

Все бы ничего, но надо собрать 11 слов, да еще и на время. Причем каждое следующее слово длиннее предыдущего на одну букву. Для слов из 4-6 букв в общем-то проблем не возникало, но дальше все трудней и трудней.

Но впереди ждут сигареты, и поэтому надо что-то придумать.
Читать дальше →

Выводим список контактов организации из Active Directory на сайт компании

Простенькая задача: есть компания, внутри которой развернута служба каталогов Active Directory от Microsoft. Нам хочется — что при открытии в браузере ссылки contacts.mycompany.local — выводился список сотрудников компании с разбивкой по отделам.
Предполагается, что в компании у каждого сотрудника есть своя учетная запись в Active Directory, у которой скудно-бедно заполнены хотя бы основные атрибуты, такие ФИО сотрудника, адрес его электронной почты, номер телефона, должность, отдел. Имя домена нашей компании — mycomany.local.

Для примера, будет выбран такой макет компании:


Читать дальше →

Использование генетического алгоритма для поиска решения уравнения

Как-то приходилось писать программу для составление инвестиционного портфеля, анализу и прогнозированию операций по этому портфелю. Саму программу по некоторым причинам опубликовать не могу, а вот рассмотреть один из основных участков — использование генетического алгоритма — можно.
Итак, полностью с описанием генетического алгоритма можно ознакомиться здесь.
Прочитав информацию по ссылке, Вы узнали, что есть такие понятия как популяция, особь (хромосом), ген, приспособленность особи.
Популяция состоит из особей, особи в свою очередь состоят из генов.

Популяция — множество решений некого уравнения. Т.е. допустим, имеем уравнение x*x + y*y + z*z = 10. Набор различных комбинаций переменных этого уравнения (x, y, z), причем далеко не оптимальных и есть популяция. Пример популяции: { (1, 1, 1), (2, 3, 1), (2, 0, 4), (1, 2, 3), (0, 0, 2)}. Эти значения выбраны абсолютно случайным образом. Популяция состоит из 5 особей.
Особь 1: (1, 1, 1)
Особь 2: (2, 3, 1)
Особь 3: (2, 0, 4)
Особь 4: (1, 2, 3)
Особь 5: (0, 0, 2)


Читать дальше →

Используем несколько каналов Интернет для загрузки торрент-трафиком

Итак, есть 4 узла: А, Б, В, Г. Каждый из узлов подключен к сети Интернет. Задача: на узле А запущен торрент-клиент, который должен поглощать интернет с узлов Б, В, Г.
Скорость между узлами А-Б, А-В, А-Г — заведомо выше скорости подключения к Интернет каждого из услов, другими словами, трафик считается внутрисетевым.

Первым делом потребуется собрать все узлы в один виртуальный сегмент. После недолгих размышлений — решаем использовать в этом сегменте адресацию 192.168.130.1, и распределяем адреса следующим образом:
— узел А — 192.168.130.1;
— узел Б — 192.168.130.2;
— узел В — 192.168.130.3;
— узел Г — 192.168.130.4.

Для построения сегмента был выбрна openvpn (http://openvpn.net/)

Читать дальше →