Когда у вас есть подключение с кем-либо где видно MAC адреса, это позволяет, с высокой долей достоверности, узнать производителя оборудования используемого вашим партнёром. А когда это общая коммутационная среда, как на точках обмена трафика, то производителя можно узнать у всех участников разделяющих с вами это подключение, и такой анализ уже был на Habr. Но даже если не быть подключенным к IX, то всё равно информацию о MAC адресах, хотя далеко и не всех участников, можно получить используя Looking glass. Этим мы и займёмся для нескольких крупнейших точек обмена трафиком, а поможет нам в этом Алиса.
Сетевой инженер
Интернет провайдер и его Клиент у которого сеть упала
Не так давно я работал сетевым инженером в региональном Интернет провайдере с услугами, в основном, для домашних абонентов. А потом ушёл в корпоративный сегмент, в компанию с большой филиальной сетью по России. И помимо того что это другой опыт и другой взгляд на профессию - это другой взгляд на провайдера и его взаимодействие с клиентами, теперь уже со стороны клиента. Нельзя сказать, что для меня получилось сделать какие-то невероятные открытия в этом взаимодействии, нет, но какие-то моменты получилось сформулировать более точно, про них и будет в этой статье. Рассмотрим реальные, я думаю типичные, ситуации из практики работы сетевого инженера в бизнес компании с провайдерами Интернет через призму отношения к этому со стороны провайдера в том числе.
НСДИ: ещё один взгляд через год
Год назад я написал статью про "Национальную систему доменных имён", в которой были рассмотрены некоторые технические аспекты её организации, в основном то что касается доступности узлов этой системы, а не аспектов работы DNS. Я не следил, но надеялся встретить за этот год больше информации изнутри, но мне она не попалась. Конференций и каких-то публичных технических мероприятий всё ещё было не очень много, где обычно такая информация появляется, но если кто-то что-то встретил просьба поделиться, я добавлю ссылки сюда и удовлетворю своё любопытство.
Я попробовал поискать в Google доступную информацию, но и там ничего не нашёл, кроме новостей, приказов об основании этой системы и редких ссылок на инструкцию по подключению, вот например на labs.ripe.net в PDF
и с подписями. На сайте Роскомнадзора мои усилия тоже закончились ничем. Я подозреваю что какие-то документы есть внутри ЦМУ ССОП, но туда заходить я не стал.
При всём при этом НСДИ остаётся публичной системой, воспользоваться которой может, как минимум, каждый пользователь Интернет в России. Кроме того, за год накопились данные мониторинга с RIPE Atlas на созданных мною измерениях, используя которые мы и посмотрим к чему мы пришли. Мы не выйдем структурно за рамки прошлой статьи и наш взгляд будет всё равно поверхностный, но имея гораздо больший объём данных сможем посмотреть на это чуть пошире.
Национальная система доменных имён: первый взгляд
С начала этого года в России стала эксплуатироваться Национальная Система Доменных Имён - НСДИ, о чём уже можно почитать на Хабр, а провайдерам и владельцем автономных систем РКН рассылает письма с требованиями к ней подключиться. По своей сути это набор из публичных DNS серверов, доступный всем желающим и предлагаемый к использованию как провайдерам так и конечным пользователям Интернет. К своему сожалению, я слабо представляю как конкретно организована и функционирует глобальная система доменных имён, или как организована работа серверов обслуживающих, например, зону RU.
, и надеюсь это статьёй, в том числе, привлечь внимание к этому вопросу людей которые в этом разбираются или участвуют в этом процессе - это должно быть очень интересно и познавательно, для того чтобы об этом рассказать всем. Поэтому мой первый взгляд будет про адресацию, маршрутизацию, задержки, для чего будет использованы, в том числе, средства RIPE Atlas, и, конечно, про DNS, но ровно настолько насколько я в этом понимаю. Отличительно особенностью именно этой национальной системы является её доступность для исследований, поэтому надеюсь мой первый взгляд, будет продолжен и подхвачен, чтобы рассмотреть этот вопрос со всех сторон.
Базовые принципы полисеров и шейперов
Тема качества обслуживания не самая простая для понимания, а если вы когда-нибудь интересовались именно полисерами и шейперами, то скорее всего встречали однотипные графики, отображающие зависимость скорости от времени, слышали термины «корзина», «токены» и «burst», может быть даже видели формулы для расчёта каких-то параметров. Хороший и типичный пример есть в СДСМ — глава про QoS и ограничение скорости.
В этой статье попробуем зайти чуть с другой стороны, опираясь на учебник Cisco, RFC 2697 и RFC 2698 — самые базовые понятия.
Разбор демки на 128 байт из архива 1997 года
Объективно оценивая свои силы я взял 128 байтовое интро которое мне понравилось визуально. Файл
pentagra.com
за подписью Mcm, 128 байт, последнее изменение 24.09.1996 18:10:14, шестнадцатеричный дамп:000000: b0 13 cd 10 68 00 a0 07 06 1f ac ba c8 03 ee 42
000010: b1 40 ee 40 6e 6e e2 fa b8 3f 3f bb 40 01 bf 40
000020: 05 57 b1 78 ab 03 fb e2 fb 5f b1 60 88 01 aa 03
000030: fb 03 fb e2 f7 b1 61 88 01 aa 2b fb 2b fb e2 f7
000040: bf d1 99 57 b1 78 ab 2b fb e2 fb 5f b1 8f f3 ab
000050: 81 fe 00 fa 73 12 ac 0a c0 74 0d 48 88 44 fe 88
000060: 04 88 40 ff 88 84 bf fe 03 f2 42 75 e3 e4 60 3c
000070: 01 75 a5 b8 03 00 cd 10 c3 00 00 00 00 4d 63 6d
Про зеркала репозиториев Centos и выбор лучшего из них
Технически это
rsync
, обычно по расписанию. Кто-то для этого предоставляет готовый набор скриптов, как Fedora, а кто-то просто говорит что надо синхронизироваться вот с этого сервера и рекомендуемый набор параметров. Самый затратный ресурс это место, мы недавно добрались до 4 терабайт и это дорого в нашем случае для того что не генерирует никакой прибыли. Взамен мы получили локальную доступность используемых нами дистрибутивов, это позволило упростить первоначальную настройку серверов исключив из неё обязательный доступ к Интернет. А ещё конечно мы рады что приобщились к чем-то большому, даже если наше участие в этом не сильно заметно.Наше зеркало публичное, с него могут получать обновления все желающие, что собственно и происходит если судить по статистике обращений. В основном это Россия, но не только. Про то как так получается и как вообще происходит выбор конкретного сервера для обновлений на примере Centos седьмой версии этот пост.
Сосчитаем агентов «Ревизор»
Непосредственно у провайдера устанавливается модуль «Агент Ревизор»:
Модуль «Агент Ревизор» является структурным элементом автоматизированной системы «Ревизор» (АС «Ревизор»). Данная система предназначена для осуществления контроля над выполнением операторами связи требований по ограничению доступа в рамках положений, установленных статьями 15.1-15.4 Федерального закона от 27 июля 2006 года № 149-ФЗ «Об информации, информационных технологиях и о защите информации».
Основной целью создания АС «Ревизор» является обеспечение мониторинга соблюдения операторами связи требований, установленных статьями 15.1-15.4 Федерального закона от 27 июля 2006 года № 149-ФЗ «Об информации, информационных технологиях и о защите информации» в части выявления фактов доступа к запрещенной информации и получения подтверждающих материалов (данных) о нарушениях по ограничению доступа к запрещенной информации.
С учётом того что, если не все, то многие провайдеры установили данное устройство у себя, должна была получиться большая сеть из пробников-маяков наподобие RIPE Atlas и даже больше, но с закрытым доступом. Однако, маяк он и есть маяк чтобы посылать сигналы во все стороны, а что если их поймать и посмотреть, что мы поймали и сколько?
Разбираем BGP NOTIFICATION по RFC
Важно ли знать форматы заголовков передаваемых данных? Во многих учебных курсах по сетям разбору заголовков протоколов уделяется больше или меньше времени, но обычно без этого не обходится. Нося по своей природе описательный характер часто их изучение вызывает скуку, а наличие средств автоматического разбора не улучшает картину. Иногда заголовок действительно содержит интересный подход, но в большинстве случаев всё это вписывается в какой-то один принцип и следующий новый формат обычно уже не вызывает удивления. Самое интересное это, конечно, всевозможные сочетания тех опций, которые влияют на функционал, но стоит ли помнить какие опции в каком порядке вписываются в заголовке?
Не могу сказать, что я это помню, ещё не могу сказать что это мне мешает в работе. Я даже не могу сказать, что мне приходится часто видеть заголовки в каком-то необработанном виде, потому что, как правило, сообщения в syslog или на консоли уже переформатированы в связные английские предложения. Но, иногда, приходиться смотреть глубже, например, этот год был урожайный на подобные сообщения:
Ericsson SmartEdge
notification msg sent (nbr 192.0.2.1, context 0x40030044 32 bytes, repeated 89 times, code 3/4 (update: attribute flags error) -
0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 0003 02ed 5bdc 3f01
Cisco, то же с другой стороны
NOTIFICATION received from 192.0.2.2 (External AS 64496):
code 3 (Update Message Error) subcode 4 (attribute flags error),
Data: e0 07 08 00 03 02 ed 5b dc 3f 01
Попробуем разобрать это руками как написано в RFC4271. Не будем искать причину — просто разбор заголовков. Будет много цитат и, скорее всего, ничего нового для тех кто уже это умеет делать. Для остальных читаем дальше.
Ищем свободные IPv4 в BGP full-view
21 Апреля RIPE NCC опубликовал коротенькую техническую новость про то самое исчерпание IPv4 адресов. Собственно смысл новости — обновился график показывающий текущее положение со свободными адресами у RIPE которых осталось у него в распоряжении почти на полный блок /8. У APNIC только половина /8. Вероятно, жёсткая политика распределения адресов делает своё дело и этот самый последний /8 RIR'ы будут тянуть очень долго.
Но всё это относится к «бумажным» адресам. А сколько реальных адресов доступно для маршрутизации в Интернет? Точнее сколько адресов из возможных для маршрутизации в Интернет не используется. Чтобы это посчитать мы воспользуемся уникальным живым свидетелем — таблицей маршрутизации BGP.
Далее немного технических деталей как посчитать и результаты этого расчёта.
Смотрим в looking-glass
Надо лишь ввести IP адрес или префикс в поле и получить в ответ таблицу маршрутизации или трассировку и результаты работы утилиты ping. Поэтому когда понимаешь, что можно вводить не только адреса, но и некоторые другие символы сформированные в осмысленные команды и получать осмысленные результаты, наступает ступор. Хочется бежать и кричать на всех углах: «Да что же это такое надо немедленно запретить, что за несуразность?». Это всё последствия последних лет, когда безопасность превыше открытости и удобности и на это, несомненно, есть причины.
Речь пойдёт об очень популярной реализации looking-glass от version6.net и о том что-же можно получить от этого сервиса.
IPv6 не нужен?
Последнее время IPv6 перестал быть новым, возможно это относится только к моей среде общения, но говорить об IPv6 как о новом протоколе — перестали. Читать о том как здорово поднимать туннели ради доступа к заветному и недоступному уже совсем неинтересно. IPv6 стал одним из… Казалось бы, наконец-то, можно кричать «Ура!», но став одним из, он потерял драйвер роста, превратившись в заурядный. Доказать потребителю что ему надо именно это стало сложнее, потребитель не готов платить за один из…
Под катом продолжение истории, о том, как мы купили билеты на поезд IPv6 и остались на перроне, в общем смысле история провала, надеюсь, не окончательного. Это именно история, как работает IPv6, я думаю, уже все знают, минимум технических деталей и настроек, максимум личных впечатлений.
Что попадает в deny ip any any?
Участники круглого стола посвящённому DDoS, прошедшего на YaC2013 очень сетовали на то, что при всех существующих рекомендациях никто не старается заниматься безопасностью своих сетей. То есть начинать надо в первую очередь с себя (с операторов связи), как минимум бороться с IP-спуфингом.
От чего же защищает
deny ip any any
можно посмотреть далее, просто примеры из журналов мониторинга.Cacti data queries
zabbix_agent
, настроены пользовательские параметры, сделаны шаблоны, данные успешно попадали в Zabbix. Для второй системы — Cacti, на скорую руку был переделан найденный где-то скрипт, который собирал данные zabbix_get
и использовал Data Queries. Но что-то в этом скрипте скоро сломалось и в качестве единственной рабочего решения был оставлен Zabbix.Понять что же такое Data Queries и как сделать так чтобы всё заработало, нашлось время только на новогодних каникулах.
Webshell на TCL, для Cisco IOS и не только
Консольный проигрыватель .wav для pc-speaker в Linux
Посвящается, мужику в шляпе и очках, посылающему всех в известном направлении (неизвестного мне автора, всё хорошо работает в DOSBox).
Генерация списка IPv4 адресов на TCL и немного систем счисления
Для написания был использован expect — expect.sourceforge.net, надстройка над TCL позволяющая обрабатывать и реагировать на ответы различных интерактивных консольных утилит, в частности, telnet. Учитывая что для TCL раньше писать не приходилось, код нуждался в повторном осмыслении. Ключевой момент скрипта это генератор списка IPv4 адресов для обработки, после внимательной оценки данный кусок программы удалось значительно, на мой взгляд, оптимизировать, по крайней мере сократить количество строк на треть и безболезненно добавить новый функционал. Причём все эти сокращения мало относились к специфики TCL, а касались принципиальных подходов к построению алгоритма в целом.
Я выделил этот код в отдельную утилиту, которую попытаюсь очень подробно разобрать далее по тексту — как было «до» и что стало «после», и почему не получилось написать сразу так как «после». Мне не всё в ней нравится до сих пор: смущают как алгоритмические проблемы так и проблемы TCL, например использование списков вместо массивов (что быстрее?, безопаснее?, идеологически вернее?), все сомнения тоже присутствуют в тексте, с надеждой на конструктивные комментарии.
IPv6 шлюз для локальной сети
Обратная маска
Класс A: 8 бит для номера сети 24 бита для номера хоста
Класс B: 16 бит на сеть и 16 бит на хост
Класс C: 24 бита на сеть 8 бит на хост
Когда стало слишком расточительным делить адреса подобным образом появилась маска, представляющая собой 32-х битное (из стольких же бит состоит и IP адрес) поле из подряд идущих единиц с начала поля, и после подряд идущих нулей. Единицы определяют те биты в IP адресе которые формируют номер сети, нули те биты в адресе которые формируют номер хоста.
IP адрес, десятичное: 10. 10. 0. 1 IP адрес, двоичное: 00001010.00001010.00000000.00000001 Маска, двоичное: 11111111.11111111.11111100.00000000 Маска, десятичное: 255. 255. 252. 0
Представление маски подобным образом, вполне, соотносится с термином битовой маски, т.е. единицы и нули определяют действия над конкретными битами в исходном числе, но плохо соотносится с форматом IP адреса – номер сети всегда определяется битами вначале, номер хоста битами в конце. Поэтому представление маски в виде 32-х битного поля является избыточным. Для однозначного определения маски можно определить только количество подряд идущих единиц с начала IP адреса от 0 до 32 – префиксное обозначение, обычно записывается через дробь после IP адреса: для примера выше 10.10.0.1/22 – 22 бита номер сети и 32-22=10 бит номер хоста. Если говорит про IPv6 адрес, то там определяется только префиксная запись маски/адреса – 2001:d8:a15e::1/48
Information
- Rating
- Does not participate
- Location
- Волгоград, Волгоградская обл., Россия
- Date of birth
- Registered
- Activity