Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
102 - Telegram Web
Telegram Web
Запустили еще один «Операторский кэш» OkkoCDN с коллегами из beeline в самом древнем городе России (где у нас есть точки присутствия) - в Ярославле.

Ярославль расположен на реке Волге, включен в знаменитый туристический маршрут "Золотое кольцо России», а в 2010 году ему исполнилось 1000 лет!

Как здесь поделились коллеги, через ЦОД в Ярославле проходит трафик мобильных сетей, поэтому для абонентов Билайн, кто смотрит Okko сервер будет стоять максимально близко.

Эффективность таких нод можно оценить по соотношению входящего трафика к исходящему.

Исходящий - это трафик от сервера к пользователям.
Входящий - это подкачка в кэш, т.е. трафик от наших центральных нод к «Операторскому кэшу». Подгружается контент, который смотрят пользователи.

В среднем данный показатель для операторских нод равен примерно 1/18-20, т.е. на 18-20Gbps исходящего трафика будет 1Gbps входящего.
🔥1053👏1
Немного про таксофоны

Попался один в д. Новые Ельцы Тверской области.

В России по состоянию на ноябрь 2020 года работало 148 тысяч таксофонов, 80% из них были в поселках, деревнях и селах с населением менее 500 человек. В 2021 году планировали большую их часть убрать, сейчас их вероятно меньше, актуальные данные не нашел, но утверждается, что действующие отражены на Яндекс картах.

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

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

Решил это проверить, набрал свой номер, входящий вызов прошел, номер определился с кодом (482) - Тверь.
Итого, действительно работает и действительно бесплатно.

Потом заметил кнопку «Переход в частотный режим» и вспомнил про телефонию.
Частотный режим - это про DTMF (Dual Tone Multi-Frequency) или же просто тоновый набор, именно его вы используете когда звоните куда-нибудь, а вам говорят «Если знаете номер абонента, наберите …» или «Нажмите 9 чтобы прослушать это снова».

Принцип работы:
🟣Каждая клавиша на телефонной клавиатуре (цифры от 0 до 9, а также символы * и #) соответствует уникальной комбинации двух частот.
🟣При нажатии клавиши генерируются два тона: один из низкочастотной группы и один из высокочастотной группы.
🟣DTMF использует 8 различных частот:

1209 Hz 1336 Hz 1477 Hz 1633 Hz
----------------------------------------
697 Hz | 1 | 2 | 3 | A |
----------------------------------------
770 Hz | 4 | 5 | 6 | B |
----------------------------------------
852 Hz | 7 | 8 | 9 | C |
----------------------------------------
941 Hz | * | 0 | # | D |
----------------------------------------


Итого, когда вы нажимаете кнопку с нужной цифрой на клавиатуре, то тем самым отправляете сигнал определенной тональности, при чем каждому символу на клавиатуре соотвествует свой сигнал или «мелодия». Здесь их можно послушать.

Тут можно почитать про историю и устройство таксофонов, а также две версии, почему вход/выход из Матрицы был именно через таксофоны.

P.S. Телефонией я занимался совсем немного и довольно давно, поэтому если есть телефонисты, то добавляйте что упустил.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥5👏2😁1🤔1🕊1
В продолжении поста про поддержку ipv6 в онлайн-кинотеатрах РФ проверил как обстоят дела за пределами РФ. Как видно, даже «там» IPv6 запустили не везде.

Если порассуждать на тему, что может тормозить переход, используя наш опыт в качестве примера:

1️⃣ IPv6 — это не эволюция, а скорее революция. У него нет обратной совместимости с IPv4, что означает необходимость внедрения dual stack и сосуществования обоих протоколов до завершения перехода. А это может занять довольно много времени.

2️⃣ Параллельный запуск IPv6 создает дополнительные риски. Появляется новый вектор атаки, и необходимо следить за безопасностью двух протоколов одновременно.

3️⃣ Отсутствие стимула или мотивации для перехода. У нас еще есть IPv4-адреса, и все функционирует, необходимости менять что-то прямо сейчас нет. Я проверил статистику обращений к нашим ресурсам по IPv6 в партнерских CDN (которые предоставляют IPv6 «из коробки»), и она стремится к нулю — почти никто не использует ipv6 для доступа к контенту 🤷.

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

5️⃣ Недостаток знаний и опыта. В процессе могут возникнуть проблемы, и это может привести к сбоям. Но сетевики снова будут нужны 😅

Мы находимся на стадии изучения протокола IPv6 и планируем проводить эксперименты и тестирования, далее можно будет думать над появлением ipv6 для конечных пользователей.

P.S. Немного был удивлен, что в Amazon Prime Video нет ipv6.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍6👎1👏1
Разбирали плавающую проблему, требовалось поймать «проблемные» запросы на одном из балансировщиков.

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

Cкрипт в одну строчку:
nohup /usr/sbin/tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354' and host <host-ip> -w | ssh <storage-ip> tcpdump -r - -w /var/log/file.pcap -G 600


где,

🟢nohup

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

🟢/usr/sbin/tcpdump

Это путь к бинарному файлу tcpdump (в Ubuntu).

🟢-s 0

Указывает размер захватываемого пакета. Значение 0 означает, что будет захвачен полный пакет (без усечения).

🟢-A

Эта опция заставляет tcpdump выводить данные в ASCII-формате, что удобно для анализа текстовой информации в пакетах.

🟢-vv

Увеличивает уровень подробности вывода.

🟢'tcp[((tcp[12:1] 0xf0) >> 2):4] = 0x504f5354'

Это фильтр, который использует синтаксис BPF (Berkeley Packet Filter). Он проверяет, соответствует ли TCP-пакет определенному условию. В данном случае он ищет пакеты, содержащие строку "POST" (в шестнадцатеричном виде 0x504f5354) в заголовке TCP.

🟢and host <host-ip>

Захватываем только пакеты, направленные к или от хоста с IP-адресом <host-ip>

🟢-w

Опция для записи захваченных пакетов в файл. Однако в данном случае отсутствует имя файла, так как вывод будет перенаправлен через конвейер (pipe).

🟢| ssh <storage-ip>

Символ «|» (pipe) используется для перенаправления вывода одной команды на вход другой команды. Здесь вывод tcpdump передается через SSH на удаленный сервер с IP-адресом <storage-ip>.

🟢tcpdump -r -

На удаленном сервере tcpdump читает данные из стандартного ввода (-), то есть из потока, который был передан через SSH.

🟢-w /var/log/file.pcap

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

🟢-G 600:

Эта опция указывает tcpdump создавать новый файл каждые 600 секунд (10 минут). Можно использовать опцию создавать новый файл при достижении определенного объема, но нас интересовал временной промежуток, чтобы отловить проблему.

P.S. Уверен, есть еще масса вариантов сделать то же самое.

#Задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍11👏1
EVPN Layer 3 gateway options

В статье отлично описаны возможные варианты настройки L3 gateway в EVPN.

При запуске IP Fabric на базе EVPN/VXLAN мы протестировали Option 2 и Option 3. Option 1 показалась нам малопригодной для нашей инфраструктуры из-за возможного влияния на трафик в случае сбоя одного из IRB-шлюзов, поэтому даже не проверялась.

В проде мы решили использовать Option 3, которая предполагает использование уникальных IP и MAC-адресов для каждого устройства, а также anycast (VGA) с одинаковыми IP и MAC-адресами.

Из недостатков стоит отметить, что для каждого устройства создается два EVPN Type 2 маршрута: один для unicast MAC, другой для anycast. В нашем случае это не критично, так как количество IRB менее 100, и мы не заметили значительной нагрузки на Control Plane. Тем не менее, этот вариант более понятен в плане работы и обеспечивает большую прозрачность при обработке ARP. Кроме того, всегда есть возможность проверить доступность L3 gateway простым ping’ом, поскольку у каждого устройства будет свой уникальный IP.
👍11🔥6
«Сильный Лебедь»

В случаях когда нужно поднять IPsec с сервера всегда использовал Strongswan — многоплатформенную реализацию IPsec с открытым исходным кодом. Последний релиз, версия 6.0.0, был выпущен в декабре 2024 года.

Для шифрования трафика между хостами используются IKEv1 и IKEv2.

StrongSwan поддерживает два режима работы:

1️⃣ Tunnel mode — в этом режиме весь IP-пакет инкапсулируется в новом IP-пакете, что позволяет скрыть исходные адреса отправителя и получателя.

2️⃣ Transport mode — в этом режиме защищается только полезная нагрузка IP-пакета (payload, данные), а заголовки IP остаются неизменными.

Из личного опыта успешных и стабильных интеграций могу выделить взаимодействие с Juniper SRX и vCloud Director Edge Gateway. Два экземпляра StrongSwan также отлично работают друг с другом, хотя было бы странно, если бы это было иначе 🤷.

Приведу пример настройки для Cisco и Juniper SRX.

Однако просто поднять туннель недостаточно — его нужно еще и мониторить! Хорошим рабочим решением для Zabbix является - zabbix-ipsec. В этом репозитории можно найти скрипт и шаблон для Zabbix.
🔥11👍52
Когда-то очень давно мне потребовалось пропинговать /21 подсеть. Как раз в то время я овладел тайными знаниями от Наташи Самойленко и конечно решил написать скрипт на Python. Я его написал — он работал, но долго. Коллега сделал то же самое на Go и он заработал быстрее. Потом мы поняли, что это конечно все хорошо, но есть fping.

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

Основные наиболее часто используемые(мной) опции:

🟢fping -g 10.0.0.0/22 - пропинговать подсеть

🟢fping -g 10.0.0.1 10.0.0.10 - пропинговать диапазон

🟢fping -g -a 10.0.0.0/22 - вывести список отвечающих хостов

🟢fping -g -u 10.0.0.0/22 - вывести список неотвечающих хостов

🟢fping -g -s 10.0.0.0/22 - вывести в конце статистику

Как установить на:
- MacOS
- Linux
- Windows

P.S. Если есть время, можно и велосипеды изобретать — это тоже опыт!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍252🔥2
Прекрасное утро!

Протух последний сертификат😅

Больше не надо о них думать, хоть я и не пытался их продлить.

Практической пользы от самой бумажки замечено не было.

Но интересно, в РФ их как-то сейчас сдают? Или только в Казахстане?
😢9🔥4
Написал небольшую заметку по использованию Policy Based Routing (Linux + Juniper MX)

Задача: настроить PBR и в зависимости от src ip сервера маршрутизировать трафик в определенный uplink на пограничных маршрутизаторах.

Варианты когда может пригодиться такая схема описал в статье, мы использовали для:

🟢Проверка доступности ресурсов в сети Интернет через определенных провайдеров. Сетевики это конечно могут проверить с сетевых железок, но в нашем случае это нужно было запускать автоматически и с определенного хоста.

🟢Сбор диагностической информации(rtt, packet loss) по провайдерам

Отмечу, что это не инструкция как настроить выход в Интернет, а решение конкретной задачи. Но в принципе … почему бы и нет, если вам это подходит .

Решил первый раз отметиться на Хабре, опубликовал и там (в песочнице).

P.S. Статья написана в соотвествии с RFC5737, который описывает 3 блока IP-адресов, зарезервированных для примеров, использования в описаниях спецификаций и в документации. Для чего-то же его писали…

#Задача
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥53
«Серийный спикер» Linkmeetup

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

P.S. Над Евро24 у нас работала большая команда из разных департаментов, в докладе расскажу над чем трудились сетевики.
👍11🔥74
Forwarded from linkmeup
Давайте уже потихоньку начнём рассказывать о докладах грядущего линкмитапа.
Дмитрий Ипатов, теперь уже серийный спикер, расскажет о том, как они в Окко готовили инфраструктуру к трансляции Евро24.
Зрителей много, трафика ещё больше, твоя ответственность безгранична.

Чтобы услышать лично и задать вопросы, билеты покупать здесь.

Если хочется стать крутым спикером, то заявку свою кидать сюда.

А в остальном, до линкмитапа жалкие 96 дней, так что пора активно готовиться.
👍16
https://github.com/google/capirca

Capirca – инструмент, разработанный Google и позже ставший open source. Capirca позволяет пользователям определять правила в виде высокоуровневого языка, который затем может быть преобразован в конфигурации, совместимые с различными сетевыми устройствами, т.е. обеспечивает единый способ определения политик доступа для всех различных вендоров/платформ.

Список поддерживаемых платформ:
🟢arista: Arista
🟢aruba: Aruba
🟢brocade: Brocade
🟢cisco: Cisco
🟢ciscoasa: Cisco ASA
🟢cisconx: Cisco NX
🟢ciscoxr: Cisco XR
🟢cloudarmor: cloudarmor
🟢gce: GCE
🟢gcp_hf
🟢ipset: ipset
🟢iptables: iptables
🟢juniper: Juniper
🟢juniperevo: Juniper EVO
🟢junipermsmpc: Juniper
🟢junipersrx: Juniper SRX
🟢k8s: Kubernetes NetworkPolicy
🟢nftables: nftables
🟢nsxv: NSX
🟢nsxt: NSX-T
🟢packetfilter: PacketFilter
🟢paloaltofw: Palo Alto PANOS
🟢pcap: PcapFilter
🟢sonic: SONiC ACLs in config_db.json format
🟢speedway: Speedway
🟢srxlo: Stateless Juniper ACL
🟢windows_advfirewall: Windows Advanced Firewall


Capirca может быть интегрирован с другими системами и инструментами для автоматизации процессов управления сетевой безопасностью. Мы его используем в связке с Bitbucket и Jenkins, подробней с небольшой демкой рассказывал здесь (ссылка с тайм-кодом).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Наткнулся на интересный проект, проверил ряд вакансия и что-то похожее на правду иногда показывает, но может быть большой разброс.
👍7
🚀 Как ещё быстрее прикинуть вилку на вакансию

В догонку к предыдущему посту
Во всех способах, которые я описывал выше, нужно что-то делать самому. А мне давно хотелось, чтобы было как-то попроще. И вот наконец сделал инструмент, который умеет оценивать вилку на вакансию
Так что встречайте @transparency_salary_bot

Ему достаточно скинуть ссылку на вакансию в headhunter, а он вернёт диапазон вознаграждения (пока работает только с HH, но если нужно подключить другие порталы, пишите)

Как это работает: под капотом у бота стоит llm дообученная на датасете свежих вакансий. Если интересны подробности, то напишите в комментариях, и я подготовлю рассказ, как обучал

Ну и не стесняйтесь писать в лс, если что-то не работает, да и вообще с любыми пожеланиями, соображениями или критикой

Всем огромных вилок и быстрых собесов)
👍16
В Capirca есть встроенный механизм проверки сетевой доступности на уровне конкретной политики.

Запуск:

python3 /app/aclcheck_cmdline.py --definitions-directory def --destination-port 443 --source 10.1.1.1 --destination 10.2.2.2 --protocol tcp --policy-file pol/test_acl.pol


Результат при наличии доступа:

pol/test_acl.pol
filter: TEST_ACL
term: rule_10
accept


Результат при отсутствии доступа:

pol/test_acl.pol
filter: TEST_ACL
term: default-deny
deny



Эти параметры можно вынести в переменные:
--destination-port
--destination
--source
--protocol
--policy-file

В Jenkins это будет выглядеть примерно так:
👍5
Мы разрабатываем сервис, который поможет сетевикам управлять аплинками.

Задача: в изолированном окружении развернуть виртуальный маршрутизатор и анонсировать на него несколько Full-View.

Этот стенд использовался для сбора BMP и NetFlow с маршрутизатора и последующего анализа. В процессе работы генерировался трафик между различными виртуальными машинами, частично отключались анонсы, изменялись политики маршрутизации и выключались аплинки, что имитировало продуктивное окружение

Анонсируем Full-View на изолированном стенде

#Задача
👍23
В продолжении предыдущего поста.

Я опубликовал статью на Habr, и в комментариях один коллега напомнил, что кроме Python существуют и другие инструменты, такие как awk.

Да, есть множество способов решить одну и ту же задачу, но вариант с awk действительно оказался проще, поэтому я добавил его в статью.
🔥10👍5🍓2
2025/10/20 00:52:12
Back to Top
HTML Embed Code: