This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux._мониторинг_оборудования_и_интеграция_с_cisco [2022/03/28 09:13] val [Модуль 0. Подготовка стенда в классе.] |
linux._мониторинг_оборудования_и_интеграция_с_cisco [2024/12/10 14:14] (current) val |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Linux. Мониторинг оборудования и интеграция с Cisco ====== | ====== Linux. Мониторинг оборудования и интеграция с Cisco ====== | ||
+ | * [[https://www.cisco.com/c/dam/m/ru_ru/training-events/2019/cisco-connect/pdf/netdevops_angrechi_on_site.pdf|Как начать управлять сетью на основе методологии NetDevOps и перестать бояться изменений в пятницу вечером]] | ||
+ | * [[https://habr.com/ru/post/682974/|Простое развёртывание сетевой лабы на базе контейнеров]] | ||
===== Программа курса ===== | ===== Программа курса ===== | ||
Line 8: | Line 10: | ||
===== Список ПО для установки в перерывах ===== | ===== Список ПО для установки в перерывах ===== | ||
+ | |||
+ | * [[Переменные окружения#Установка переменных окружения]] http_proxy | ||
- [[Технология Docker]] | - [[Технология Docker]] | ||
Line 22: | Line 26: | ||
===== Модуль 0. Подготовка стенда в классе. ===== | ===== Модуль 0. Подготовка стенда в классе. ===== | ||
- | * Узнать свой номер стенда | + | * Узнать свой номер стенда X=? |
* Удалить VM с прошлых курсов | * Удалить VM с прошлых курсов | ||
* Удалить профили putty | * Удалить профили putty | ||
Line 32: | Line 36: | ||
* [[http://ru.wikipedia.org/wiki/Cisco_IOS|Cisco IOS]] | * [[http://ru.wikipedia.org/wiki/Cisco_IOS|Cisco IOS]] | ||
+ | |||
==== Схема стенда ==== | ==== Схема стенда ==== | ||
Line 56: | Line 61: | ||
[client1] - [f0/2 switch3] | [client1] - [f0/2 switch3] | ||
- | LAN - [f0/10 switch1 или switch2] | + | LAN - [f0/10 switch1 или switch2] |
+ | !!! Можно через неуправляемый switch подключить к обоим коммутаторам | ||
+ | !!! Можно подключить LAN к 15-му порту switch3 (потребуется int f0/1 shut) | ||
+ | Можно поменять символ Cloud на Computer | ||
</code> | </code> | ||
Line 92: | Line 99: | ||
C:\> ping 1.1.1.1 | C:\> ping 1.1.1.1 | ||
</code> | </code> | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod1_pract.mp4|Запись практикума]] (длительность: 15 минут) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 105: | Line 116: | ||
* [[http://ru.wikipedia.org/wiki/Управление_компьютерной_сетью|Управление компьютерной сетью]] | * [[http://ru.wikipedia.org/wiki/Управление_компьютерной_сетью|Управление компьютерной сетью]] | ||
- | ==== Лабораторные работы: Настройка Linux (Debian) server ==== | + | ==== Лабораторные работы: Настройка Linux server ==== |
=== 2.1 Добавление server в GNS === | === 2.1 Добавление server в GNS === | ||
Line 111: | Line 122: | ||
- Назначить 8Gb RAM и 2 CPU | - Назначить 8Gb RAM и 2 CPU | ||
- В GNS назначить 2 сетевых адаптера (или 4-ре при использовании bond) | - В GNS назначить 2 сетевых адаптера (или 4-ре при использовании bond) | ||
- | - При увеличении числа адаптеров требуется указать их количество в свойствах VM и в свойствах объекта на карте | + | - При увеличении числа адаптеров после добавления VM, требуется указать их количество в свойствах VM и в свойствах объекта на карте |
</code> | </code> | ||
Line 118: | Line 129: | ||
* Добавить server и подключить его к switch1 и switch2 | * Добавить server и подключить его к switch1 и switch2 | ||
* Добавить LAN в схему стенда | * Добавить LAN в схему стенда | ||
- | * Выключить и включить switch1 | + | * Выключить и включить switch1 (и switch3 если LAN через него) |
* Провести [[netsh#Настройка IP]] на хост системе и проверить ее связь с router | * Провести [[netsh#Настройка IP]] на хост системе и проверить ее связь с router | ||
+ | |||
+ | <code> | ||
+ | PS C:\Windows\system32> ping 192.168.X.1 | ||
+ | </code> | ||
=== 2.3 Настройка базовой конфигурации server === | === 2.3 Настройка базовой конфигурации server === | ||
Line 130: | Line 145: | ||
<code> | <code> | ||
- | # cat /etc/hostname | + | # hostnamectl set-hostname server.corpX.un |
- | </code><code> | + | |
- | server.corpX.un | + | # bash |
</code> | </code> | ||
- | * Настройка сети через [[Настройка сети в Linux#netplan]] | + | * Обсудить настройку сети через [[Настройка сети в Linux#Настройка Netplan]] |
- | * [[Настройка сети в Linux#Настройка bonding]] | + | * Произвести [[Настройка сети в Linux#Отключение ifupdown]] и [[Настройка сети в Linux#Настройка bonding]] |
<code> | <code> | ||
- | # cat /etc/netplan/01-netcfg.yaml | ||
- | </code><code> | ||
- | network: | ||
- | version: 2 | ||
- | bonds: | ||
- | bond0: | ||
- | addresses: [192.168.X.10/24] | ||
- | gateway4: 192.168.X.1 | ||
- | interfaces: [eth0, eth1] | ||
- | parameters: | ||
- | mode: active-backup | ||
- | mii-monitor-interval: 100 | ||
- | primary: eth0 | ||
- | ethernets: | ||
- | eth0: {} | ||
- | eth1: {} | ||
- | </code><code> | ||
# init 6 | # init 6 | ||
+ | или | ||
+ | # netplan apply | ||
# sh conf/dns.sh | # sh conf/dns.sh | ||
Line 180: | Line 180: | ||
</code><code> | </code><code> | ||
search corpX.un | search corpX.un | ||
- | nameserver 192.168.X.10 | + | nameserver 192.168.X.10 #!!! not 127.0.0.1, need in docker |
</code><code> | </code><code> | ||
- | # rndc reload | ||
- | |||
# host router | # host router | ||
Line 189: | Line 187: | ||
</code> | </code> | ||
- | * Вместо [[Сервис DNS#Настройка сервера зоны обратного преобразования X.168.192.IN-ADDR.ARPA]], понадобится для генерации имен файлов с конфигурацией коммутаторов | + | * [[netsh#Настройка DNS клиента]] на host системе |
+ | |||
+ | * Добавить в файл hosts switchN вместо [[Сервис DNS#Настройка сервера зоны обратного преобразования X.168.192.IN-ADDR.ARPA]], понадобится для генерации имен файлов с конфигурацией коммутаторов | ||
<code> | <code> | ||
Line 204: | Line 204: | ||
# getent hosts 192.168.X.51 | # getent hosts 192.168.X.51 | ||
</code> | </code> | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod2_pract.mp4|Запись практикума]] (длительность: 18 минут) | ||
+ | |||
===== Часть 2. Мониторинг оборудования. Задачи и инструменты ===== | ===== Часть 2. Мониторинг оборудования. Задачи и инструменты ===== | ||
Line 227: | Line 232: | ||
<code> | <code> | ||
- | Host: gate.isp.un | + | Host: 172.16.1.254 |
Login: userX | Login: userX | ||
Pass: | Pass: | ||
Line 259: | Line 264: | ||
* [[Локализация системы#Локализация временной зоны]] | * [[Локализация системы#Локализация временной зоны]] | ||
- | * [[Сервис MRTG]] (демонстрирует преподаватель за время установки Prometheus) | + | |
- | * [[Сервис Cacti]] (демонстрирует преподаватель за время установки Docker и Grafana) | + | * [[Сервис MRTG]] |
+ | * [[Сервис Cacti]] | ||
+ | * [[https://youtu.be/twwIF6_khiE|Сети Cisco и Linux у Вас дома]] ([[https://rutube.ru/video/e4f51279544f862e07ae4727fe58b2e0/|RuTube]]) | ||
* [[Сервис Prometheus]] | * [[Сервис Prometheus]] | ||
* [[Сервис Prometheus#prometheus-snmp-exporter]] | * [[Сервис Prometheus#prometheus-snmp-exporter]] | ||
* [[Сервис Grafana]] | * [[Сервис Grafana]] | ||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod3_pract.mp4|Запись практикума]] (длительность: 25 минут) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 313: | Line 324: | ||
* [[Оборудование уровня 2 Cisco Catalyst]] | * [[Оборудование уровня 2 Cisco Catalyst]] | ||
* [[Общие настройки сетевого оборудования Cisco#Настройка SSH]] на switch1 и switch3, (можно не включать сервис SCP) | * [[Общие настройки сетевого оборудования Cisco#Настройка SSH]] на switch1 и switch3, (можно не включать сервис SCP) | ||
- | * При выключении стенда в конфигурации не сохраняются ключи ssh в коммутаторах, необходимо | + | * При выключении коммутатора в его конфигурации не сохраняются ключи ssh, поэтому, после включения, необходимо: |
<code> | <code> | ||
crypto key generate rsa general-keys modulus 1024 | crypto key generate rsa general-keys modulus 1024 | ||
Line 338: | Line 349: | ||
#!/bin/sh | #!/bin/sh | ||
- | /usr/bin/ansible sws -m ios_command -a "commands='show cdp nei'" -c local > /srv/tftp/switch.cdp.json | + | #/usr/bin/ansible sws -m ios_command -a "commands='show cdp nei'" -c local > /srv/tftp/switch.cdp.json |
+ | /usr/bin/ansible sws -m ios_command -a "commands='show cdp nei'" -c network_cli > /srv/tftp/switch.cdp.json | ||
cd /srv/tftp/ | cd /srv/tftp/ | ||
Line 358: | Line 370: | ||
* [[Сервис SNMP#Настройка snmptrapd сервиса]] на регистрацию всех событий | * [[Сервис SNMP#Настройка snmptrapd сервиса]] на регистрацию всех событий | ||
* [[Общие настройки сетевого оборудования Cisco#Настройка адреса перехватчика trap сообщений]] и [[Общие настройки сетевого оборудования Cisco#Настройка генерации trap-ов]] на изменение конфигурации switchN (можно через [[Сервис Ansible#Использование playbook]] Ansible) | * [[Общие настройки сетевого оборудования Cisco#Настройка адреса перехватчика trap сообщений]] и [[Общие настройки сетевого оборудования Cisco#Настройка генерации trap-ов]] на изменение конфигурации switchN (можно через [[Сервис Ansible#Использование playbook]] Ansible) | ||
- | * [[Сервис SNMP#Настройка snmptrapd сервиса]] на резервное копирование конфигурации (демонстрирует преподаватель, слушатели делают второй вариант) | + | * [[Сервис SNMP#Настройка snmptrapd сервиса]] на резервное копирование конфигурации (демонстрирует преподаватель, далее будут варианты решения этой же задачи с Fail2Ban и ELK Logstash) |
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod4_pract.mp4|Запись практикума]] (длительность: 24 минуты) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 388: | Line 404: | ||
Мониторинг доступности оборудования и сервисов | Мониторинг доступности оборудования и сервисов | ||
- | * [[Сервис Nagios]] (понадобится [[Сервис MTA#Использование почтовых псевдонимов]]) демонстрирует преподаватель | + | * [[Сервис Nagios]] можно посмотреть в вебинаре [[https://youtu.be/twwIF6_khiE|Сети Cisco и Linux у Вас дома]] ([[https://rutube.ru/video/e4f51279544f862e07ae4727fe58b2e0/|RuTube]]) |
* Сервис [[Сервис Prometheus#prometheus-blackbox-exporter]] | * Сервис [[Сервис Prometheus#prometheus-blackbox-exporter]] | ||
* [[Сервис Grafana#Grafana dashboard]] | * [[Сервис Grafana#Grafana dashboard]] | ||
Line 410: | Line 427: | ||
* Сервис rsyslog [[Регистрация событий в Linux#Настройка на обработку сообщений типа local0]] и [[Регистрация событий в Linux#Регистрация сообщений, переданных по сети]] | * Сервис rsyslog [[Регистрация событий в Linux#Настройка на обработку сообщений типа local0]] и [[Регистрация событий в Linux#Регистрация сообщений, переданных по сети]] | ||
- | * [[Общие настройки сетевого оборудования Cisco#Управление log сообщениями]] в оборудовании Cisco (показать на router, для switch аналогично) | + | * [[Общие настройки сетевого оборудования Cisco#Управление log сообщениями]] в оборудовании Cisco (показать на router, для switch-s можно через [[Сервис Ansible#Использование playbook]] Ansible |
* Обсудить в видео "[[https://youtu.be/zUi4lTd5WHc|Система управления конфигурациями Ansible и оборудование Cisco]]" использование журнала для выбора момента резервного копирования с помощью [[Сервис Fail2ban]] | * Обсудить в видео "[[https://youtu.be/zUi4lTd5WHc|Система управления конфигурациями Ansible и оборудование Cisco]]" использование журнала для выбора момента резервного копирования с помощью [[Сервис Fail2ban]] | ||
+ | * Мастер класс [[https://youtu.be/EvuEjXhDMNQ|Elastic Stack для сетевого инженера]]([[https://rutube.ru/video/ee37e10713d6643c26f7af7eb6457171/|RuTube]]) | ||
* Запускаем/знакомимся с [[Сервисы ELK#Elasticsearch]] и подключаемся к нему из [[Сервисы ELK#Kibana]] | * Запускаем/знакомимся с [[Сервисы ELK#Elasticsearch]] и подключаемся к нему из [[Сервисы ELK#Kibana]] | ||
Line 431: | Line 449: | ||
* Сервис Nagios [[Сервис Nagios#Использование plugin check_snmp]] или [[Сервис Nagios#Интеграция с MRTG]] | * Сервис Nagios [[Сервис Nagios#Использование plugin check_snmp]] или [[Сервис Nagios#Интеграция с MRTG]] | ||
* Сервис [[Сервис Prometheus#prometheus-alertmanager]] | * Сервис [[Сервис Prometheus#prometheus-alertmanager]] | ||
- | * Сервис Grafana [[Сервис Grafana#Настройка уведомлений]] (обсудить) | + | * Сервис Grafana [[Сервис Grafana#Настройка уведомлений]] |
* [[Сервис SNMP#Настройка snmptrapd сервиса]] на обработку сообщений, полученных с [[Общие настройки сетевого оборудования Cisco#Использование RMON подсистемы протокола SNMP]] на cisco router | * [[Сервис SNMP#Настройка snmptrapd сервиса]] на обработку сообщений, полученных с [[Общие настройки сетевого оборудования Cisco#Использование RMON подсистемы протокола SNMP]] на cisco router | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod5_pract.mp4|Запись практикума]] (длительность: 22 минуты) | ||
+ | |||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 454: | Line 477: | ||
* [[Сервисы ELK#Elasticsearch]], [[Сервисы ELK#Filebeat]], [[Сервисы ELK#filebeat netflow module]] и [[Сервисы ELK#Kibana Dashboard]] | * [[Сервисы ELK#Elasticsearch]], [[Сервисы ELK#Filebeat]], [[Сервисы ELK#filebeat netflow module]] и [[Сервисы ELK#Kibana Dashboard]] | ||
+ | ==== Внимание! Посмотрите вебинар ==== | ||
+ | |||
+ | * [[https://youtu.be/EvuEjXhDMNQ|Elastic Stack для сетевого инженера]] | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod6_pract.mp4|Запись практикума]] (длительность: 7 минут) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 476: | Line 506: | ||
* [[AAA#Старая модель AAA]] преподаватель демонстрирует на router | * [[AAA#Старая модель AAA]] преподаватель демонстрирует на router | ||
* [[AAA#Новая модель AAA]] преподаватель демонстрирует на switch1 | * [[AAA#Новая модель AAA]] преподаватель демонстрирует на switch1 | ||
- | * Настраиваем новую модель AAA с локальной базой пользователей и настройками line con через [[Сервис Ansible#Использование playbook]] | + | * Настраиваем новую модель AAA с локальной базой пользователей и настройками line con через [[Сервис Ansible#Использование playbook]] (можно совместить с RADIUS) |
- | === 7.2 Использование RADUIS для хранения учетных записей администраторов === | + | === 7.2 Использование RADIUS для хранения учетных записей администраторов === |
* [[Сервис FreeRADIUS]] (пользователи root и student, коммутаторы switchN) | * [[Сервис FreeRADIUS]] (пользователи root и student, коммутаторы switchN) | ||
Line 536: | Line 566: | ||
</code> | </code> | ||
- | * Применяем конфигурацию [[Настройка сети в Linux#netplan]] | + | * Применяем [[Настройка сети в Linux#Настройка Netplan]] |
* Проверяем [[Настройка сети в Linux#bond netplan]] | * Проверяем [[Настройка сети в Linux#bond netplan]] | ||
Line 548: | Line 578: | ||
end | end | ||
</code><code> | </code><code> | ||
- | server# tcpdump -nni eth1 host 192.168.X.128 | + | server# tcpdump -nni eth1 host 192.168.X.101 |
- | server# tcpdump -nni bond1 host 192.168.X.128 | + | server# tcpdump -nni bond1 host 192.168.X.101 |
</code> | </code> | ||
* Развертывание системы IDS ([[Сервис SNORT]]) | * Развертывание системы IDS ([[Сервис SNORT]]) | ||
+ | * [[Общие настройки сетевого оборудования Cisco#Настройка snmp агента]] на router с разрешением на запись | ||
* Развертывание системы IPS (Сервис Fail2ban [[Сервис Fail2ban#Установка]], [[Сервис Fail2ban#Интеграция fail2ban и snort]] и [[Сервис Fail2ban#Запуск и отладка]]) | * Развертывание системы IPS (Сервис Fail2ban [[Сервис Fail2ban#Установка]], [[Сервис Fail2ban#Интеграция fail2ban и snort]] и [[Сервис Fail2ban#Запуск и отладка]]) | ||
+ | |||
+ | * [[https://habr.com/ru/articles/813799/|DPI из подручных материалов]] | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod7_pract.mp4|Запись практикума]] (длительность: 25 минут) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 589: | Line 626: | ||
server# sh conf/dhcp.sh | server# sh conf/dhcp.sh | ||
</code> | </code> | ||
- | * [[Сервис DHCP]] | + | * [[Сервис DHCP]] (vlan2 и 100+X) |
* [[Сервис DHCP#Проверка конфигурации и запуск]] | * [[Сервис DHCP#Проверка конфигурации и запуск]] | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod8_pract.mp4|Запись практикума]] (длительность: 12 минут) | ||
+ | |||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 604: | Line 646: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
+ | |||
+ | * Необходимо перезагрузить server | ||
+ | |||
+ | <code> | ||
+ | # init 6 | ||
+ | </code> | ||
* [[Использование протоколов маршрутизации]] | * [[Использование протоколов маршрутизации]] | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin7/lin7_mod9_pract.mp4|Запись практикума]] (длительность: 18 минут) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 616: | Line 668: | ||
- Сохраняем конфигурацию и отключаем switch1 | - Сохраняем конфигурацию и отключаем switch1 | ||
- | - Переключаем LAN на 10-й порт switch2 | + | - Переключаем LAN на 10-й порт switch2 или отключаем интерфейс f0/0 и включаем f0/1 на switch3 |
- Включаем switch2 | - Включаем switch2 | ||
- Отключаем интерфейс eth0 на server [[Настройка сети в Linux]] | - Отключаем интерфейс eth0 на server [[Настройка сети в Linux]] | ||
Line 624: | Line 676: | ||
- Проводим базовую настройку [[Оборудование уровня 2 Cisco Catalyst]] switch2 | - Проводим базовую настройку [[Оборудование уровня 2 Cisco Catalyst]] switch2 | ||
- Проводим [[Общие настройки сетевого оборудования Cisco#Настройка SSH]] на switch2 | - Проводим [[Общие настройки сетевого оборудования Cisco#Настройка SSH]] на switch2 | ||
- | - Через [[Сервис Ansible#Использование playbook]] ansible и [[Программирование диалогов expect]] обновляем конфигурацию на switch2 | + | - Через [[Сервис Ansible#Использование playbook]] ansible (aaa local) и [[Программирование диалогов expect]] обновляем конфигурацию на switch2 |
- [[Использование протокола 802.1q#Настройка интерфейсов]] trunk на интерфейсах f0/1 и f0/2 на switch2 | - [[Использование протокола 802.1q#Настройка интерфейсов]] trunk на интерфейсах f0/1 и f0/2 на switch2 | ||
- | - Отключаем интерфейс f0/0 и включаем f0/1 на switch3 | ||
- Проверяем доступ в Internet на client1 | - Проверяем доступ в Internet на client1 | ||
- Настраиваем [[Оборудование уровня 2 Cisco Catalyst#SPAN]] на switch2, отключаем интерфейс eth2 ([[Настройка сети в Linux]]) на server и проверяем работу IPS | - Настраиваем [[Оборудование уровня 2 Cisco Catalyst#SPAN]] на switch2, отключаем интерфейс eth2 ([[Настройка сети в Linux]]) на server и проверяем работу IPS |