По работе я несколько раз сталкивался с мнением, что настраивать QoS в не перегруженной ethernet сети не нужно для успешного функционирования таких сервисов, как IPTV и VoIP. Это мнение стоило мне и моим коллегам многих нервных клеток и часов на диагностику фантомных проблем, поэтом постараюсь как можно проще рассказать о том, почему это мнение неверно.
Евгений Романенко @FessAectan
Founder of ViStep.RU
Поговорим о VPN-ах? Типы VPN соединений. Масштабирование VPN
82 min
195KКоллеги, здравствуйте. Меня зовут Семенов Вадим и я хочу представить статью, посвященную вопросу масштабируемости VPN-ов, причем тех VPN-ов, которые доступны для настройки в обычной корпоративной сети предприятия, а не со стороны провайдера. Надеюсь, данная статья станет справочным материалом, который может потребоваться при дизайне сети, либо при её апгрейде, либо для того, чтобы освежить в памяти принцип работы того или иного VPN-на.
+52
Почему OpenVPN тормозит?
3 min
187KОписанная проблема присуща только ветке OpenVPN 2.3, в 2.4 размеры буферов не меняются без требования пользователя.
Время от времени, мне встречаются темы на форумах, в которых люди соединяют несколько офисов с использованием OpenVPN и получают низкую скорость, сильно ниже скорости канала. У кого-то это может быть 20 Мбит/с при канале в 100 Мбит/с с обеих сторон, а кто-то еле получает и 400 Кбит/с на 2 Мбит/с ADSL/3G и высоким пингом. Зачастую, таким людям советуют увеличить MTU на VPN-интерфейсе до чрезвычайно больших значений, вроде 48000, или же поиграться с параметром mssfix. Частично это помогает, но скорость внутри VPN все еще очень далека от канальной. Иногда все сваливают на то, что OpenVPN — userspace-решение, и это его нормальная скорость, учитывая всякие шифрования и HMAC'и. Абсурд!
Один из разработчиков добавляет код, который устанавливает буфер приема и отправки сокета по умолчанию в 64 КБ, вероятно, чтобы хоть как-то унифицировать размер буфера между платформами и не зависеть от системных настроек.
Время от времени, мне встречаются темы на форумах, в которых люди соединяют несколько офисов с использованием OpenVPN и получают низкую скорость, сильно ниже скорости канала. У кого-то это может быть 20 Мбит/с при канале в 100 Мбит/с с обеих сторон, а кто-то еле получает и 400 Кбит/с на 2 Мбит/с ADSL/3G и высоким пингом. Зачастую, таким людям советуют увеличить MTU на VPN-интерфейсе до чрезвычайно больших значений, вроде 48000, или же поиграться с параметром mssfix. Частично это помогает, но скорость внутри VPN все еще очень далека от канальной. Иногда все сваливают на то, что OpenVPN — userspace-решение, и это его нормальная скорость, учитывая всякие шифрования и HMAC'и. Абсурд!
Немного истории
На дворе июль 2004 года. Типичная скорость домашнего интернета в развитых странах составляет 256 Кбит/с-1 Мбит/с, в менее развитых — 56 Кбит/с. Ядро Linux 2.6.7 вышло не так давно, а 2.6.8, в котором TCP Window Scale включен по умолчанию, выйдет только через месяц. Проект OpenVPN развивается уже 3 года как, к релизу готовится версия 2.0.Один из разработчиков добавляет код, который устанавливает буфер приема и отправки сокета по умолчанию в 64 КБ, вероятно, чтобы хоть как-то унифицировать размер буфера между платформами и не зависеть от системных настроек.
+88
Создание окружения для веб-разработки на основе Docker
5 min
61K
+17
Бесплатный видеокурс CCNA Сisco доступен на одном из каналов YouTube
2 min
109KПо моему глубокому убеждению, в особенности в сфере IT, важнейшим качеством любого из специалистов является способность к самообучению. Именно потому в нашей небольшой компании стало хорошей традицией уделять ежедневно время этому процессу, собственному развитию. Даже менеджер должен понимать, как устроена и функционирует сеть. Не давнее, как вчера, обсуждая проблему с BGP, коллега сказал «Вот не был бы я лентяем — прошел бы в студенческие годы курс CCNA и знал бы ответ на твой вопрос». И я задался задачей помочь коллеге, найти способ получить знания в этой области самому, хотя бы начального уровня, чтоб лучше понимать с чем мы работаем. На Хабре, введя в поиск CCNA, можно встретить массу рекомендаций, но все же, англоязычный Интернет — основной источник знаний в области IT-коммуникаций.

Я просто обожаю YouTube! Ведь он предоставляет волшебную возможность удаленного «посещения» тематических конференций и семинаров, причем абсолютно бесплатно. В этот раз, как оказалось, там уже месяца 2 существует бесплатный канал, на котором лектор Imran Rafai, четко и доступно излагает материал из 30-дневного CCNA-курса, весьма доступно и увлекательно!
Даже если Вы не системный администратор, а просто хотите обладать немного лучшим пониманием, что такое Интернет — курс для Вас! Помимо прочего Вы повысите свой уровень английского, ведь курс на английском языке, с субтитрами.

Я просто обожаю YouTube! Ведь он предоставляет волшебную возможность удаленного «посещения» тематических конференций и семинаров, причем абсолютно бесплатно. В этот раз, как оказалось, там уже месяца 2 существует бесплатный канал, на котором лектор Imran Rafai, четко и доступно излагает материал из 30-дневного CCNA-курса, весьма доступно и увлекательно!
Даже если Вы не системный администратор, а просто хотите обладать немного лучшим пониманием, что такое Интернет — курс для Вас! Помимо прочего Вы повысите свой уровень английского, ведь курс на английском языке, с субтитрами.
+38
Xargs: многообразие вариантов использования
7 min
151K
Об утилите xargs написано очень много — что можно написать еще? Но если, что называется, копнуть поглубже, то выясняется, что во многих публикациях излагаются лишь самые основы, но нет главного: не объясняется, как можно применять xargs в реальной практике. Статей с разбором сложных и нетривиальных вариантов применения этого весьма полезного для системного администратора инструмента, к сожалению, очень мало. Именно поэтому мы написали свою статью и постарались включить в нее как можно больше примеров использования xargs для решения различных проблем.
Сначала мы рассмотрим принцип работы xargs и разберем примеры попроще, а затем перейдем к разбору сложных и интересных кейсов.
+62
Развёртывание ОС Windows Server 2012 R2 на серверы Dell в режиме BARE-METAL. Часть 1
3 min
20K
+4
SIP URI и URL. Часть 1 (URI, URL и URN)
3 min
72K
В предыдущих двух статьях мы рассмотрели основы взаимодействия по протоколу SIP.
- Взаимодействие клиентов SIP. Часть 1 (Простое взаимодействие)
- Взаимодействие клиентов SIP. Часть 2 (Взаимодействие с использованием Proxy-сервера)
Далее я предлагаю разобраться с такой важной составляющей SIP, как SIP URI. Мы сталкивались с ними раньше, когда говорили о полях From, To и других, однако не уделяли им должного внимания.
В рамках этой короткой статьи мы рассмотрим, какие бывают URI и из чего они состоят. В следующей статье остановимся на URI и URL в протоколе SIP.
+4
SIP URI и URL. Часть 2 (Схема SIP URI)
3 min
44K
Предыдущие статьи по SIP:
- Взаимодействие клиентов SIP. Часть 1 (Простое взаимодействие)
- Взаимодействие клиентов SIP. Часть 2 (Взаимодействие с использованием Proxy-сервера)
- SIP URI и URL. Часть 1 (URI, URL и URN)
В первой части статьи мы разобрались, что такое URL, URN и URN. Пришло время поговорить о URI и URL, используемых в SIP.
+5
Asterisk + FreeSwitch + Skype. Подробное руководство
14 min
51K
Доброго времени суток, жителям Хабра!
Имея опыт в области установки voip-серверов на базе Asterisk, решил предложить своё подробное руководство по установке call-центра на базе Asterisk в связке со Skype. В виду популяризации Skype эта сеть стала использоваться для call-центров многих компаний. Использование ее официального клиента очень ограничивает нас в возможностях. Данная сборка позволяет увеличить число одновременных вызовов со Skype-сети.
+13
Хостим персональный сайт на роутере
3 min
129KДоброго времени суток.
Пару недель назад я решил создать персональный сайт с несколькими страницами о себе, своих достижениях, целях и контактах. Разумеется, одним из этапов его создания стал вопрос выбора хостинга. Отдавать деньги за размещение сайта на чьём-то сервере мне не хотелось, да и оставлять свой домашний компьютер постоянно включенным тоже.
Поразмыслив, я вспомнил интересную статью о настройке сервера ip-телефонии Asterisk на маршрутизаторе Mikrotik. Так как у меня дома установлен роутер именно этого проиводителя, не раздумывая, я решил поднять на нём веб-сервер nginx.
Пару недель назад я решил создать персональный сайт с несколькими страницами о себе, своих достижениях, целях и контактах. Разумеется, одним из этапов его создания стал вопрос выбора хостинга. Отдавать деньги за размещение сайта на чьём-то сервере мне не хотелось, да и оставлять свой домашний компьютер постоянно включенным тоже.
Поразмыслив, я вспомнил интересную статью о настройке сервера ip-телефонии Asterisk на маршрутизаторе Mikrotik. Так как у меня дома установлен роутер именно этого проиводителя, не раздумывая, я решил поднять на нём веб-сервер nginx.
+19
Быстрый голосовой набор на Asterisk
3 min
25KСтатей по использованию сервисов распознавания речи в asterisk от Google и Яндекса на Хабре уже есть несколько. Но всегда хочется сделать что-нибудь свое и как-нибудь по-своему.
Так вот, хотелось сделать быстрый голосовой вызов абонентов из адресной книжки. Когда в организации работаешь с несколькими десятками человек, каждый день иногда забываешь и путаешь внутренние номера абонентов (а кнопок быстрого набора на всех не хватает). Поэтому просто надо, чтобы нажал кнопочку, сказал «Зина из третьего мобильный» и тебе отвечает Зина из третьего на своем мобильном.
Короткое видео с демонстрацией работы:
Так вот, хотелось сделать быстрый голосовой вызов абонентов из адресной книжки. Когда в организации работаешь с несколькими десятками человек, каждый день иногда забываешь и путаешь внутренние номера абонентов (а кнопок быстрого набора на всех не хватает). Поэтому просто надо, чтобы нажал кнопочку, сказал «Зина из третьего мобильный» и тебе отвечает Зина из третьего на своем мобильном.
Короткое видео с демонстрацией работы:
+23
Шанс научиться у Яндекса тому, что он лучше всего умеет
5 min
32KМы открыли набор в новый Tolstoy Startup Camp. Это мастерская Яндекса, где мы помогаем запускать стартап. Она будет уже четвертой по счёту. Предыдущие три дали много не только его участникам, но и нам — мы поняли, как и что можно изменить в кемпе. В первых трех наборах мы были готовы работать с самыми разными проектами в сфере IT при условии, что нам нравилась идея, мы верили в команду или видели потенциал для развития бизнеса.
Сейчас мы решили, что пригласим в TSC только тех людей, которые уже создавали проекты, дизайн или программы — тех, кто умеет что-то делать руками. Опыт прошлых кемпов нам показал, что главное, чему может научить Яндекс — это делать технологические и околотехнологические продукты для массовой аудитории. Именно в этом мы обладаем большей экспертизой и умениями. Как только мы берёмся за что-то другое, снижается полезность и эффективность не только для нас, но и для стартапов.

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

Особенности Яндекса проявляются во всём: в разработке, в дизайне — где угодно. Чтобы все могли понять, чем ценен наш опыт и пригодится ли он именно вам, мы попросили двух человек из очень разных частей Яндекса рассказать, что, на их взгляд есть уникального в умениях Яндекса и что мы умеем делать лучше всего. Они оба работали с ребятами и читали лекции в предыдущих кемпах.
Один из них — Анатолий anatolix Орлов, который работает в Яндексе уже почти 10 лет. Первые два года в Яндексе он писал Маркет, а потом долго занимался производительностью поиска. Второй — Костя Горский, арт-директор Яндекс.Браузера. Он в Яндексе чуть больше четырех лет. Недавно его команда представила новую концепцию Браузера.
Читайте под катом не только их разные мнения, но и подробности о кемпе.
+26
Несколько интересных особенностей MySQL
8 min
63KВ не очень далеком прошлом мне пришлось покопаться немного в исходном коде MySQL, и разобраться в некоторых аспектах его работы. В ходе работы лопаткой, и эксперимeнтов, я наткнулся на несколько очень интересных особенностей, часть из которых просто забавна, а в случае некоторых бывает очень интересно понять, чем руководствовался программист, который принимал решение сделать именно так.
Начнем с такого интересного типа, как ENUM.
Итак, у нас есть таблица, в ней есть два столбца. У первого, a, тип ENUM, у второго, b, INT. В таблице три строки, у всех трех значение b равно 1. Интересно, чему равны минимальный и максимальный элементы в столбце a?
Кажется странным, было бы разумно, если бы самым маленьким был 'a', а самым большим — 'c'.
А что если выбрать минимум и максимум только среди тех строк, где b = 1? То есть, среди всех строк?
Вот так мы заставили MySQL поменять свое мнение о том, как сравнивать поля в ENUM, просто добавив предикат.
Разгадка такого поведения заключается в том, что в первом случае MySQL использует индекс, а во втором нет. Это, конечно, не объясняет, почему MySQL сравнивает ENUMы по разному для сортировки в индексе, и при обычном сравнении.
Второй пример проще и лаконичнее:
Когда я показал этот запрос своему коллеге, который занимается разработкой парсера SQL, его вопрос был не «почему этот запрос возвращает две строки», а «как надо написать SQL парсер так, чтобы такой запрос был валидным, без того, чтобы написать правило, специально разрешающее такой запрос».
Интересно, что далеко не любой SELECT в скобках сработает, в частности, UNION в скобках — это синтаксическая ошибка:
Еще несколько интересных примеров под катом
Начнем с такого интересного типа, как ENUM.
mysql> CREATE TABLE enums(a ENUM('c', 'a', 'b'), b INT, KEY(a));
Query OK, 0 rows affected (0.36 sec)
mysql> INSERT INTO enums VALUES('a', 1), ('b', 1), ('c', 1);
Query OK, 3 rows affected (0.05 sec)
Records: 3 Duplicates: 0 Warnings: 0
Итак, у нас есть таблица, в ней есть два столбца. У первого, a, тип ENUM, у второго, b, INT. В таблице три строки, у всех трех значение b равно 1. Интересно, чему равны минимальный и максимальный элементы в столбце a?
mysql> SELECT MIN(a), MAX(a) FROM enums;
+--------+--------+
| MIN(a) | MAX(a) |
+--------+--------+
| c | b |
+--------+--------+
1 row in set (0.00 sec)
Кажется странным, было бы разумно, если бы самым маленьким был 'a', а самым большим — 'c'.
А что если выбрать минимум и максимум только среди тех строк, где b = 1? То есть, среди всех строк?
mysql> SELECT MIN(a), MAX(a) FROM enums WHERE b = 1;
+--------+--------+
| MIN(a) | MAX(a) |
+--------+--------+
| a | c |
+--------+--------+
1 row in set (0.00 sec)
Вот так мы заставили MySQL поменять свое мнение о том, как сравнивать поля в ENUM, просто добавив предикат.
Разгадка такого поведения заключается в том, что в первом случае MySQL использует индекс, а во втором нет. Это, конечно, не объясняет, почему MySQL сравнивает ENUMы по разному для сортировки в индексе, и при обычном сравнении.
Второй пример проще и лаконичнее:
mysql> (SELECT * FROM moo LIMIT 1) LIMIT 2;
+------+
| a |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.00 sec)
Когда я показал этот запрос своему коллеге, который занимается разработкой парсера SQL, его вопрос был не «почему этот запрос возвращает две строки», а «как надо написать SQL парсер так, чтобы такой запрос был валидным, без того, чтобы написать правило, специально разрешающее такой запрос».
Интересно, что далеко не любой SELECT в скобках сработает, в частности, UNION в скобках — это синтаксическая ошибка:
mysql> (SELECT * FROM moo UNION ALL SELECT * FROM hru) LIMIT 2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION ALL SELECT * FROM hru) LIMIT 2' at line 1
Еще несколько интересных примеров под катом
+107
IPv6, miredo, dynamic DNS AAAA
3 min
24K
Захотелось странного — чтоб мои IPv6-enabled (miredo) хосты еще и динамически обновляемую DNS запись имели. Поизучав вопрос выяснил, что многие распространённые dyndns сервисы или не предоставляют возможность регистрации AAAA (IPv6 эквивалент записи типа A для IPv4), или не предоставляют её бесплатно, или имеют мутные настройки динамического обновления неизвестного уровня безопасности (или вовсе http/plaintext). Перепробовал с десяток сервисов и решил остановиться на freedns.afraid.org
Плюсы:
- Человеко-понятная админка (без всяких «купить AAAA за $0 USD»)
- Бесплатно дают AAAA
- Безопасное (https) обновление
- URL-based обновление (не приходится испытывать сомнений о конфиге для агентов типа ddclient)
+13
26 советов начинающим стартаперам от опытного предпринимателя
11 min
95KTutorial
*Эта статья впервые была опубликована в журнале Forbes от 27 Июня 2014 года. На Хабре публикуется её полная версия.
Вот уже 9 лет я занимаюсь интернет-бизнесом и за это время успел создать и вывести на прибыльность 5 собственных стартапов. Кроме того, один из основных моих бизнесов – это заказная веб-разработка, куда часто приходят клиенты, которые хотят разработать свой интернет-стартап и поэтому я все 9 лет каждый день сталкиваюсь с разными проектами, многие из которых являются стартапами в полном смысле этого слова.

+41
UniFi мой опыт использования
7 min
59K
Подсчитав бюджет нашего IT отдела я немного приуныл, не видать нам корпоративного WiFi-я, и засел за изучение других вариантов. Заяндексив в гугле: корпоративный wifi дешево, я засел за изучение. От всех уголков интернета мне предлагали купить себе чудо заморское под названием UniFi. Еще немного гугления в яндексе и я уже был готов благодарить богов за создателей компании Ubiquiti.
С чистой совестью я закрыл браузер и хлопнул еще одну кружку чая.
С того момента прошло несколько месяцев и вот настал тот светлый час, когда мне на телефон позвонили… Оторвавшись от своих мыслей я поднял трубку и услышал: твоя неведомая хрень приехала. Можешь… Дальше я уже не слышал, потому что бежал по лестнице на склад…
Далее я постараюсь без всякой лирики провести мини обзор.
Осторожно. Под катом много фоток.
+32
Сертификация VMware
13 min
41K Сертификация VMware ориентирована на технических специалистов, которые хотят показать профессиональные знания и опыт в области виртуализации – одной из самых перспективных областей ИТ на данный момент. Сертификацию компании VMware можно разделить на четыре направления:
Data Center Virtualization – самое старое направление (и до недавнего времени единственное), данная линейка является основной и касается продуктов vSphere.
Cloud – направление связанное с продуктами для построения частных, публичных и гибридных облаков, такими как продукты линейки VMwarevCloudSuite.
End User Computing – направление связанное с построением инфраструктур виртуальных столов (VDI), на основе продуктов линейки VMware Horizon View (раньше она называлась VMware View).
Network Virtualization – самое новое направление, связанное с виртуализацией сетевой инфраструктуры в ЦОД и продуктами линейки VMware NSX.
Data Center Virtualization – самое старое направление (и до недавнего времени единственное), данная линейка является основной и касается продуктов vSphere.
Cloud – направление связанное с продуктами для построения частных, публичных и гибридных облаков, такими как продукты линейки VMwarevCloudSuite.
End User Computing – направление связанное с построением инфраструктур виртуальных столов (VDI), на основе продуктов линейки VMware Horizon View (раньше она называлась VMware View).
Network Virtualization – самое новое направление, связанное с виртуализацией сетевой инфраструктуры в ЦОД и продуктами линейки VMware NSX.
+9
Поднимаем упрощенную провайдерскую сеть дома
23 min
71KTutorial

В статье рассматривается построение простейшей сети с несколькими провайдерами и клиентами, в частности, такие технологии, как NAT, OSPF, BGP, MPLS VPN. Многое, естественно, будет не учтено. Например в статье почти нет описания проблем безопасности, т.к. на эту тему можно говорить бесконечно, а текст и так получается довольно объемным. QoS тоже оставлен в стороне, т.к. в лабораторных условиях его особо не проверишь.
По поводу целевой аудитории. Совсем новичкам в сетях статья, боюсь, будет непонятна. Людям, обладающим знаниями хотя бы на уровне CCNP – неинтересна. Поэтому я примерно ориентируюсь на сертификацию CCNA R&S.
+39
Не беспокойтесь, мы за ними присмотрим. Интеграция Zabbix в личный кабинет клиента
4 min
14KTantum possumus quantum scimus
Пожалуй каждый согласится — мониторинг является одной из важнейших составляющих ИТ инфраструктуры.
Необходимо знать о состоянии твоих подопечных, ведь очень не хочется «внезапно» обнаружить рассыпавшийся RAID, забитый доверху корневой раздел или LA превышающую все пределы разумного.

Инструменты, для постоянного наблюдения за жизнедеятельностью оборудования, каждый выбирает сам.
Кому-то по душе Nagios, кто-то выберет Munin, а так же найдутся любители проприетарных или иных решений.
Мы же, создавая услугу мониторинга для своих клиентов, выбрали Zabbix.
Но мало просто подключить сервер к мониторингу, нужно организовать взаимосвязь с тикетной системой и личным кабинетом пользователя. Помимо информирования о наличии проблемы, автоматически создать заявку в службу технической поддержки, для скорейшего реагирования на инцедент, а так же дополнительно уведомить клиента по email.
Под хаброкатом расскажем как у нас это получилось.
+12
Information
- Rating
- Does not participate
- Location
- Новокузнецк, Кемеровская обл., Россия
- Date of birth
- Registered
- Activity