Операционный режим (Operation Mode)

Операционный режим в VyOS предоставляет команды для мониторинга состояния системы, диагностики проблем и выполнения операционных задач без изменения конфигурации. Это основной режим работы для повседневного администрирования VyOS.

Основные концепции

Операционный vs Конфигурационный режим

Операционный режим (Operation Mode):

  • Режим по умолчанию при входе в систему
  • Только чтение и мониторинг
  • Выполнение операционных команд (show, monitor, reset, clear)
  • Не изменяет конфигурацию
  • Приглашение: vyos@router:~$

Конфигурационный режим (Configuration Mode):

  • Для изменения конфигурации
  • Команды set, delete, commit, rollback
  • Транзакционный подход
  • Приглашение: vyos@router#
  • Вход: команда configure

Категории команд

  1. show - Просмотр информации (состояние, статистика, конфигурация)
  2. monitor - Мониторинг в реальном времени
  3. reset - Сброс состояния (не конфигурации)
  4. clear - Очистка счетчиков и кэшей
  5. ping/traceroute - Сетевая диагностика
  6. generate/add/delete - Системные операции

Show Commands

System Information

# Общая информация о системе
show version

# Вывод:
# Version:          VyOS 1.5.x
# Release train:    current
# Built by:         autobuild@vyos.net
# Built on:         Mon 14 Oct 2024 12:00 UTC
# Build UUID:       ...
# Architecture:     x86_64

# Аппаратная информация
show system hardware

# Использование ресурсов
show system memory
show system cpu
show system storage

# Uptime и load average
show system uptime

# Процессы
show system processes
show system processes summary
show system processes extensive

Network Interfaces

# Все интерфейсы
show interfaces

# Конкретный интерфейс
show interfaces ethernet eth0
show interfaces bridge br0
show interfaces bond bond0

# Краткий формат
show interfaces brief

# Статистика интерфейса
show interfaces ethernet eth0 statistics
show interfaces ethernet eth0 counters

# Физическое состояние
show interfaces ethernet eth0 physical

# Очереди интерфейса
show interfaces ethernet eth0 queue

IP Configuration and Routing

# IP адреса
show interfaces addresses

# ARP таблица
show arp
show arp interface eth0

# Таблица маршрутизации
show ip route
show ip route summary
show ip route 192.168.1.0/24

# Конкретный маршрут
show ip route 8.8.8.8

# IPv6 маршруты
show ipv6 route
show ipv6 route summary

# Neighbor таблица (IPv6)
show ipv6 neighbors

Routing Protocols

# OSPF
show ip ospf neighbor
show ip ospf database
show ip ospf interface
show ip ospf route

# BGP
show ip bgp summary
show ip bgp neighbors
show ip bgp
show ip bgp neighbor 10.0.0.1 advertised-routes
show ip bgp neighbor 10.0.0.1 received-routes

# Route maps и prefix lists
show route-map
show ip prefix-list
show ip community-list

VPN

# IPsec
show vpn ipsec sa
show vpn ipsec state
show vpn ipsec status

# WireGuard
show interfaces wireguard
show interfaces wireguard wg01

# OpenVPN
show openvpn server
show openvpn client
show openvpn status server server1

Firewall and NAT

# Firewall правила
show firewall
show firewall name WAN_IN
show firewall statistics

# NAT
show nat source statistics
show nat destination statistics
show nat source rules
show nat destination rules

# Connection tracking
show conntrack table ipv4
show conntrack table ipv6
show conntrack statistics

Services

# DHCP server
show service dhcp-server leases
show service dhcp-server statistics
show service dhcp-server leases pool LAN

# DHCPv6 server
show service dhcpv6-server leases

# DNS forwarding
show dns forwarding statistics
show dns forwarding nameservers

# NTP
show ntp
show system ntp

# SNMP
show snmp community
show snmp v3

System Services

# SSH
show service ssh

# Пользователи
show users
show users recent

# Логи
show log
show log tail
show log tail 50
show log | match error
show log | match eth0

# Сервисы
show system services

Configuration

# Текущая конфигурация
show configuration

# Конкретная секция
show configuration interfaces
show configuration service dhcp-server

# Команды для воспроизведения
show configuration commands
show configuration commands | match interface

# Сохраненная конфигурация
show configuration file /config/config.boot

# История commit
show system commit
show system commit diff 5

Monitor Commands

Real-Time Monitoring

# Логи в реальном времени
monitor log
monitor log colored

# Трафик интерфейса
monitor interfaces
monitor interfaces eth0
monitor interfaces eth0 traffic

# Firewall
monitor firewall
monitor firewall name WAN_IN

# BGP соседи
monitor protocol bgp

# Bandwidth usage
monitor bandwidth interface eth0

Traffic Capture

# Захват трафика (tcpdump)
monitor traffic interface eth0
monitor traffic interface eth0 filter "port 80"
monitor traffic interface eth0 save /tmp/capture.pcap

# С дополнительными фильтрами
monitor traffic interface eth0 filter "host 192.168.1.100 and port 443"

# Verbose output
monitor traffic interface eth0 verbose

Reset Commands

