Настройка кеширующего интернет-шлюза

Введение
В современном мире крайне важным вопросом является доступ пользователей к сети интернет. Доступ должен быть безопасным, простым и высокоскоростным.

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

На данной схеме пользователи могут работать с интернет только через прокси. Прокси регулирует абсолютно весь трафик. FireWall блокирует весь остальной трафик.

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

FreeBSD - Феникс, возрожденный из DUMP-a

… Сколько времени я уговаривал админа, чтобы выделил мне виртуалку. И главное не забавы для, а дела ради. И с какой радостью/скоростью мне ее грохнули. Молодцы ребятки. Все правильно сделали. Одно только неправильно сделали — предупредили меня о том, что все грохнут за пару часов до времени «Ч».

Задача: эвакуировать сервер с VMWare куда угодно. Например на VirtualBox.

Имеем: виртуальную машину FreeBSD на VMWare кластере и очень мало времени.

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

Netflow-искания Часть 3.1 (изобретаем анализатор)

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

Преамбула: Есть такая классная штука, как сервер видеонаблюдения. Еще есть не менее классная штука как сервер ВКС. И они очень любят кушать канал связи. 10 мегабит для них — воронка, в которую они пытаются просунуть свой арбуз. Одним весенним утром наш Мега-Босс захотел воспользоваться конференц-связью дабы отыметь своих подчиненных пусть не физически, но хоть так. И что характерно — отымел, но совсем не тех кого ожидали, а наш отдел. Качество связи было отвратительным.
Естественно сам факт совершенного насилия над нами был лишь следствием. Захотелось узнать истинные причины этого. Одной из задач стояло составление очень сложного отчета по трафику в разрезах по сервисам. То есть грубо говоря необходимо было поставить на мониторинг и детально разобрать трафик для выяснения причин плохого качества ВКС.

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

Исходные данные: Сырые данные, собранные Flow-Tools.

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

Копирование HDD во FreeBSD

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

Возникла необходимость увеличить диск на виртуальной машине (vmware). Старый диск был объемом 15 GB. Естественно он быстро забился. Создали новый образ, но как поступить? Кроме того что мне не хватало дискового пространства, у меня был еще и swap маленького размера (это как раз тот случай, когда размер имеет значение). Насколько я знаю, процедуры расширения слайса не бывает. Потому первое что в голову пришло — dump/restore. Я уже пользовался этим набором — вполне успешно, только геморно. Обратился к Google и он мне подсказал, что оказывается есть решение попроще:
# whereis clonehdd
clonehdd: /usr/ports/sysutils/clonehdd
# cd /usr/ports/sysutils/clonehdd
# make install clean
# rehash
# man clonehdd
...читаем и видим пример:
# clonehdd -src=ad0 -dst=ad2 -swap=1024
его и пользуем...

Естественно названия дисков у меня были другие и размер swap больше.
После того как я ввел команду с необходимыми мне параметрами, он меня вежливо предупредил, что все на dst диске будет убито. И сделал всю грязную работу.
Во время копирования я посмотрел, какие процессы запущены — dump/restore.
То есть фактически это красивая и удобная упаковка для этих двух программ. Я запустил копирование на работающей машине. Конечно сколько то байт информации потерялось, но мне было все равно. В данном случае это было допустимо.

GNS3 - Решение для начинающих администраторов. Часть 1.

Предисловие
Хочется предаться воспоминаниям, как я на недопиленной FreeBSD 4.7, Р166 и с 10 мегабайтами интернета в день мастерил свой первый DHCP/DNS/SMB/HTTP сервер. О наличии управляемого коммутатора и тем более маршрутизатора речи вообще не шло (до поры). Но к моему счастью наш админ быстро уволился и мне досталось небогатое, но всеже наследство: Сеть с коммутаторами HP Procurve 2524, несколькими серверами FreeBSD ну и прочая требуха, включая капризных пользователей. К сожалению знаний у меня было вообще ноль, а освоить все за один раз очень сложно. Естественно первым делом я освоил FreeBSD и тогда еще WinNT Server. Непосредственно маршрутизацией (и switching) я занялся через 5 лет после начала работы на месте системного администратора. Но время идет и все становится лучше в сфере IT. Однако без опыта все равно сделать ничего не получится. Не хочу показаться ненавистником Microsoft, но они и впрямь усугубляют все дело. Современный администратор Microsoft серверов может полностью настроить сервер DNS/HTTP/DHCP/NTP/etc, при этом не понимая, как это на самом деле работает… Когда я это обсуждал с ними, были случаи что на меня смотрели пустыми глазами и задавали вопрос: а зачем мне понимать? У меня есть интеграторы, горячая линия поддержки Microsoft. За глаза им скажу: Ты либо понимаешь принципы работы, либо ты всего лишь ненужная жировая прослойка между этим саппортом и твоим работодателем.
Итак, дорогой друг, ты решил пойти трудным путем сетевого администратора. Что это значит? На моем предприятии сетевой администратор это тот, кто занимается исключительно сетевыми устройствами. В моем понимании сетевой администратор должен заниматься сетевыми сервисами. То есть внутри отдела можно распределить задачи и взаимодействовать без лишних обращений в группу серверов. Если возложить сетевые сервисы на серверных специалистов (например DNS и DHCP), то возникает необходимость в разработке регламентов работ — очень больная тема. Грубо говоря со своими проще договориться чем с коллегами из другого отдела. Для тех, на кого ориентирована статья эти проблемы могут быть непонятными и далеко впереди идущими, так что отнесем это к лирике.

Задача: Создать полнофункциональный виртуализированный стенд из маршрутизаторов Cisco и виртуальных машин для проведения различных тестов и обучения.

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

Netflow-искания Часть 3 (изобретаем коллектор)

Итак поигрались с готовыми решениями — красота. Что дальше? Лично меня очень беспокоила информация о потерянных пакетах в логах:
# /var/log/flow-capture.log:
ftpdu_seq_check(): src_ip=xxx.xxx.xxx.xxx dst_ip=0.0.0.0 d_version=5 expecting=1531521097 received=1531521307 lost=210
ftpdu_seq_check(): src_ip=xxx.xxx.xxx.xxx dst_ip=102.0.0.0 d_version=5 expecting=1730244036 received=1730300526 lost=56490
ftpdu_seq_check(): src_ip=xxx.xxx.xxx.xxx dst_ip=99.111.117.110 d_version=5 expecting=1730207586 received=1730300556 lost=92970
ftpdu_seq_check(): src_ip=xxx.xxx.xxx.xxx dst_ip=102.0.0.0 d_version=5 expecting=1730300556 received=1730300586 lost=30

Плюс ко всему какие то нелепые dst_ip.

Что бы не мешать основному процессу, добавляю на сенсоре строчку для дублирования инфы на другой порт:
# conf t
# ip flow-export destination xxx.xxx.xxx.xxx 9997

Циска ругнется, что мы дублируем инфу, но послушно выполнит.

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

Cacti - The complete RRDTool-based solution

Предыстория: О cacti я слышал много положительных отзывов. Эта статья написана после серии статей «Netflow-искания» поскольку получилось слишком много оффтоп-информации, которая могла бы оказаться полезной.

Возможности:
1) Сбор данных по SNMP, NetFlow, Syslog и ciscoconfigs с устройств сети;
2) Анализ собранных данных и их отображение в виде графиков;
3) Построение карт сетей;
4) Мониторинг доступности устройств.

Задача: Организовать мониторинг сети на основе программного комплекса Cacti.

Имеем: Сервер с установленными FreeBSD 9.1, Apache 2.2, PHP 5.3, MySQL 5.5, Flow-Tools 0.68.

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

Netflow-искания Часть 2 (анализаторы)

Итак, если вы вдруг случайно настроили сенсоры, коллекторы и FlowTools, то естественно встанет вопрос с анализатором. Flow-Tools — очень хороший пакет программ. Но если вы работаете в более-менее приличной конторе, в которой есть больше одного IT работника, вам понадобится как то представлять (показывать) информацию своим коллегам и начальству для дальнейшего разбора полетов.

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

Netflow-искания Часть 1 (сенсоры и коллекторы)

Я думаю, что все согласятся с тем, что мониторинг сетевой активности является одной из приоритетных задач в процессе эксплуатации корпоративных сетей.
Все легко и просто, пока вы администрируете сеть небольшого офиса в городе N. Но что если ваша фирма пошла в гору и стала расширяться? Открытие нового филиала скорей всего повлечет начало отношений с провайдерами, организацию каналов связи и более сложные (назовем это так) манипуляции с сетью.
Нет желания описывать такие вещи, как маршрутизацию, ее необходимость и проблемы с ней связанные. Допустим вы непосредственно маршрутизацию победили. Но это не значит, что все у вас будет хорошо.

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

Авторизация в Openmeetings с учетной записью Active Directory

  • FreeBSD
Так как Openmeetings напрямую к AD не прикручивается, действовать будем через OpenLDAP.
Итак. Ставим из портов OpenLDAP Server версии не ниже 2.3, так как более младшие версии не могут прозрачно передавать неизвестную схему.

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

Менеджер пакетов для FreeBSD или немного о проекте pkgng

  • FreeBSD
Исторически сложилось так, что во FreeBSD два пути установки ПО. Первый идеологически правильный, но уж очень медленный, это сборка ПО из коллекции портов. Плюсы этого метода — большая гибкость и уверенность в том что установлены самые свежие версии, минус большие затраты времени. Настройка сервера в среднем занимает несколько дней, а если уж десктоп настраивать, так и неделю провозиться можно.
Второй путь — устанавливать готовые пакеты, плюсы -скорость развертывания… И на этом плюсы заканчиваются.Остаются сплошные минусы, неактуальный софт, конфликты версий и прочие радости.
Отдельный вопрос, это обновление ПО.
В дистрибутивах Linux эти вопросы решаются с помощью менеджеров пакетов apt-get, yum и т.п. Проект pkgng призван решить эту задачу в FreeBSD.

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

Начальная установка Asterisk и AsteriskGUI

Скорее заметка чтоб не забыть) Авось и кому еще полезно будет)
Все действия производились на FreeBSD 9 i386/amd64 — в смысле справедливо для обоих архитектур.
Кроме указанных ниже действий, потребуется установить bash хотя можно и без него.
Из портов устанавливаем Asterisk:

 #cd /usr/ports/net/asterisk 
 # make install clean

Затем ставим Dahdi

 # cd /usr/ports/misc/dahdi-kmod
 # make install clean

В rc.conf добавляем:

 asterisk_enable="YES"
 dahdi_enable="YES"

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

Установка Openmeetings 1.9.1 на FreeBSD 9, шаг за шагом.

  • FreeBSD
Возникла необходимость организации видеоконференций, причем основным условием было отсутствие на стороне клиента необходимости установки дополнительного ПО. После коротких поисков в сети было найдено приемлемое решение Openmeetings.
На данный момент актуальная версия openmeetings_1_9_1_r4707, её и будем ставить.

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

Дружим IIS и шару на Samba

  • FreeBSD
Потребовалось подключить на сайт в IIS виртуальный каталог, расшаренный на юниксовом NASe (FreeNAS 7.3). Веб сервер не в домене, поскольку публичный, FreeNas — с авторизацией в домене, без гостевых пользователей и других глупостей. Если подключаем диск напрямую на веб-сервер, с использованием доменной учётной записи — всё хорошо. При добавлении Virtual Directory в IIS — ошибка, некорректное имя пользователя или пароль. На сайте MS выяснилось, что IIS подключается к сетевому диску под одним пользователем (по умолчанию IUSR_<имя сервера>), а когда строит дерево каталога — уже использует данные, указанные в настройках Virtual Directory.
Решилось так:
  1. Создаем в домене пользователей IUSR_<имя вашего веб-сервера> и допустим test
  2. Даем этим пользователям права на нужную нам шару
  3. создаем таких же пользователей на NASe, затем добавляем их в базу Samba через smbpasswd
  4. Подключаем Virtual Directory на IIS, используя имя domain\test

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 сетевых интерфейса. Причем не обязательно, что сетевой интерфейс — это сетевая карта, это может спокойно и виртуальный интерфейс.

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

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

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

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