Search
Write a publication
Pull to refresh
55
0
Andrey Sorokin @shadowalone

Пользователь

Send message

Раскрываем возможности map в nginx

Reading time6 min
Views142K
map — мощная директива, которая может сделать ваши конфиги простыми и понятными.
Возможно, это самая недооцененная директива, из за того, что не все знают всех её возможностей.
Она в компактной форме помогает обрабатывать переменные, GET параметры, заголовки, куки и наборы бекендов (upstream).
Попробую раскрыть её возможности хабрапользователям.
Раскрыть возможности map

Бесплатный аналог AnyConnect VPN Server

Reading time3 min
Views44K

В прошлой своей заметке я описывал Softether VPN Server и как его установить из исходников. За прошедшее время я очень сильно разочаровался в данном сервере так как за все время мне не удалось заставить его работать с нормальной скоростью. Я писал на форум разработчиков, но так и не получил внятного ответа в чем же дело Ну делать нечего придется выбрать другое решение.
Читать дальше →

Шпаргалка по пробросу IP во внутреннюю сеть без моста и iptables в 4 команды

Reading time4 min
Views112K
В статье будет рассмотрена маршрутизация внешнего IP-адреса внутрь локальной без пробрасывания ethernet-шлюза и переписывания адресов в iptables. В итоге на сетевой карте внутреннего сервера будет один правильный внешний IP-адрес, внутренние IP-адреса будут отсутствовать.
Читать дальше →

Роутинг и policy-routing в Linux при помощи iproute2

Reading time6 min
Views283K
Речь в статье пойдет о роутинге сетевых пакетов в Linux. А конкретно – о типе роутинга под названием policy-routing (роутинг на основании политик). Этот тип роутинга позволяет маршрутизировать пакеты на основании ряда достаточно гибких правил, в отличие от классического механизма маршрутизации destination-routing (роутинг на основании адреса назначения). Policy-routing применяется в случае наличия нескольких сетевых интерфейсов и необходимости отправлять определенные пакеты на определенный интерфейс, причем пакеты определяются не по адресу назначения или не только по адресу назначения. Например, policy-routing может использоваться для: балансировки трафика между несколькими внешними каналами (аплинками), обеспечения доступа к серверу в случае нескольких аплинков, при необходимости отправлять пакеты с разных внутренних адресов через разные внешние интерфейсы, даже для отправки пакетов на разные TCP-порты через разные интерфейсы и т.д.
Для управления сетевыми интерфейсами, маршрутизацией и шейпированием в Linux служит пакет утилит iproute2.
Читать дальше →

FDroid как замена Google Play. Возможно ли и чем придётся жертвовать?

Reading time2 min
Views41K
FDroid logo

Здравствуй, Хабр!


Навеяно постом «Темная сторона Google Play».
Т.к. Android базируется на ядре Linux, то странно было бы отказываться от идеологии Linux, в частности от множества репозиториев. Но что меня удивило, так что об альтернативе Google Play знают не все, даже связанные с IT, люди.

Где-то полгода назад я принципиально отказался от услуг Google в пользу FDroid на одном из планшетов. И о результатах текущего эксперимента поведаю сообществу. О причинах, о плюсах, минусах под катом.
Читать дальше →

Простейшее голосовое меню на Cisco VoiceXML

Reading time5 min
Views23K
Неподготовленному человеку, который захочет написать самое простецкое голосовое меню с использованием языка VoiceXML на голосовом шлюзе от компании Cisco, предстоит наступить на множество граблей. Некоторые из них я отмечу в этой статье. Вполне возможно, что какой-нибудь Cisco-специалист фыркнет и скажет, что это всё элементарщина, но тем не менее, когда передо мной встала эта задача, я не знал с чего начать. Google не давал сколько-нибудь толковых примеров готовых IVR. Единственной более-менее хорошей исходной точкой послужила эта статья. Мой хабравопрос также не дал особых результатов. Но отбросим лирику и перейдем к делу. Предположим, что у нас есть голосовой шлюз Cisco, поддерживающий выполнение скриптов на языке VoiceXML (например, Cisco 3925). Будем разрабатывать голосовое меню, показанное на картинке. В рабочие часы будет воспроизводиться приветствие и звонок будет переводиться на заданный внутренний номер, в нерабочее и выходные — специальное объявление, что, мол, звоните по будням.

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

Несколько DNS-серверов: зачем это хостеру и как это реализовано в Parallels Plesk Panel

Reading time5 min
Views21K

Предыстория


Озадачившись получением фидбэка и более точной приоритезацией задач, разработчики Plesk завели аккаунт на UserVoice — http://plesk.uservoice.com. Тем самым организовали место, где клиенты могут предлагать свои нововведения, писать, что именно им не нравится, голосовать за нужные им функции (те, что набирают большинство голосов, попадают в разработку). Один из популярных запросов, которые мы получили от наших пользователей – это «Automate slave DNS support». Это довольно старый запрос на функциональность, которую хотят почти все администраторы Plesk-серверов. Чтобы раз и навсегда закрыть этот вопрос, мы решили сделать соответствующее Plesk-расширение. Какие причины были сделать это именно так? Что именно мы сделали?
Подробности под катом

DNS Amplification (DNS усиление)

Reading time6 min
Views95K
Не так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.
image

Начало



Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:

10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
Читать дальше →

Блокировка нежелательного DNS трафика

Reading time5 min
Views40K


У Вас может быть идеально настроено конечное сетевое оборудование, полный порядок в кластерах, могут быть пустыми магистрали и не нагруженное оборудование ядра сети, но если у Вас плохо работает DNS, то Ваши клиенты будут недовольны.

Отсюда следует простой вывод — Ваши рекурсивные DNS сервера должны быть всегда доступны и в состоянии обслужить запросы клиента.

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

Amazon добавили новые типы инстансов — t2.micro, t2.small, t2.medium

Reading time3 min
Views19K
Новые инстансы дешевле старых и вводят понятие CPU Credit-ов.

CPU Credit — это внутренняя накапливающаяся монета, которая равна 1 минуте при 100% нагрузке.
Кредит накапливается со скоростью зависимой от типа сервера. Так же, от типа сервера зависит до куда просядет его максимальная CPU нагрузка при отсутствии кредитов — baseline. Минимальный максимум. Минимальный, так как при отсутствии кредитов максимальная нагрузка проседает не мгновенно, а постепенно в течении 15 минут, чтобы была возможность компенсировать нехватку ресурсов в случае необходимости.
Хранится кредит до 24 часов.

Тип инстанса Кредитов в час Baseline Цена за час Цена за месяц
t2.micro 6 10% $0.013 $9.50
t2.small 12 20% $0.026 $19
t2.medium 24 40% $0.052 $38


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

Настройка роутера Mikrotik для различных задач в SOHO

Reading time9 min
Views369K
Данная статья является калькой с написанной мной собственноручно внутренней инструкции, по которой мы настраиваем новые маршрутизаторы в фирме. Пункты будут расположены в более-менее хронологическом порядке, но каждый из них является самостоятельной мини-инструкцией к одному из используемых в нашей компании сервисов.
Читать дальше →

Проекционный экран своими руками

Reading time3 min
Views71K
Многочисленное участие в различных выставках натолкнуло меня на мысль о том, что необходимо придумать способ постоянного привлечения посетителей на выставочный стенд каким-то необычным образом. Некоторое количество мозговых напряжений и поход в любимый хозмаг подсказали интересную идею. В результате делаем необычный проекционный экран.
Как это сделать?

Установка облачной системы Eucalyptus 4.0

Reading time2 min
Views4K
Я хочу рассказать об опыте установки Eucalyptus 4.0. Это последняя версия AWS совместимой облачной системы от компании Eucalyptus. Вместе с большим количеством изменений и улучшений компания поменяла подход к демо-инсталляции. От ISO решено было перейти к инсталляции с использованием Chef рецептов. Это позволило свести систему инсталляции готового для тестирования и расширения решения к одной командной строке.
Читать дальше →

Введение в PostgreSQL BDR

Reading time7 min
Views38K

Введение в PostgreSQL BDR


image
PostgreSQL это не только стабильная и надежная СУБД но и плюс ко всем это динамично развивающийся продукт, в котором от релиза к релизу появляются самые разные прорывные вещи. В свое время одной из таких технологий была потоковая репликация. Это высокопроизводительная репликация которая позволяет очень легко и дешево масштабировать базу данных на чтение. Используя ее можно создавать надежные конфигурации распределяя нагрузку на чтение между узлами. Однако как я написал выше, продукт развивается, и сегодня в статье речь пойдет о новой технологии BDR (Bi-Directional Replication).
Читать дальше →

Google Web Starter Kit: конструктор мобильных сайтов

Reading time1 min
Views51K


Google Web Starter Kit — конструктор и шаблоны для быстрой разработки отзывчивых мобильных сайтов, которые хорошо работают на любой платформе и почти в любом браузере (кроме самых старых). Такие сайты везде выглядят, как нативные приложения.

Основные особенности:
  • HTML-шаблоны, оптимизированные для мобильного применения;
  • отзывчивый макет для разных мобильных устройств
  • руководство по стилю визуальных компонентов;
  • поддержка Guilp.js (по умолчанию), Node.js, Ruby и Sass.
Читать дальше →

Уведомление при перехвате вызова в Asterisk

Reading time4 min
Views12K

Не большая предыстория


На работе периодически приходится перехватывать вызовы, что в принципе не беда. Но бывает, что необходимо потом перезвонить тому, кто звонил.
Номер соответственно у меня не высветился и обычно приходится лезть в cdr'ки в mysql или подойти к телефону напарника и искать номер телефона.
Можно в принципе попросить напарника включать переадресацию на телефонном аппарате, но уходит он на пару минут, да и мы не ищем легких путей.

Итак, что мы имеем: офисная АТС на Asterisk (версия = 1.8.15.1), реализована функция перехвата вызова и уведомлений о звонке через jabber.

Информации по поводу настройки перехвата вызова, отправки уведомлений c помощью jabber достаточно в просторах интернета, так что сразу опишу о реализации получения уведомления при перехвате вызова.
Читать дальше →

Как IPv6 помогает роутеры ломать

Reading time5 min
Views129K
image

Предисловие


Проснулся я сегодня с мыслью, что огромное количество инструкций по настройке NAT советуют использовать строку вида:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Многие понимают проблемы этой конструкции, и советуют добавлять:
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Но, зачастую, забывают задать таблице FORWARD действие DROP по умолчанию, или добавить правило REJECT в конец таблицы.
На первый взгляд, вроде бы, все кажется нормальным. Однако, это далеко не так. Дело в том, что если не запретить маршрутизировать трафик из WAN-порта в WAN-порт, кто-нибудь из вашей WAN-сети (предположим, что провайдер садит весь подъезд в одну /24) может маршрутизировать трафик через вас, просто прописав ваш IP в качестве шлюза. Все современные SOHO роутеры это учитывают, а вот неопытный администратор, который делает роутер под обычным linux, может не знать или забыть об этом. В подсети моего провайдера таких роутеров не оказалось, и мой план по захвату мира провалился. Однако, статья совсем не об этом.

Магические двоеточия


Как вы, может быть, знаете, многие современные программы и сервисы биндятся на IP :: (два двоеточия), а не на 0.0.0.0, как было раньше. IPv6 адрес :: значит то же самое, что и IPv4 0.0.0.0, т.е. «слушаем все интерфейсы». Многие считают, что если программа слушает ::, то этот сокет может принимать только IPv6-соединения, однако это далеко не так.
В IPv6 есть так называемое отображение IPv4-адресов в IPv6 диапазон. Если программа слушает сокет ::, а к ней обращаются из IPv4-адреса 1.2.3.4, то программа получит соединение с адреса ::ffff:1.2.3.4. Этого можно избежать, сделав:
sysctl -w net.ipv6.bindv6only=1

Но это нужно далеко не всегда, т.к. обычно удобно, что программа слушает один сокет, а получать соединения может по двум протоколам сразу. Практически во всех дистрибутивах, IPv6-сокеты ведут себя именно так, т.е. bindv6only=0.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity