Network/Linux: Impairment. Ограничение полосы пропускания (Linux: tc, wondershaper; Network: Cisco, Mellanox), внесение задержек и потерь в сетевой трафик

Network devices
Пример работы полсера

Шейпер (по факту полсер) на mellanox сделан по baud rate, а не througput. Потери начинаются примерно ровно в 50% baud rate (как и настроено на девайсе), независимо от фактического размера payload.

Framesize Rx Throughput (% Line Rate) Rx Throughput (Mbps)
1472      50.1853004         49512.5752044
1408      50.1913476         49488.3875923
1344      50.1979646         49461.9240503
1280      50.2052332         49432.8450123
1216      50.2132581         49400.7458045
1152      50.2221625         49365.1289785
1088      50.2321001         49325.3834443
1024      50.2432680         49280.7533005
960         50.2558900         49230.2596314
832         50.2868496         49106.4070830
768         50.3061164         49029.3114288
704         50.3288090         48938.5104262
576         50.3889325         48698.0287265
384         50.5512663         48048.7284116
256         50.7868002         47106.5973284
192         51.0132740         46200.7009995
74           49.0080371         38580.7951303
74           49.0080360         38580.7943359
Config
Cisco 3850
3850(config)#policy-map policer-bw
3850(config-pmap)#class class-default
3850(config-pmap-c)#shape average percent 30
3850(config-if)#service-policy output policer-bw

3850(config-pmap-c)#shape average ?


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

Делаем usb принтер сетевым и смотрим что под капотом

USB-принтером одного хоста относительно легко поделиться с другими хостами. Хосты должны находиться в одной локальной сети.

Обмен при этом реализуется на базе гремучей смеси новых (ipv6, llmnr) и старых (netbios, ntlm, dce/rpc) протоколов, что можно увидеть в wireshark/tcpdump.

Это, безусловно, не продакшн решение (хотя по факту у многих используется так):

  1. нужно чтобы хост, к которому подключен принтер, был включен, хотя и нет необходимости, чтобы кто-то на нем был авторизован (используется guest учетка, см.


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

Network: эволюция производительности сетевых устройств и трансиверов



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

МФУ Brother DCP-L2520DWR

Качественный и их берут много.

Из по настоящему крутых вещей:

  • Двухсторонняя печать
  • Wifi
  • Airprint
  • Любая ОС (даже Linux)

Картриджи

Картриджи это отдельный плюс – он не чипованный, это прекрасно. Покупать картридж нужно сразу т.к. в комплекте картридж с небольшим количеством краски (ДО 700 стр, когда стаднартный 2600).

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

Linux: работа с интерфейсами (ifconfig, ip, ethtool, interfaces – lspci network, lshw network)

BASIC

ip link или ifconfig -a – показывает все интерфейсы. В том числе те, которые не подняты. Мне помогло при дебаге неподнимания secondary ipif на виртуалке VirtualBox. Косяк оказался в том, что я неправильно в конфиге /etc/network/interfaces указал название интерфейса 🙂

# ip netns exec VRF1 ip -d link show enp3s0f0
20: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 100 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:e0:ed:96:da:4a brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 9710 numtxqueues 64 numrxqueues 64 gso_max_size 65536 gso_max_segs 65535

ip a add 1.1.1.1/32 dev enp2s0 или ifconfig eth1 1.1.1.1/32 up – конфигурируем IP на интерфейсе.

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

Отрисовка сетевых топологий

Ручная 

  • draw.io поддерживает импорт из visio (.vdx). Dia поддерживает экспорт в .vdx. Поэтому все утилиты ниже могут работать со всеми через .vdx. Правда само конвертирование в .vdx может не очень корректно отрабатывать из dia – например, в контексте масштабирования.
  • https://www.draw.io – супер крутая WEB (на JavaScript) альтернативая visio/dia.


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

iperf

Official page

Безусловно средство не идеально и местами глючит (особенно мобильная версия), но есть мифы о совсем “дикой плохости” iperf от разных вендоров (привет, Ixia и прочие), немного развенчаю:

  • тест можно запустить более чем на 20 минут (проверял два часа с нагрузкой 700мбит – полет успешный)
  • и на клиенте и на сервере (без разницы будет reverse тест или прямой) требуются относительно небольшие ресурсы CPU ~ 10-30% CPU (intel i3/7) на гигабит однопоточного TCP трафика (проверял)
  • у iperf безусловно есть погрешность т.к.


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

Linux: работа с утилитой grep (egrep, zgrep)

word

-w/–word-regexp – удобная опция, ищем конкретное слово. Очень удобно, если есть уникальные слова в каждой строке (напр. ID).

 -w, --word-regexp
The expression is searched for as a word (as if surrounded by
`[[:<:]]' and `[[:>:]]'; see re_format(7)).

$ cat sw
1 -- xxx
2 -- yyy
3 -- zzz
4 -- kkk
5 -- zzz

$ cat sw | grep -w 2
2 -- yyy

$ cat sw | grep -w yyy
2 -- yyy

or/and

OR – ищем любой из двух.

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

Network: заметки о DNS, OpenDNS (Cisco Umbrella)

Разное
  • Пример работы Umbrella

  • DNS запросы/ответы обычно передаются в виде UDP, но если ответ слишком большой, то TCP сервер может отправить ошибку клиенту, после которой клиент подключится к серверу по TCP.
  • DNS tunneling – когда мы передаем поверх DNS что-то отличное от DNS трафика.


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

Security: теория

Взлом matrix.org – пример очень показательного взлома с точки зрения базовой безопасности. Нарушено куча важнейших принципов, описанных ниже. Сам хакер очень подробно все описал.

https://archive.md/MfrjB
в матриксе крутили на х.ю самые обычные бестпрактисы. Молодцы, че

I noticed in your blog post that you were talking about doing a postmortem and steps you need to take.


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