Рубрика: Сети

Как заблокировать vk ok mail.ru и прочеё Украина

Здравствуйте !

Давно я не писал ничего ) уж так сложилось, указом президента заблокировать доступ к перечню запрещенных ресурсов vk.com ok.ru mail.ru kaspersky.ru drweb.ru и другим ресурсам РФ.

А точнеё я опишу как это дело максимально быстро и просто можно запустить, что нам понадобится :

  1. Давайте определим что полностью на 100% заблокировать ресурсы мы не сможем  «доступными» методами во всяком случае.
  2. Мы можем принять полумеры на обычном оборудовании серверах или роутерах(маршрутизаторах).
  3. Какие технологии мы будем использовать ? null routing,route forwarding,PBR,DNS,proxy.
  4. Нюансы в реализации каждого из вариантов будут описаны ниже.
  5. Как заблокировать полностью ? тут нужно железо с фильтрацией на уровне Layer7 DPI разобрать трафик залезть в пакет это не всё так просто как кажется руководству страны, но это реализуемо и возможно, вопрос лишь в одном кому это по карману ?! не Украинским провайдерам так точно.. Да можно запустить такую фильтрацию на серверах но предствьте себе сколько у такого сервера должно быть процессоров оперативной памяти, сколько должно быть сетевых карт и какой производительности что бы пропустить через себя хотя бы трафик на 80 порт, у кого трафика до гигабита подойдет и этот вариант но что делать если трафика сильно больше чём десятки гигабит ?! тут только железное апаратное решение которое обычным провайдерам не то что не по карману, а даже не светит им в перспективе… так как жесткий демпинг и конкуренция на рынке предоставления услуг интернета в реалиях Украины это что то … чего стоит сгородить пакет с доступом в интернет при средней стоимости для пользователя 80 копеек 1 мегабит при средней закупочной цене в минимум 8 гривен теперь давайте поймем что стоимость интернета сильно занижена ибо при стоимости 100 мегабит за 80 гривен это 80 копеек мегабит, а должно быть примерно так 100 мегабит за 800 гривен вот это реальная цена но наши пользователи не готовы её платить. Например SCE от Cisco обойдется в минимум от 500 usd на 1 гигабит трафика до 15000 usd на 10 гигабит трафика.

Так же есть и другие решения такие как ipoque у них есть своя платформа способная промолотить до 9 гигабит\с на 1 ядро их железяки но стоимость я думаю не будет дешевой.

Если же блокировать на linux или freebsd то производительность платформы падает примерно в 8 раз то есть если так сервер пропускает гигабит трафика то при этих условиях он пропустит от силы 200 мегабит трафика производительность не большая то есть при сервере способном промолотить 10 гигабит чистой производительности получим в районе 2 гигабит, а это очень плохо так как затраты растут а доходы как было описано выше падают за счет демпинга на рынке.

1)Тут есть вариант безотказный но не у всех есть право так делать это блокировка всех DNS серверов кроме своих по 53 порту  тип трафика udp ! то есть создаем правило либо acl с блокировкой всего на 53й порт кроме своих DNS серверов и запускаем блокировку посредством DNS, да это будет работать и довольно здорово но это ограничение можно обойти описывать как я не буду.

Плюсы : удобно просто, реализуемо

Минусы: Не красиво так делать особенно с плохо работающими DNS серверами от провайдера.

2) Null routing не красиво ибо без редиректа то есть у пользователя то и ресурс не откроется но и ничего в замен будет выглядеть как не работающий интернет.

Плюсы: простота.

Минусы: без DNS блокирования пользователи не поймут что ресурс заблокировано по указу,

Нужно отслеживать изменения ип адресов и автоматизировать данный процес.

3) route forwarding тут можно сделать красиво и форвардить трафик на свой вебсервер где показывать пользователям что ресурс блокирован, но и этот метод не идеален.

Плюсы: простота вроде как все работает.

Минусы: не работающий SSL HTTPS страницы не откроются.

Нужно отслеживать изменения ип адресов и автоматизировать данный процес.

4) Proxy универсальный вариант но лишь при «прозрачном проксировании» то есть пользователь даже не догадывается что ходит через прокси сервер но, сколько нужно этих самых прокси серверов на гору трафика ?!

Плюсы : поддерживается маршрутизаторами Cisco 15 летней давности.

Минусы: нужно много серверов для среднего ISP.

5) Если совместить всё вместе то получится довольно надежная система и она позволит даже больше чём просто так заблокировать сайты, а ещё и что то другое делать, описывать не буду 😉

  1. А что касается DPI то тут все сложно и обычным провайдерам ловить нечего так как вычислительные мощностя нужны просто космические для глубокого анализа трафика, да это можно сделать каким то сервером но трафика оно прожует мало, а для большого трафика нужно много затрат, да и пильть всю реализацию что опять таки не так просто…
  2. Или использовать SCE или ipoque или создавать свою платформу что много лет\много денег.

ЧаВо :

Как быстро получать список адресов по автономным системам используем всеми любимый bgpq для блокировки :

  1. для cisco :

bgpq -q -F «ip route %r %m Null0 1\n» AS12345 AS4321

где %r сеть где %m маска подсети где Null0 куда заворачиваем маршрут где 1 административная дистанция данного маршрута чем ниже тем приоритетние.

для фаревола PF :

bgpq -q -F «pfctl -t blocked -T add %r/%l\n» AS12345 AS4321

где :%r сеть где %l длинна префикса

так можно сделать для любого устройства такой вывод который нужен именно вам.

Версия в процессе редактирования.

Netflow freebsd клиент + сервер

Здравствуйте дорогие товарищи !

Хочу затронуть столь интересную тему как сбор статистики netflow на сервере freebsd
тут нам на помощь приходит netgraph и модули ng_netflow ng_tee ng_ether ng_ksocket
они должны быть загружены для правильной работы
итак настройка клиента :

kldload ng_ether
kldload ng_tee
kldload ng_netflow
kldload ng_ksocket

ngctl mkpeer em2: tee lower right
ngctl connect em2: em2:lower upper left
ngctl mkpeer em2:lower netflow right2left iface0
ngctl name em2:lower.right2left netflow
ngctl msg netflow: setifindex { iface=0 index=1 }
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl msg netflow:export connect inet/192.168.1.1:5559
Наш клиент готов к работе
192.168.1.1:5559 ип и порт коллектора ( сервера ) сбора статистики.

Это все можно впихнуть в какой то скрипт
поместить в папку /usr/local/etc/rc.d/ для автозапуска.

Проверяем все ли хорошо :
flowctl netflow show

если видим пустоту где то что то прохлопали

если видим ип адреса src dst и порты то всё ок !

Теперь настройка сервера коллектора :

flow-capture -w /mon/flows/ 192.168.1.1/192.168.1.2/5559

Где 192.168.1.1 ип коллектора
Где 192.168.1.2 ип клиента

Все 😉
на счёт сервера скажу больше можно все сделать через rc.conf 😉 так и сделайте в качестве домашнего задания 😉

Всегда ваш Taras Kramarets aka ~NiX~

mpls freebsd собраная информация ng-mpls часть 1

Доброго времени суток !

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

скажу такую вещь что нашел рабочий ldpd для FreeBSD и кусок модуля mpls-ng сейчас я с ними разбираюсь и тестирую о чем будет речь позже в другой статье 😉 тут только скажу где нашел и как это вместе слепить …

Внимание все это не есть продакшн версия по словам разработчика потому радоватся пока рано )

Тут качаем сам ng-mpls

https://github.com/antonrogov/ng_mpls/archive/master.zip

он нужен для компиляции ldpd без которого ничего не будет …

теперь качаем сам ldpd

https://github.com/antonrogov/freebsd-ldpd/archive/master.zip

теперь нужно их распаковать но в следующем порядке ng_mpls должен лежать выше директории с freebsd-ldpd если все так тогда заходим в каталог и даем команду  make all жмем enter получаем ldpd бинарник на выходе запускаемо его 😉

и смотрим sockstat -rn | grep ldpd видим что слушает порт 646 то есть все окей дальше опишу как это использовать так как программист данного дива так и не выложил скриптов для запуска mpls хотя бы в тестовом режиме.

Ждите Часть 2 😉

Всегда ваш Taras Kramarets aka ~NiX~

локальная сеть способы подключения для дома или квартиры

Здравствуйте !

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

 

Способ №1) Wifi — кажется самым удобным тем более в наше время где каждый гаджет имеет поддержку wifi без wifi роутера локальная сеть не обходится.

Варианты :

А) Если у вас квартира не большая по квадратуре то вам хватит 1го приличного Wifi роутера желательно от Linksys или Cisco так как заявленые параметры + — соответствуют действительности настроили и забыли.

Б) Что делать если у вас свой дом квадратов эдак на 200 тут не обойтись 1 wifi роутером это раз два просто без проводов данная сеть и несколько wifi точек будут иметь общую скорость линка по которой будет бегать и служебная информация тем самым доступная полоса пропускания будет меньше в итоге не факт что вы будете довольны это можно решить прокладкой локальной сети другими способами в часности UTP линк но что делать если такой возможности нету дом уже кабелирован и возможности прокладки UTP нету, а долбить ремонт вам неохота об этих способах станет понятно когда будем разбирать способы построения локальной сети без прокладки проводов и wifi.

Плюсы Wifi : скорость построения сети, гибкость, удобность, приличная скорость с использованием стандарта N или AC.

Минусы Wifi: плохой сигнал через толстые стены с арматурой, микроволновки убивают 2,4 G почти напрочь создают помехи, не до конца понятно влияние волн на человека… впринципе то же что и с мобильными телефонами.

Способ №2) Ethernet — это самый любимый всеми вариант.

Варианты:

А) Если у вас есть возможность проложить кабель лучше возьмите этот вариант, да он более дорого обойдется но в перспективе окупится с лихвой.

Б) Если же у вас нету возможности передать интернет проводами читайте дальше.

Минусы: больше затрат в начале,прокладывание кабеля расстояние от свича или роутера до конечного клиента до 150 метров при 100Мбит\с скорости при гигабите и того меньше нужны репитеры это в случае с медью оптика лишена этого недостатка но опять таки дороже в разы.

Плюсы: легкое увеличение скоростей с 10 до 100 или 1000 Мегабит в перспективе 10 гигабит, в случае с оптикой уже до 100Гбит\с  не вредит здоровью, в большинстве случаев помех не будет кроме мощных силовых кабелей.

Способ №3) Powerline — он же решала почему да потому что он лишен недостатков которые есть у Wifi и UTP.

В чём его прелесть например у вас большой дом или квартира не важно до 300м он может построить локальную сеть при чём на столько просто что капец воткнули кабель  UTP в адаптер, адаптер в розетку перешли в другую комнату сделали тоже самое после нажали Pair сначало на 1м потом на 2м в итоге имеем локальную сеть на скоростях от 200Мегабит\с до 500 Мегабит\с в идеальных условиях.

Плюсы: очевидны прокладывать кабеля не нужно используется проводка, а учитывая что его можно скрестить с Wifi используя адаптер с вмонтированной wifi точкой в итоге можно покрыть весь дом не протягивая проводов с хорошей скоростью, не вредит здоровью если без wifi 1000%.

Минусы :  не сильно любит наводки, но новые модели успешно с ними справляются.

Стоимость, в любом случае нужен роутер куда включать все остальное может быть обычный без wifi но с RJ45 портами желательно гигабитными так как 500Мегабит обещаных увидите только на 1 гигабитной скорости порта.

И ещё стоить отметить что тут так же скорость в 500 мегабит поделится на всех участников сети.

Конечно есть модели Powerline с wifi  и несколькими портами для подключения к провайдеру в том числе но стоимость довольно приличная.

Ещё можно вместо обычной электро проводки использовать телефонный кабель на счёт скоростей не подскажу так как пока такие адаптеры не попадались.

Для всех 3х вариантов не важно какое интернет подключение вы используете важно лишь одно что если у вас провайдер ADSL то вам нужно учитывать данное обстоятельство и не путать его с обычным Ethernet и наоборот так как для ADSL порт RJ11 для Ethernet RJ45 или в случае с оптикой SFP или для GPON отдельный модем он же может быть и роутером если вы такой приобрели.

freebsd tayga IPv6 only to IPv4 hosts

Здравствуйте товарищи !

давненько я ничего не писал … по причине отсутствия времени.

Ну ничего догоним 😉

Так начнем же с того о чём хочется сказать люди не используют IPv6 бо боятся потерять доступность остальных ресурсов по IPv4 что же тут такого почему не так все просто, а суть в том что во первых нужно заставить все домены резолвится по IPv6 а это может сделать только DNS64 такая возможность есть, но тут же возникает другая проблема нужен nat64 и такое есть имя ему tayga настроить довольно просто конечно без пинка и магического пендаля не зводится но я опишу всю полностью процедуру и все станет понятно оно вполне себе работает сейчас к стати через такое соединение пишу статью и ползаю просторами интернета … )

 

Дано FreeBSD 9.3-RELEASE FreeBSD 9.3-RELEASE #0

настроенный IPv6. c  выделенным префиксом 2001:67c:27b2::/48

это глобальный адрес у вас должен быть свой !!! возможно полученый через брокеров типа he.net или netassist.

Задача заставить юзера с IPv6 only увидеть IPv4 интернет.

нам нужно установить сам tayga для этого используем данную команду :

cd /usr/ports/net/tayga/ && make && make install

после нам нужно создать конфиг файл в директории /usr/local/etc/ файл tayga.conf  такого  содержания :

tun-device nat64

ipv4-addr 192.168.255.1

ipv6-addr 2001:67c:27b2:1::2

prefix 2001:67c:27b2:2:ffff::/96

dynamic-pool 192.168.255.0/24

data-dir /var/db/tayga

Стоить отметить что tayga натит один IPv6 в один IPv4 !!! то есть в данной схеме возможно лишь 254 клиента …

Переходим к настройке bind :

cat /etc/namedb/named.conf :

options {

listen-on-v6 { any; };

dns64 2001:67c:27b2:2:ffff::/96
{
clients { 2001:67c:27b2::/48; };
};
allow-recursion { 2001:67c:27b2::/48; };
recursion yes;

}

На этом настройка IPv6 закончена для Bind

стартуем его /etc/rc.d/named restart

 

теперь что касается ipv4 nat то он у меня построен на pf соответственно  переходим редактировать /etc/pf.conf :

nat on bce0 inet from {  192.168.255.0/24 } to any -> 1.1.1.1

где 192.168.255.0/24 подсеть для ната, а 1.1.1.1 наш внешний ип адрес.

после сохранения конфигурации применим её: pfctl -f /etc/pf.conf

теперь нужно включить роутинг для IPv6 и IPv4 если этого до сих пор не сделано :

sysctl net.inet.ip.forwarding=1

sysctl net.inet6.ip6.forwarding=1

теперь переходим к запуску самого tayga :

/usr/local/sbin/tayga -c /usr/local/etc/tayga.conf -d

ifconfig nat64 up

route add 192.168.255.1/32  -interface nat64

rotue add 192.168.255.0/24  -interface nat64

route -n add -inet6 2001:67c:27b2:2:ffff::/96 -interface nat64

всё осталось заставить клиентов получать DNS с ип адресом сервера IPv6 !

и проверить пинги выглядит это так :

Те кто говорят что пинги не должны ходить глубоко ошибаются и никогда данного не настраивали !

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

IPv4 over IPv6

Вообщем админ должен разобраться в том что написано а юзеру это не дано ))

Для особо не верующих у домена ua.fm нету IPv6 адреса вот тому доказательство :

ua.fm_without_ipv6

 

на этом все всегда ваш Taras Kramarets aka ~NiX~