IT блог о интернете, сервисах, разработке, IP-телефонии, и других важных темах для менеджера и администратора интернет проектов.

Умная защита от атак MikroTik

В последние несколько лет всё чаще появляется информация об очередных хакерских атаках, направленных на сетевое оборудование различных производителей. И если оборудование класса Enterprise, такое как Cisco, Juniper, Extreme, HP и так далее, обычно обслуживается армией высококвалифицированных специалистов, которые постоянно проводят обновления и закрывают “дыры”, то с оборудованием класса SOHO (MikroTik, Netgear, TP-Link, Lynksys) дела, зачастую, обстоят совсем иначе. А ведь недостаточное внимание, уделяемое сетевому оборудованию, может нанести вред любому бизнесу.

В данной статье мы хотим рассказать о ещё одном крайне действенном способе защиты оборудования MikroTik, которое не потребует о вас больших усилий в настройке и будет само автоматически обновлять свою конфигурацию без вашего вмешательства.

Погружение в Iptables – теория и настройка

Начиная своё знакомство с iptables, следует рассказать про netfilter. Netfilter - это набор программных хуков внутри ядра Linux, которые позволяют модулям ядра регистрировать функции обратного вызова от стека сетевых протоколов.

Хук (hook) - это программный элемент, который позволяет перехватывать функции обратного вызова в чужих процессах.

Netfilter является основой для построения Firewall'а в дистрибутивах Linux, но для того, чтобы он заработал в полную силу его нужно настроить. Как раз с помощью iptables мы можем взаимодействовать с хуками Netfilter и создавать правила фильтрации, маршрутизации, изменения и транслирования пакетов. Иногда про Netfilter забывают и называют эту связку просто iptables.

Разбираемся с Jenkins. Что это?

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

Давайте по порядку

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

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

Как работать с регулярными выражениями

Чтобы начать наше знакомство с регулярными выражениями, давайте же познакомимся с ними поближе. Регулярные выражения являются шаблоном, каковой выполняет сравнение последовательности текста слева направо. Название "Регулярные выражения" используют довольно-таки не часто, чаще всего применяет regex либо regexp. В общем, регулярные выражения предназначены для изменения текста в строке, выполняет проверку некоторых форм, и так далее.

К примеру, у вас в разработке ведется некое приложение, и вам понадобилось выявить какие-то правила, по каковым юзер уже будет выбирать собственное наименование. Важным условием будет ограничение в количестве символах, а также чтобы имя состояло из букв, цифр, дефиса и нижнего подчеркивания. Для того, чтобы решить данную задачу, возможно использовать представленное ниже решение:

Syslog протокол - серверы, сообщения и безопасность

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

Большинство сетевых устройств, таких как маршрутизаторы и коммутаторы, могут отправлять сообщения системного журнала. Кроме того, серверы *nix также могут генерировать данные системного журнала, как и большинство брандмауэров, некоторые принтеры и даже веб-серверы, такие как Apache. Серверы на базе Windows изначально не поддерживают Syslog, но большое количество сторонних инструментов позволяет легко собирать данные журнала событий Windows или IIS и пересылать их на сервер Syslog.

Кто даст вам лучшее облачное хранилище?

В начале 80-ых годов XX века цена 1 гигабайта памяти стоило полмиллиона долларов! А сегодня самый бюджетный смартфон за 70-100 долларов имеет память равным минимум 8-ми гигабайтам.

Но в то время еще никто даже не предполагал, что в облаках в недалёком будущем можно будет хранить свои данные и не нужно будет везде тащить с собой дискеты, CD и DVD диски, флеш-карты и так далее и тому подобное.

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

10 команд Linux, которые убьют ваш сервер

Привет! Еcли ты только начал осваивать Linux, то просто обязан знать то, что я сейчас тебе расскажу.

В Linux есть целых 10 команд, которые ты никогда не должен вводить в командную строку или советовать кому-нибудь это сделать.

Это как непростительные заклятия, которые не должен произносить ни один волшебник.

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

Разбираемся с Docker: установка и использование

Сегодня речь в статье пойдет о Docker. Все, кто хоть как-то касаются сферы IT слышали про Docker, но не все знают, что же это такое. Итак, сегодня мы простыми словами расскажем о том, что такое Docker, чем это отличается от виртуализации, покажем подробный процесс инсталляции на CentOS 7 и установим просто графический интерфейс Portainer, для управления контейнерами. Также немного коснемся команд для использования Docker.

DIY кнопка вызова. Raspberry Pi, MajorDoMo, Freeswitch и Linphonec

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

Возможно с небольшими переделками, совмещение VoIP телефонии с системой домашней автоматизации. Как варианты использования – SIP дверной звонок, интерком, система голосовой связи (клиент-персонал, директор-секретарь) и т.д.

Получаем ssl-сертификат. Letsencrypt в массы

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

Впрочем, оно может и к лучшему. За этот год letsencrypt вышел из закрытой беты, починил большинство багов (в частности, теперь его сертификаты валидны в XP), а главное — стал выдавать сертификаты всем желающим. Поэтому самоподписанные сертификаты никому не нужны (по крайней мере, для https).
Но вообще мне тупо лень писать очередную бесполезную статью про openssl + свой СА, поэтому я лучше напишу про letsencrypt.

«Телепортируем» белый ip-адрес на другой сервер при помощи ipip-туннеля

Совсем недавно я писал как «перенести» ip-адрес одной машины на другую машину. Само собой, трафик в описанном ранее случае, проходит через исходный сервер (и изменить это, не имея возможности полностью управлять своими адресами — невозможно). Но, класс задач, которые решает описанное мной решение, достаточно широк, в любом случае.

    Описанное ранее решение с pptp — максимально простое и подходящее для 95% случаев (кроме тех случаев, когда провайдер блокирует pptp/gre туннели). Но у него есть большой минус — pptp протокол в целом медлительный, сильно зависящий от процессора. Главный плюс же плюс pptp в данном контексте — отсутствие необходимости уже иметь выделенный адрес там, куда нужно «принести» другой адрес.

    Одним из «альтернативных» способов в данном случае выступает ipip-туннель. В отличии от pptp, здесь нет шифрования на уровне виртуальной сети — отсюда меньшая нагрузка на процессор. Скорость ipip-туннеля, само собой, из-за этого будет выше. То есть это уже эдакий enterprise-ready костыль.

Запускаем графические приложения на сервере без иксов с удаленным доступом к ним по VNC

Иногда возникает необходимость запускать графические приложения на сервере. Поднимать иксы из-за этого глупо. Дырка, ресурсы, иксы будут работать медленно на всяких Cyrus на 8 мб. А может и иксы не получится поднять вообще (ну нет нужных устройств в /dev, что поделаешь). С OpenVZ такое часто бывает.
У нас остается вариант использовать ssh -X. Но проброс иксов (кстати, в этом случае не обязательно на сервере иметь запущенным X-сервер) может работать медленно и у нас не получится запустить приложение в фоне (если уж быть совсем занудой, то получится, но с матами и этому будет посвящен отдельный трактат). В общем для запуска браузера на быстром коннекте подойдет, но не более.

Собираем свой debian-пакет с файлами

Приветствую всех. Когда-то давно я писал мануал про сборку пакета. Описанный там способ страшноват, хоть и работает.
Сейчас у меня появилось время вернуться к этой теме и написать, как более или менее правильно собирать свои deb-пакеты — с подписями пакетов, своими репозиториями и всем подобным. Заодно я затрону тему того, что такое deb-пакеты изнутри и расскажу про механику использования dpkg/apt.

Первая статья, само собой — сборка своего deb-пакета из ничего. Такие пакеты будут очень полезны для того, чтобы деплоить свою конфигурацию — вы из коробки получаете контроль версий установленной конфигурации на машине. Штатными средствами системы можно будет быстро откатиться на старую версию пакета. Легче обновляться, легче деплоить на несколько машин. И так далее. Бла-бла-бла.
На одном из своих выступлений я рассказывал о том, что именно deb-пакетами деплоится конфигурация машин и самописный софт (в том числе и сервисы) в Яндексе. Конечно, не во всех отделах, но все стараются двигаться к этому.

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост

Есть у меня статейка про то, как NAT’ить отдельные порты на другую машину. Как-то я её написал и забыл. А на самом деле использую утилиту rinetd. Во-первых проще, во-вторых утилита — отдельный демон и работает шустрее iptables. Минус в однопоточности. DDoS в 100к pps такой штукой отмаршрутизировать ещё можно, но дальше начнутся проблемы. С другой стороны, там, где летает 100к пакетов в секунду и iptables будет задумчиво перекидывать пакеты (хоть и в несколько потоков).
Через rinetd нельзя пробросить FTP, не пытайтесь.

Тестируем 1С на VPS

Как вы уже знаете, мы запустили новую услугу VPS с предустановленной 1С. В прошлой статье вы задали много технических вопросов в комментариях, сделали несколько ценных замечаний. Оно и понятно — каждый из нас хочет иметь какие-то гарантии и расчёты на руках, чтобы принять решение об изменении IT-инфраструктуры компании. Мы прислушались к голосу Хабра и решили провести тестирование реального железа офисного хлама, который вполне возможно служит вашим сервером 1С и сравнить их с виртуальными серверами.

Cisco SPA IP Phone

Телефонные аппараты могут получать свои настройки, читая конфигурационные файлы. Для того, чтобы телефоны получали конфигурационные файлы автоматически при загрузке, DHCP сервер должен выдавать опцию 66 с указанием IP адреса TFTP сервера (DHCP опция 66 указывает на TFTP сервер в сети). Помимо этого, в настройках телефонов нужно указать протокол поиска конфигурационных файлов TFTP. Для этого нужно зайти в настройки телефонного аппарата Admin → Advanced → Provisioning и изменить параметр Transport protocol на tftp.

Знакомство с виртуальными интерфейсами Linux: туннели

Linux поддерживает множество видов туннелей. Это запутывает новичков, которым бывает сложно разобраться в различиях технологий, и понять то, каким туннелем лучше воспользоваться в конкретной ситуации. В материале, перевод которого мы сегодня публикуем, будет дан краткий обзор часто используемых туннельных интерфейсов ядра Linux. Сильно углубляться в эту тему мы не будем, рассмотрев лишь общие особенности туннелей и варианты их использования в Linux.

Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk

Учитывая, возросший интерес сообщества к Asterisk решил внести и свою лепту и рассказать о построении голосовых меню с использованием синтеза и распознавания речи.

Статья рассчитана на специалистов, имеющих опыт работы с построением IVR в Asterisk и имеющих представление о системах голосового самообслуживания.

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

Магия виртуализации: вводный курс в Proxmox VE

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

Zabbix + Pushbullet: простой способ push-оповещения

У нас на предприятии, основным способом оповещения о событиях системы мониторинга Zabbix является email-рассылка. Jabber не прижился ввиду малой распространенности, а СМС устарел (хоть и весьма универсален). Хотелось предложить ещё одну альтернативу, которой и стали push-уведомления.

Сервис Pushbullet уже успел сделать себе имя на платформе Android, а с недавних пор пытается покорить и iOS. Pushbullet умеет слать «пуши» на телефоны, принимать их в браузере (Chrome и Firefox) и из него же снова отправлять. В общем очень удобный и полезный сервис, который плюс ко всему имеет открытый API. Посредством этого API мы и будем отправлять события Zabbix на телефоны сотрудников.

Настройка BGP для обхода блокировок, версия 3, без VPS

После их публикации я получил несколько вопросов от людей, которые пользуются VPN с не принадлежащих им ресурсов (например, приобретающих коммерческую услугу VPN). Этим людям раньше я советовал завести VPS для развертывания BGP-сервиса или каким-то еще образом получить доступ к серверу на Linux.


Но с сегодняшнего дня для них (и для всех остальных) есть более удобный вариант — на бесплатном сервисе antifilter.download появилась возможность автоматически настраивать BGP-сессию с вашим маршрутизатором.

Настройка агрегации каналов(bonding) на Mikrotik

Bonding- объединение нескольких линков с целью увеличения пропускной способности канала, а так же с целью резервирования. Например, объединить 2 WAN порта по 100 Мбит/c в один bonding канал и получить скорость 200 Мбит/c.

Настройка bonding интерфейса

Подключаемся через winbox к маршрутизатору Mikrotik. Заходим в меню interfaces и открываем вкладку bonding. Нажимаем «+», добавить.

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.

Расширенные средства SIP телефонии

Про Asterisk, думается, слышал чуть ли не каждый админ — он встречается буквально на каждом шагу, будь то офисная АТС или нечто связанное с телекомом. Но если в первом случае его применение практически всегда оправданно, то во втором могут иметь место некоторые проблемы. Существуют ли альтернативы Asterisk?

Кластеризация opensips и скрытие топологии в операторской sip-сети

Наша сеть построена на opensips 1.8. Основная нагрузка на opensips приходится при обработке регистраций, в отличие от звонков, на которые приходится гораздо меньшая нагрузка. Поэтому, когда в нашей сети количество регистраций перешагнуло определенный порог, было принято решение о горизонтальном масштабировании opensips. Так родился проект opensips-кластера.

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

Yate — SIP-телефония дома или в офисе за 5 минут!

Все вокруг обсуждают Asterisk и его форки, для крупных компаний предлагают использовать Cisco или Avaya, но почему-то практически нигде нет информации о Yate — простом и удобном, но, в то же время, очень функциональном решении для IP-телефонии.

В этой статье я хотел бы кратко рассказать о сборке Yate под Linux, а также его первоначальной настройке для работы с SIP.

Yate написан на C++, позволяет использовать модули и расширения, может быть установлен практически на любую операционную систему, под

Домашний сервер: прокси для SIP

Проблема в том, что телефон отдает свой локальный ип (192.168.0.6) sip серверу, и соответственно дозвонится мне уже не возможно. Проброска портов здесь тоже не поможет.
Первое что пришло в голову — завести Asterisk PBX (программная АТС), но данное решение кажется избыточным для дома с одним телефоном, одним SIP провайдером и без FXO интерфейса. Совершенно случайно нашел небольшую утилиту реализующую как раз-то, что нужно: siproxd.

Ubuntu Server. Настраиваем роутер NAT + DHCP + Squid3

Более четырех лет назад мы опубликовали материал посвященный настройке роутера на базе Ubuntu Server. Тема оказалась весьма востребованной и популярной, но за прошедшее время некоторые настройки успели измениться, пусть и незначительно. В связи с этим мы решили вернуться к этой теме и опубликовать современную версию популярной статьи.

Программная маршрутизация с VyOS

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

С целью оптимизации расходов многие организации прибегают сегодня к практике ИТ-аутсорсинга: вместо того, чтобы приобретать оборудование, компания арендует его в стороннем дата-центре, а для его обслуживания привлекает сторонних специалистов.
Чтобы эта практика была выгодной с организационной и с финансовой точки зрения, нужно тщательно продумать техническую сторону вопроса.

Настройка Asterisk CDR и Asterisk CDR Viewer

CDR (Call Data Record), позволяет в MySQL базе данных вести статистику активности звонков.

На тесте настрою Asterisk CDR и Asterisk CDR Viewer в Ubuntu Server.
Предположим что Asterisk уже установлен.

Сначала установим необходимые компоненты:

Сейчас на сайте

Сейчас на сайте 0 пользователей и 2 гостя.
Ленты новостей