Серверная Админа | Компьютерные сети
26.1K subscribers
1.12K photos
6 videos
7 files
1.18K links
Я действующий сетевой инженер, расскажу вам о сетях в доступной форме.

Реклама - @bashmak_media
Мы на бирже: https://telega.in/c/school_network

РКН: https://vk.cc/cHYqt5
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня обсудим сходимость протокола EIGRP.

🟣Почему EIGRP сходится быстрее: В отличие от RIP и IGRP, где для сходимости нужно передавать целые таблицы маршрутизации, в EIGRP всё намного проще. Он обменяется лишь "Hello" пакетами. Это по сути проверка, чтобы определить, кто рядом.

🟣Как маршрутизаторы становятся соседями: Чтобы стать соседями в EIGRP, надо бы выполнить несколько условий:

• Успешно обменяться “Hello” сообщениями.
• Находиться в одной автономной системе (AS).
• Иметь одинаковые метрики (по умолчанию — полоса пропускания и задержка).
• Таймеры для отправки "Hello" пакетов должны быть синхронизированы, чтобы не потерять друг друга.

🟣Как обновляются маршруты: После того как сеть стабилизировалась и всё сошлось, EIGRP продолжает мониторить своих соседей. Если один из них вдруг не отвечает на "Hello", маршрутизатор быстро пересчитывает маршруты, выбирая лучший путь, чтобы не попасть в тупик.

🟣DUAL, как основа EIGRP: Ключевая фишка EIGRP — это Diffusing Update Algorithm (DUAL), который предотвращает петли маршрутизации и обеспечивает быструю реакцию. В EIGRP всегда есть Successor (основной маршрут) и Feasible Successor (резервный маршрут). Если оба пропадают, маршрутизатор быстро ищет новый путь через соседей.

Серверная Админа | #EIGRP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
📝 Траблуштинг DNS на Linux

Если сайты не открываются, а интернет вроде есть — пора копать в сторону DNS.

🟣Проверяем работу DNS-резолвера: Сначала убедимся, что служба systemd-resolved работает:

systemctl status systemd-resolved  # Проверяем статус
systemctl start systemd-resolved # Запускаем, если отключена
systemd-resolve --status # Узнаем, какой DNS-сервер используется


🟣Проверяем доступность DNS-сервера: Если DNS не работает, проблема может быть в соединении:

ping <dns-ip>                      # Проверяем, отвечает ли сервер
ip route get <dns-ip> # Смотрим маршрут до DNS
traceroute <dns-ip> # Проверяем, где пакеты теряются


🟣Тестируем работу DNS-запросов: Иногда сервер доступен, но не отвечает корректно. Проверим его работу:

dig cnn.com                        # Запрашиваем IP-адрес через стандартный DNS
dig @8.8.8.8 cnn.com # Используем Google DNS (8.8.8.8) для проверки


🟣Анализируем логи: Если ничего не помогло, логи могут подсказать, в чем проблема:

journalctl -u systemd-resolved -f   # Смотрим логи работы резолвера в реальном времени
grep -Ei ‘dns|named|resolv|dhcp’ /var/log/syslog # Ищем ошибки в логах


Серверная Админа | #network
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥32
Наверное, уже хватит шуток про UDP? 🙄

👨‍💻Серверная Админа | #мем
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣35👍83
Почему мы выбрали OpenSDN и как контрибьютим в этот проект

В статье автор расскажет, почему остановил свой выбор на OpenSDN — открытой платформе для программно-определяемых сетей, которая по факту продолжает историю Tungsten Fabric и Juniper Contrail. Чем OpenSDN лучше других SDN-решений? Какие у него преимущества? Почему он стал оптимальным выбором? И как сам автор участвует в его развитии? Все будет в статье!

Серверная Админа | #Статья
💩31
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня поговорим об инструменте
netmiko

🟣Что это такое: Netmiko — это инструмент, который упрощает подключение к маршрутизаторам и коммутаторам, избавляя от необходимости писать сложные скрипты на Paramiko. Вместо низкоуровневой работы с SSH, библиотека позволяет отправлять команды и получать ответы буквально в несколько строк кода.

🟣Работаете с сетью? Значит, вам знакомо подключение к устройствам, ввод команд и анализ ответов. Netmiko автоматизирует этот процесс: можно легко управлять сотнями устройств, запускать show-команды, менять конфигурацию, копировать файлы по SCP и даже работать через SSH-прокси.

Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20👎1🥰1
👋 Привет, сетевой друг!

Вспомним протокол SNMP и зачем его используем.

🟣SNMP помогает админам мониторить состояние устройств, вносить изменения в конфигурацию и получать уведомления о событиях. Используют его вообще для всего: для работы с маршрутизаторами, коммутаторами, серверами, принтерами и даже IoT-устройствами.

🟣Как это работает: SNMP-система состоит из двух элементов:
Менеджер (NMS) — это сервер или программа, которая управляет устройствами (например, Zabbix, SolarWinds).
Агент — это процесс на управляемом устройстве, который собирает данные и отправляет их менеджеру.

Менеджер запрашивает инфу (например, загрузку процессора) или отправляет команды на изменение конфигурации (например, смену IP-адреса). Если что-то идёт не так (например, отвалился интерфейс), агент сам отправляет уведомление (trap).

🟣Что можно узнать через SNMP: SNMP использует базу данных MIB (Management Information Base), где хранятся параметры устройства. Это похоже на каталог, в котором записано, что можно мониторить: температуру устройств, скорость передачи данных через порт, плюс состояние интерфейсов (включён/выключен) ну и загрузку процессора и памяти.

🟣Версии SNMP:
- SNMPv1: базовая версия с ограниченными возможностями.
- SNMPv2: Почти нигде не увидите когда его создавали он был очень сложным как структура и поэтому его урезали и заменили SNMPv2c
- SNMPv2c:
улучшенная версия с поддержкой community strings (строки аутентификации).
- SNMPv3: самая безопасная версия с шифрованием и аутентификацией.

Поработаем на практике в следующем посте.

Серверная Админа | #SNMP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Расскажу, как настроить с нуля SNMP на Cisco.

🟣Указываем контактные данные и локацию: параметры помогут быстро понять, кто отвечает за устройство и где оно вообще находится

R1(config)#snmp-server contact admin@example.com  
R1(config)#snmp-server location DataCenter


🟣Настраиваем Community Strings

Community String — это что-то вроде пароля для доступа к SNMP-данным. Бывает двух типов:
RO (Read-Only) — только просмотр данных.
RW (Read-Write) — полный доступ, включая внесение изменений.

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

R1(config)#snmp-server community SafeRead ro  
R1(config)#snmp-server community DangerousWrite rw


Для защиты можно ограничить доступ по IP:

R1(config)#snmp-server community SafeRead ro 192.168.1.0 255.255.255.0  


🟣Указываем SNMP-менеджер: Сообщаем устройству, куда отправлять данные — например, на сервер с Zabbix или SolarWinds:

R1(config)#snmp-server host 192.168.1.1 version 2c SafeRead  


🟣Активируем SNMP-агент:

R1(config)#snmp-server enable  


🟣Проверяем конфиг:

R1#show snmp  
R1#show snmp community
R1#show snmp host


Серверная Админа | #SNMP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍152
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Продолжим настраивать SNMP. Сейчас разберем, как SNMP позволяет отправлять уведомления (Traps) в случае критических событий.

🟣Включаем уведомления (Traps): Настроим отправку сообщений на SNMP-менеджер при изменении состояния интерфейса или конфигурации

R1(config)#snmp-server enable traps snmp linkdown linkup  
R1(config)#snmp-server enable traps config


Вот теперь админ сразу получит уведомление, если, например, интерфейс упадёт.

🟣Отключаем небезопасные строки аутентификации: По умолчанию на многих устройствах присутствуют строки “public” и “private”, которые легко взломать. Отключаем их:

R1(config)#no snmp-server community public  
R1(config)#no snmp-server community private


🟣Переходим на SNMPv3 для шифрования и аутентификации: SNMPv3 позволяет использовать шифрование и аутентификацию для защиты данных. Создаём группу с высоким уровнем безопасности:

R1(config)#snmp-server group SecureGroup v3 priv  


Добавляем пользователя с паролем и ключом шифрования:

R1(config)#snmp-server user SecureUser SecureGroup v3 auth md5 StrongPass priv des SecretKey  


Здесь:
• SecureUser — имя пользователя.
• SecureGroup — группа с привилегиями.
• StrongPass — пароль для аутентификации.
• SecretKey — ключ для шифрования данных.

🟣Настраиваем SNMP Engine ID: SNMP Engine ID — это уникальный идентификатор устройства в SNMP-сети

R1(config)#snmp-server engineID local 1234567890ABCDEF  


🟣Проверим работу SNMPv3:

R1#show snmp traps  
R1#show snmp engineID
R1#show snmp user


🟣И вот еще доп. команды для диагностики

На Windows:

snmpwalk -v 2c -c SafeRead 192.168.1.1  
snmpget -v 2c -c SafeRead 192.168.1.1 1.3.6.1.2.1.1.5.0


На Linux:

snmpwalk -v2c -c SafeRead 192.168.1.1  
snmpget -v2c -c SafeRead 192.168.1.1 1.3.6.1.2.1.1.5.0


Серверная Админа | #SNMP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍221
Разрабы: это же всего лишь HTTP, он же простой

👨‍💻Серверная Админа | #мем
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28😁12🤡31🔥1
Нашел шпаргалку с примерами команд nmcli для управления сетью

👨‍💻Серверная Админа | #network
Please open Telegram to view this post
VIEW IN TELEGRAM
👍273👎2
Стильный современный «autoindex» в Angie/nginx без sms и сторонних модулей

В статье рассказывается, как придать автоиндексу в Angie/nginx стильный и современный вид без необходимости в сторонних модулях. Fancy Index больше не нужен — встроенный autoindex давно поддерживает JSON и XML, что позволяет гибко настраивать интерфейс. Хотим красивый HTML с XSLT или динамичный интерфейс с JavaScript? Легко сделаем! А благодаря "естественной" сортировке в Angie можно забыть о бардаке, который встречается в nginx.

Серверная Админа | #Статья
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня поговорим об инструменте
batfish

🟣Batfish — инструмент, который анализирует настройки сетевых устройств и находит ошибки или потенциальные проблемы. Он чекает конфигурации на соответствие всему: лучшим практикам, стандартам безопасности и еще политиками компании.

🟣Что делает: Batfish моделирует твою сеть и проверяет, как изменения в конфигурациях повлияют на её работу. Круто, что можно тестировать изменения ещё до их внедрения.

🟣Какие еще фишки: Batfish поддерживает устройства от всех крупных вендоров, таких как Cisco, Juniper и Arista. Еще он находит ошибки в настройках и, что важно: легко интегрируется в автоматизированные процессы и ускоряет тестирование.

Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍155🫡3
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Расскажу о команде iwconfig для настройки WiFi.

🟣Настраиваем мощность передатчика: можно увеличить или уменьшить мощность Wi-Fi адаптера

iwconfig wlan0 txpower 20dBm


Значение указывается в dBm (децибел-милливатт). Например, 20dBm = 100 мВт.

🟣Принудительное переключение на нужную частоту: если сеть работает нестабильно, можно вручную задать канал

iwconfig wlan0 channel 6


Нужно это в загруженных диапазонах, когда автоматический выбор работает фигово.

🟣Ограничение скорости передачи данных: можно установить максимальную скорость соединения

iwconfig wlan0 rate 54M


Или перейти в автоматический режим:

iwconfig wlan0 rate auto


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

🟣Отключение режима энергосбережения: По умолчанию Wi-Fi адаптер может снижать мощность для экономии энергии, но это иногда вызывает потери связи

iwconfig wlan0 power off


🟣Проверка параметров сети: Чтобы посмотреть текущие настройки Wi-Fi

iwconfig wlan0


А если нужен мониторинг в реальном времени:

watch -n 1 iwconfig wlan0


Серверная Админа | #iwconfig
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1121
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Расскажу о интересной фишке TCP_Nodelay.

🟣Что такое TCP_NODELAY: это флаг, который отключает алгоритм Нейгла — механизм, предназначенный для оптимизации отправки маленьких пакетов данных.

🟣Как работает алгоритм Нейгла: Когда ты отправляешь маленькие пакеты данных, например, по одному байту, каждый такой пакет не только несёт полезную информацию, но и добавляет кучу накладных расходов в виде заголовков. Чтобы минимизировать эти расходы, Нейгл предложил откладывать отправку новых пакетов до получения подтверждения от получателя.

🟣Когда стоит отключать Нейгла: Если ты работаешь с высокоскоростными распределёнными системами, где важна каждая миллисекунда, например, в датацентрах или при передаче данных в реальном времени (онлайн-игры, видеоконференции и т.д.), то включение TCP_NODELAY — это мастхэв.

🟣Как включить TCP_NODELAY: Включить эту опцию можно легко через настройки сокетов на уровне программного кода. Вот пример на Python с использованием библиотеки socket:

import socket

# Создаем сокет
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Включаем TCP_NODELAY
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)


Серверная Админа | #TCPNODELAY
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня расскажу о трех интересных способах использовать команду traceroute работы с сетью.

🟣Определение узких мест в сети: Если подключение тормозит, traceroute поможет найти проблемный участок

traceroute example.com


🟣Трассировка через TCP и UDP: Обычный traceroute использует ICMP-запросы, но многие брандмауэры их блокируют. В таких случаях можно обойти ограничение, отправляя TCP или UDP-пакеты

traceroute -T -p 80 example.com  # TCP через порт 80
traceroute -U -p 53 example.com # UDP через порт 53


🟣Более точное измерим задержки: Если хотите точнее узнать время прохождения пакетов, используйте mtr — это улучшенный traceroute, который постоянно обновляет данные

mtr example.com


Серверная Админа | #traceroute
Please open Telegram to view this post
VIEW IN TELEGRAM
👍281
Техподдержка никогда не меняется

— Вы пробовали выключить и снова включить?
— Вы пробовали перенастроить главный силовой модуль?


👨‍💻Серверная Админа | #мем
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22💯5👍31
Стильный современный «autoindex» в Angie/nginx без sms и сторонних модулей

В статье о том, как с помощью Nginx Proxy Manager можно без проблем настроить обратный прокси-сервер для веб-приложений. Автор делится целыми пошаговыми инструкциями по всему связанному с инструментом: подготовке сервера, установке Docker и настройке маршрутизации трафика через удобный веб-интерфейс, без необходимости редактировать конфиги вручную. Также показано, как настроить тестовые приложения и домены для проверки работы.

Серверная Админа | #Статья
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня поговорим об инструменте
Oxidized

🟣Oxidized — это современная замена RANCID, но с кучей крутых фишек. Он собирает конфигурации с более чем 130 операционных систем на устройствах типа маршрутизаторов, свитчей и других сетевых девайсов.

🟣Как работает: Он автоматически качает конфигурации с устройств, причем можно настроить его под любые задачи. Oxidized отлично работает с Git, чтобы отслеживать каждое изменение, и использует syslog, чтобы сразу делать бэкап, как только конфигурация меняется. А с помощью гибкого RESTful API вы можете моментально управлять всеми настройками и легко получать нужные данные.

🟣Почему это топ: инструмент позволяет отслеживать, кто и когда менял конфигурацию, с помощью git blame. Он не только упрощает бэкап, но и помогает интегрировать все в автоматизированные процессы.

Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня разбираем установку и настройку Oxidized

🟣Установка на Debian/Ubuntu: Сначала добавляем репозиторий (для Ubuntu)

add-apt-repository universe


Устанавливаем зависимости:

apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev libicu-dev zlib1g-dev g++ libyaml-dev


Ставим сам Oxidized:

gem install oxidized oxidized-script oxidized-web


Если oxidized-web не нужен, удалите "rest" из конфига.

🟣Установка на CentOS/RHEL: Обновляем Ruby через RVM

yum erase ruby  
sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B17...
curl -sSL https://get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm install 3.1 && rvm use 3.1


Ставим зависимости и сам инструмент:

yum install make cmake which sqlite-devel openssl-devel libssh2-devel gcc libicu-devel gcc-c++  
gem install oxidized oxidized-web
rvm wrapper oxidized


🟣Первая настройка: Oxidized использует YAML-конфиг (~/.config/oxidized/config), но лучше запускать его под отдельным пользователем:

useradd -s /bin/bash -m oxidized  
su oxidized
oxidized


После первого запуска создается стандартный конфиг. Можно менять OXIDIZED_HOME, если нужно другое расположение файлов.

🟣Где хранить бэкапы: Oxidized поддерживает CSV, SQLite, MySQL и HTTP для хранения списка устройств, а конфиги сохраняются в файлы, Git или Git-Crypt. Для Git-бэкапа добавьте:

output:
default: git
git:
user: Oxidized
email: oxidized@example.com
repo: "~/.config/oxidized/repository.git"


Запускаем:

mkdir -p ~/.config/oxidized/configs  
oxidized


Добавляем устройства в router.db:

router01.example.com:ios
switch01.example.com:procurve
router02.example.com:ios


Серверная Админа | #oxidized
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня всмпоним, HTTP — протокол, на котором держится весь веб

🟣HTTP (HyperText Transfer Protocol) — это язык, на котором браузеры и серверы "разговаривают" друг с другом. Ты вводишь адрес сайта, браузер отправляет запрос, сервер отвечает, и вот перед тобой загруженная страница. HTTP работает поверх TCP/IP и управляет передачей данных между клиентом и сервером.

🟣Протокол был создан в 1990 году и за годы прошел несколько версий: HTTP/0.9 просто загружал HTML, HTTP/1.0 добавил заголовки и улучшил обмен данными, а HTTP/1.1 ускорил работу за счет постоянных соединений и параллельных запросов.

🟣Как браузер загружает страницу:
1️⃣Браузер отправляет HTTP-запрос серверу.
2️⃣Сервер отвечает HTML-кодом.
3️⃣Браузер анализирует код, загружает стили, скрипты, изображения.
4️⃣Когда все ресурсы получены, страница отображается.

🟣Ну и кроме загрузки веб-страниц, HTTP ещё отправляет данные на сервер. Это удобно для отправки данных через формы или загрузки файлов. Например, запрос GET используется для получения данных с сервера, тогда как POST — для отправки данных. Также есть запросы HEAD, которые проверяют наличие ресурса без его загрузки, PUT для загрузки файлов на сервер, и DELETE для удаления файлов.

Серверная Админа | #HTTP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня расскажу о пяти классных способах использовать команду dig для диагностики DNS.

🟣Найти все IP-адреса домена (A-записи): узнаем, какие IP-адреса связаны с доменом, получая A-записи. Например, чтобы увидеть, куда указывает amazon.com, просто вводим:

dig amazon.com


🟣Проверить почтовые серверы (MX-записи): нужно узнать, какие серверы обрабатывают почту для домена? Вызываем MX-записи.

dig amazon.com MX


🟣Выяснить, куда ссылается поддомен (CNAME-записи): Иногда поддомены просто перенаправляют на другие домены через CNAME. Узнать, на какой домен ссылается www.amazon.com, можно так:

dig www.amazon.com CNAME


🟣Проверить DNS-серверы (NS-записи): увидим, какие серверы управляют доменом и отвечают за его DNS, используя NS-записи:

dig amazon.com NS


🟣Получить информацию о зоне (SOA-запись): ну а если надо понять, кто управляет зоной домена и когда была последняя авторизация, просто используйте SOA-запись:

dig amazon.com SOA


Серверная Админа | #dig
Please open Telegram to view this post
VIEW IN TELEGRAM
👍223🫡2