Connection and Session Reset

# Сброс BGP соседа
reset ip bgp 10.0.0.1

# Сброс OSPF процесса
reset ip ospf process

# Сброс IPsec SA
reset vpn ipsec-peer 203.0.113.1

# Сброс conntrack соединений
reset conntrack-sync external
reset conntrack-sync internal

Terminal Reset

# Сброс терминала
reset terminal

Clear Commands

Clearing Counters and Cache

# Очистка счетчиков интерфейса
clear interfaces ethernet eth0 counters

# Очистка firewall counters
clear firewall name WAN_IN counters
clear firewall statistics

# Очистка ARP кэша
clear arp

# Очистка route кэша
clear ip route cache

# Очистка DNS кэша
clear dns forwarding cache

# Очистка conntrack таблицы
clear conntrack table ipv4
clear conntrack table ipv6

Clearing System State

# Очистка системных логов
clear system login history user vyos

# Очистка DHCP leases
clear service dhcp-server lease 192.168.1.100

Network Diagnostic Commands

Connectivity Testing

# Ping
ping 8.8.8.8
ping 8.8.8.8 count 5
ping 8.8.8.8 size 1400
ping 8.8.8.8 source-address 192.168.1.1

# Ping IPv6
ping 2001:4860:4860::8888
ping6 2001:4860:4860::8888

# Traceroute
traceroute 8.8.8.8
traceroute 8.8.8.8 source-address 192.168.1.1

# Traceroute IPv6
traceroute6 2001:4860:4860::8888

# MTU path discovery
ping 8.8.8.8 do-not-fragment size 1500

DNS and Network Tools

# DNS lookup
nslookup google.com
nslookup google.com 8.8.8.8

# Dig
dig google.com
dig google.com @8.8.8.8 +short
dig google.com MX

# Host
host google.com
host 8.8.8.8

# Telnet
telnet 192.168.1.1 22
telnet smtp.gmail.com 25

Network Scanning

# Port scan (если установлен nmap)
scan port 192.168.1.1
scan port 192.168.1.0/24 port 22

# ARP scan
scan arp interface eth1

System Operation Commands

Power Management

# Перезагрузка
reboot
reboot now
reboot in 10

# Выключение
poweroff
poweroff now
poweroff in 30

# Отмена запланированной перезагрузки
shutdown -c

Image Management

# Список образов
show system image

# Установка нового образа
add system image https://downloads.vyos.io/...

# Удаление образа
delete system image 1.4.0

# Установка образа по умолчанию
set system image default-boot 1.5.0

Configuration Management

# Копирование конфигурации
copy file /config/config.boot to /config/config.boot.backup
copy running-config file /tmp/running.conf

# Загрузка конфигурации
load /config/config.boot.backup

# Сохранение конфигурации
save
save /config/config.boot.backup

PKI Operations

# Генерация ключей
generate pki key-pair
generate pki key-pair install my-key

# Генерация сертификата
generate pki certificate sign my-ca install my-cert

# Генерация CSR
generate pki certificate-request install my-csr

# Просмотр сертификатов
show pki ca
show pki certificate

SSH Keys

# Генерация SSH ключей
generate ssh-key user vyos

# Показать SSH ключи
show ssh fingerprints
show ssh server-key

Advanced Operational Commands

System Debugging

# Включить debug для протокола
debug ospf events
debug bgp updates

# Посмотреть debug output
show log | match debug

# Отключить debug
no debug ospf events
no debug all

Hardware Information

# PCI устройства
show hardware pci

# CPU информация
show hardware cpu

# Memory banks
show hardware mem

# Sensors (температура, вентиляторы)
show hardware sensors

Container Operations

# Список контейнеров
show container

# Детали контейнера
show container name my-container

# Логи контейнера
show container log name my-container

# Статистика контейнера
show container name my-container statistics

Примеры практического использования

1. Диагностика проблем с подключением

# Шаг 1: Проверить интерфейсы
show interfaces brief

# Шаг 2: Проверить IP адреса
show interfaces addresses

# Шаг 3: Проверить маршрутизацию
show ip route 8.8.8.8

# Шаг 4: Проверить conntrack
show conntrack table ipv4 | match 8.8.8.8

# Шаг 5: Ping test
ping 8.8.8.8 source-address <your-ip>

# Шаг 6: Traceroute
traceroute 8.8.8.8

2. Проверка VPN статуса

# IPsec
show vpn ipsec sa
show vpn ipsec status

# Если туннель down - логи
show log | match ipsec

# Статистика интерфейса VTI
show interfaces vti vti0 statistics

# Routing через VPN
show ip route | match vti0

3. Мониторинг производительности

# CPU и память
show system uptime
show system cpu
show system memory

# Network throughput
show interfaces eth0 statistics

# Connection tracking usage
show conntrack statistics

# Топ процессов
show system processes extensive | head -20

4. Диагностика BGP

# Состояние BGP соседей
show ip bgp summary

# Детали соседа
show ip bgp neighbors 10.0.0.1

# Получаемые маршруты
show ip bgp neighbor 10.0.0.1 received-routes

# Анонсируемые маршруты
show ip bgp neighbor 10.0.0.1 advertised-routes

# BGP таблица
show ip bgp

# Путь к конкретной сети
show ip bgp 203.0.113.0/24

5. Анализ firewall

# Все правила firewall
show firewall

# Статистика конкретного ruleset
show firewall name WAN_IN statistics

# Connection tracking
show conntrack table ipv4 | wc -l

# Топ источников conntrack
show conntrack table ipv4 | awk '{print $5}' | cut -d= -f2 | sort | uniq -c | sort -rn | head -10

# Проверка конкретного соединения
show conntrack table ipv4 | match "192.168.1.100"

6. DHCP troubleshooting

# Активные leases
show service dhcp-server leases

# Статистика DHCP
show service dhcp-server statistics

# Leases конкретного pool
show service dhcp-server leases pool LAN

# Логи DHCP
show log | match dhcp

Полезные техники

Фильтрация вывода

# Grep (match)
show configuration | match interface
show log | match error

# Exclude
show configuration | no-more | grep -v "!"

# Head/Tail
show log tail 50
show log | head -20

# Pipe to less для длинного вывода
show configuration | no-more

Форматирование вывода

# JSON формат (для API)
show interfaces format json
show configuration format json

# Без пагинации
show log | no-more

# С timestamps
show log | match error | tail

Копирование и сохранение вывода

# Сохранить в файл
show configuration > /tmp/config.txt
show running-config | cat > /tmp/running.txt

# SCP копирование
scp /tmp/config.txt user@server:/backup/

Alias для частых команд

В конфигурационном режиме:

configure
set system login user vyos alias sh="show"
set system login user vyos alias si="show interfaces"
set system login user vyos alias sir="show ip route"
commit
save

Теперь в операционном режиме:

sh version      # вместо show version
si brief        # вместо show interfaces brief
sir summary     # вместо show ip route summary

Command Cheat Sheet

Топ-20 команд для ежедневной работы

  1. show interfaces brief - Краткий статус интерфейсов
  2. show ip route - Таблица маршрутизации
  3. show configuration - Текущая конфигурация
  4. show system uptime - Uptime системы
  5. show log tail 50 - Последние 50 строк лога
  6. ping 8.8.8.8 - Тест подключения
  7. show service dhcp-server leases - DHCP leases
  8. show vpn ipsec sa - IPsec туннели
  9. show ip bgp summary - BGP статус
  10. show firewall - Firewall правила
  11. show conntrack table ipv4 - Connection tracking
  12. monitor log - Логи в реальном времени
  13. show system memory - Использование памяти
  14. show system cpu - Использование CPU
  15. show interfaces statistics - Статистика интерфейсов
  16. show nat source statistics - NAT статистика
  17. show version - Версия системы
  18. show users - Залогиненные пользователи
  19. show system commit - История commit’ов
  20. save - Сохранить конфигурацию

Best Practices

  1. Регулярный мониторинг

    • Проверять show system uptime ежедневно
    • Мониторить show system memory и CPU
    • Отслеживать show conntrack statistics
    • Проверять show log | match error
  2. Документирование

    • Сохранять вывод важных команд
    • Делать screenshots при проблемах
    • Вести log book операций
    • Документировать изменения
  3. Troubleshooting workflow

    • Начинать с show interfaces brief
    • Проверять show log tail 100
    • Использовать monitor log для real-time
    • Собирать всю диагностику перед обращением в поддержку
  4. Performance monitoring

    • Регулярно проверять show system resources
    • Мониторить interface statistics
    • Отслеживать conntrack usage
    • Следить за routing table size
  5. Безопасность

    • Регулярно проверять show users
    • Мониторить show system login
    • Проверять firewall statistics
    • Анализировать conntrack для аномалий
  6. Automation

    • Использовать скрипты для регулярных проверок
    • Собирать метрики в системы мониторинга
    • Автоматизировать рутинные задачи
    • Создавать health check скрипты
  7. Backup awareness

    • Регулярно делать save
    • Периодически show configuration commands > backup.txt
    • Хранить backup вне устройства
    • Тестировать restore процедуру
  8. Learning path

    • Начать с базовых show commands
    • Изучать вывод команд
    • Экспериментировать с фильтрами
    • Создавать собственные alias
  9. Remote management

    • Использовать SSH вместо telnet
    • Настроить tmux/screen для длительных сессий
    • Иметь out-of-band доступ
    • Документировать recovery процедуры
  10. Command history

    • Использовать историю команд (стрелки вверх/вниз)
    • Ctrl+R для поиска в истории
    • Сохранять часто используемые команды
    • Создавать команды-шаблоны

Заключение

Операционный режим VyOS предоставляет мощный набор команд для мониторинга, диагностики и управления системой. Освоение этих команд критично для эффективного администрирования VyOS и быстрого решения проблем в production окружениях.

Ключевые takeaways:

  • Операционный режим - для мониторинга, не для изменений
  • Show commands - основа диагностики
  • Monitor commands - real-time visibility
  • Reset/Clear - для операционных задач
  • Практика использования - ключ к мастерству

Дополнительные ресурсы: