NIC, Linux: работа с NIC, с сетевыми интерфейсами

BASIC
  • COMPARING NET-TOOLS VS. IPROUTE PACKAGE COMMANDS
  • Очереди сетевой карты (NIC queues), также известные как кольцевые буферы (ring buffers), используют оперативную память (RAM) компьютера, а не внутреннюю память самой карты. Очереди приема (Rx) и передачи (Tx) представляют собой области в системной RAM, которые выделяются драйвером сетевой карты при инициализации.


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

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, lsof, nice, kill, killall, top, lscpu, interrupts, smp irq affinity, isolcpus, taskset, cpuset/cset shield), утилизация процессора (user/system/idle/iowait/softirq)

  • kernel parameters /proc/cmdline (можно редактировать конфигом GRUB)
  • kernel parameters modification /etc/sysctl.conf
  • В Linux все рассматривается как файлы, включая устройства (/dev) и процессы (/proc)
  • Любые изменения в /proc директории немедленно применяются kernel
All changes to files in /proc/ are immediately recognized by the kernel.


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

Coding, Network: API и методы работы с ним (SOAP, REST, JSON, XML, YAML, TOML, YANG, TOML, protocol buffers/Apache Thrift, graphQL; SWAGGER, WSDL, WADL; restconf, netconf; Cisco PXGRID)

  • В общем про api и методы взаимодействия с ними (rest, yang, soap, xml, json, restconf/netconf, etc) в отдельной статье
  • CLI зачастую >>> всех других методов, пример яндекс со своей «Аннушкой» работает именно поверх CLI
    • Мы про это расскажем в докладах, но нет, cli – как общий знаменатель для всего.



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

Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


tr ; CUT
  • подмена всех символов на lower
echo <WoRd> | tr '[:upper:]' '[:lower:]'
  • подмена всех пробелов на \n (все слова с новой строки)
echo <file> | tr ' ' '\n'
  • The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output
# Print a range of each line with a specific delimiter:
command | cut --delimiter="," --fields=1

# Print a specific character/field range of each line:
command | cut --characters|fields=1|1,10|1-10|1-|-10

Подмена всех пробелов (в том числе повторяющихся) на одну запятую с использованием tr и опции -s

 -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.


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

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

Влияние потери и задержек на Throughput подробно описано в отдельной статье.

Пример кейсов использования impairment:

    • эмуляция гео-распределенной сети
    • эмуляция wireless/satellite/mobile
    • приближение к real world
    • тестирование edge case сценариев

При этом в сетевом тестировании с impairment нужно обращаться “аккуратно”.

EANTC Carsten Rossenhoevel
The benchmarking methodology could be complemented with synthetic loss/delay, but this is out of scope of this draft ((netsecopen)). 


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

VRF: базовая настройка в Linux и на сетевых устройствах Cisco, Huawei

Linux
  • База на xgu
  • При настройке VRF в linux свой интерфейс в vrf не пингуется – это ок. Интерфейс в другом vrf при этом будет отвечать нашему. Можно интерфейсы соединить кабелем напрямую (в одной подсети, но разных vrf) или через промежуточный роутер (в разных подсетях) – без разницы.


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

Linux: Docker, conrainerd, container security (hardening)

Basics
  • Container security – три основных риска/угрозы/проблемы
    • плохая конфигурация
    • проблемы runtime
    • цепочки поставок
  • Процессы контейнеров видны на “хостовой” машине в ps -aux
  • Применение bestpractice до/после

  • Установка docker на debian12 требует установку репозитория docker в систему.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian


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

Linux: bash спец. символы, man, переменные (> >> $ & # ~/$HOME $USER \ | /n \t ^M $? * ; ()), redirect stdout/stderr, ALIAS, bashrc, profile; программирование в bash (полезные скрипты, получение опций в скриптах, функции, условия, циклы, case, массивы)

~ echo $SHELL
/bin/bash

bash-3.2$ echo $SHELL # MACOS
/bin/zsh
  • (ping, nmap, xargs, bash) Ping целой подсети /24 в 253 потока.



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

Linux: cron, crontab, at, atd

Общее

  • Для работы cron на MacOS нужно чтобы у утилиты cron был доступ к диску: Privacy/Security -> Full Disk Access -> добавляем /usr/sbin/cron , логи запусков и редактирований (crontab -e) можно посмотреть командой log show –process cron –info
log show --process cron --info

2026-03-02 20:51:00.190865+0300 0x616 Info 0x0 271 0 cron: (weril) RELOAD (tabs/weril)
2026-03-02 20:51:00.200467+0300 0x1a00b54 Info 0x0 95174 0 cron: (weril) CMD (/Users/weril/backup.sh)


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

Полезные Hotkey Shortcuts (бинды)

Windows (Word/Excel/etc)
  • win +> (альтернатива: win + Ж) – эмодзи/смайлы по выбору 💙❤💜❤🧡
  • 1F400 и alt+x – смайлы по коду в word
  • win + arrow – позволяет удобно размещать окно приложения на экране, не занимаясь раздвиганиями границ окна

    • left – to the left
    • right – to the right
    • up – full screen
    • down – small screen
  • HOME – переход к началу строки (hotkey для Linux ниже)
  • END – переход к концу строки (hotkey для Linux ниже)
  • ctrl+shift+esc – открыть диспетчер задач
  • ctrl+shift+home (в notepad точно работает)- выделить всё от текущего места до начала файла.


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