Default Route - Маршрут по умолчанию
Маршрут по умолчанию (default route, default gateway) - это маршрутизационная запись, определяющая, куда должны направляться пакеты, для которых не найден более специфичный маршрут в таблице маршрутизации. В VyOS маршрут по умолчанию настраивается через статические маршруты и является критически важным элементом сетевой конфигурации.
Основные концепции
Что такое маршрут по умолчанию
Default route - это маршрут к сети с префиксом 0.0.0.0/0 для IPv4 или ::/0 для IPv6. Эти префиксы охватывают все возможные IP-адреса, но имеют наименьшую специфичность (самую длинную маску сети).
Принцип работы:
- Маршрутизатор ищет наиболее специфичный (longest prefix match) маршрут для пакета
- Если конкретный маршрут не найден, используется маршрут по умолчанию
- Default gateway - это next-hop адрес в маршруте по умолчанию
Применение:
- Направление всего трафика во внешние сети (интернет)
- Соединение удаленных сетей через центральный маршрутизатор
- Облачные окружения (Yandex Cloud, VK Cloud, AWS, Azure)
Эволюция конфигурации в VyOS
Старый способ (VyOS 1.1.x и ранее):
# Не используется в современных версиях
set system gateway-address 192.168.1.254Современный способ (VyOS 1.2+):
# Правильный метод через static route
set protocols static route 0.0.0.0/0 next-hop 192.168.1.254Важно: Команда set system gateway-address больше не поддерживается. Используйте только protocols static route.
Метрика и административная дистанция
Distance (административная дистанция):
- Определяет приоритет между маршрутами от разных источников
- По умолчанию для static routes: 1
- Меньшее значение = выше приоритет
Примеры distance:
- Connected routes: 0
- Static routes: 1
- OSPF: 110
- BGP: 200
Metric (метрика маршрута):
- Используется для выбора между несколькими маршрутами к одной сети от одного протокола
- Меньшее значение = предпочтительнее
- По умолчанию для static routes: 0
Конфигурация IPv4 Default Route
Базовая конфигурация
# Простейший вариант - маршрут по умолчанию через next-hop
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
commit
saveПроверка:
show ip route 0.0.0.0
# Вывод:
# Routing entry for 0.0.0.0/0
# Known via "static", distance 1, metric 0, best
# Last update 00:05:23 ago
# * 192.168.1.1, via eth0Маршрут через интерфейс
Для point-to-point соединений можно указывать только интерфейс без next-hop:
# Маршрут через интерфейс (для PPPoE, туннелей)
set protocols static route 0.0.0.0/0 interface pppoe0
commit
saveПрименение:
- PPPoE подключения
- GRE, IPsec туннели
- VPN соединения
Настройка distance
# Маршрут с измененной административной дистанцией
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 distance 10
commit
saveПрименение: Резервный маршрут с более высоким distance будет использоваться только при недоступности основного.
DHCP-learned default route
При получении IP-адреса по DHCP VyOS автоматически получает и default gateway:
# DHCP на интерфейсе
set interfaces ethernet eth0 address dhcp
commit
saveПроверка DHCP-полученного маршрута:
show ip route 0.0.0.0
# Вывод покажет:
# Known via "dhcp"Приоритет: DHCP-маршруты обычно имеют distance выше, чем статические, и будут заменены статическим маршрутом.
Удаление default route
# Удалить маршрут по умолчанию
delete protocols static route 0.0.0.0/0
commit
saveКонфигурация IPv6 Default Route
Базовая конфигурация IPv6
# IPv6 default route
set protocols static route6 ::/0 next-hop 2001:db8::1
commit
saveПроверка:
show ipv6 route ::/0
# Вывод:
# Routing entry for ::/0
# Known via "static", distance 1, metric 0, best
# Last update 00:02:15 ago
# * 2001:db8::1, via eth0IPv6 через Router Advertisement
В IPv6 default route часто получается автоматически через Router Advertisement (RA):
# Включить прием RA на интерфейсе
set interfaces ethernet eth0 ipv6 address autoconf
commit
saveПроверка RA-полученного маршрута:
show ipv6 route ::/0
# Вывод покажет:
# Known via "ra" (Router Advertisement)DHCPv6 и default route
DHCPv6 не передает default gateway (по дизайну протокола). Для IPv6 default route используются:
- Router Advertisement (RA)
- Статический маршрут
- Динамический протокол маршрутизации (OSPFv3, BGP)
# Получение адреса через DHCPv6
set interfaces ethernet eth0 address dhcpv6
# Default route все равно нужен отдельно
set protocols static route6 ::/0 next-hop 2001:db8::1
commit
saveIPv6 через интерфейс
# IPv6 default route через интерфейс
set protocols static route6 ::/0 interface sit0
commit
saveПрименение: Туннели IPv6-in-IPv4, 6to4, 6rd.
Множественные маршруты по умолчанию
ECMP (Equal-Cost Multi-Path)
VyOS поддерживает балансировку трафика между несколькими равноценными маршрутами:
# Два маршрута с одинаковой метрикой
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
set protocols static route 0.0.0.0/0 next-hop 192.168.1.2
# Включить layer4 hashing для балансировки по сессиям
set system ip multipath layer4-hashing
commit
saveМеханизм балансировки:
layer4-hashing: Использует source IP, destination IP, protocol, source port, destination port- Обеспечивает сохранение порядка пакетов для одной TCP-сессии
- Распределение по принципу “per-flow”, а не “per-packet”
Проверка:
show ip route 0.0.0.0
# Вывод покажет оба next-hop:
# Routing entry for 0.0.0.0/0
# Known via "static", distance 1, metric 0, best
# * 192.168.1.1, via eth0
# * 192.168.1.2, via eth0Failover через distance
Для автоматического переключения на резервный маршрут используйте разные distance:
# Основной маршрут (distance 1)
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 distance 1
# Резервный маршрут (distance 10)
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
commit
saveПоведение:
- Используется маршрут с наименьшим distance (192.168.1.1)
- При недоступности основного next-hop активируется резервный (192.168.2.1)
- Требуется отслеживание доступности next-hop (BFD, track)
Комбинация ECMP + Failover
# Два основных маршрута с ECMP (distance 1)
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 distance 1
set protocols static route 0.0.0.0/0 next-hop 192.168.1.2 distance 1
# Резервный маршрут (distance 10)
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
# Балансировка для основных маршрутов
set system ip multipath layer4-hashing
commit
saveРезультат:
- Балансировка между 192.168.1.1 и 192.168.1.2
- Автоматическое переключение на 192.168.2.1 при недоступности обоих основных
Маршрутизация по таблицам (VRF)
Default route в VRF
VyOS поддерживает VRF (Virtual Routing and Forwarding) для изоляции маршрутных таблиц:
# Создать VRF
set vrf name CUSTOMER1 table 100
# Назначить интерфейс в VRF
set interfaces ethernet eth2 vrf CUSTOMER1
# Default route в VRF CUSTOMER1
set vrf name CUSTOMER1 protocols static route 0.0.0.0/0 next-hop 10.0.1.1
commit
saveПроверка:
# Показать маршруты в VRF
show ip route vrf CUSTOMER1
# Показать все VRF
show vrfPolicy-Based Routing (PBR) с default route
PBR позволяет направлять трафик в определенные маршруты на основе правил:
# Создать policy route
set policy route PBR rule 10 source address 192.168.10.0/24
set policy route PBR rule 10 set table 100
# Таблица маршрутизации 100
set protocols static table 100 route 0.0.0.0/0 next-hop 203.0.113.1
# Применить на интерфейсе
set interfaces ethernet eth1 policy route PBR
commit
saveПрименение: Направление трафика от определенных подсетей через конкретный ISP.
Примеры для облачных провайдеров
Yandex Cloud - Default Route
Сценарий: VyOS в Yandex Cloud с маршрутом по умолчанию к виртуальному роутеру облака.
Получение gateway Yandex Cloud:
- Gateway всегда первый IP в подсети
- Для подсети
10.128.0.0/24gateway будет10.128.0.1
Конфигурация:
# Интерфейс в Yandex Cloud подсети
set interfaces ethernet eth0 address 10.128.0.10/24
set interfaces ethernet eth0 description 'Yandex Cloud Subnet'
# Default route к Yandex Cloud gateway
set protocols static route 0.0.0.0/0 next-hop 10.128.0.1
set protocols static route 0.0.0.0/0 description 'Yandex Cloud default gateway'
commit
saveПроверка:
# Проверить маршрут
show ip route 0.0.0.0
# Проверить connectivity
ping 8.8.8.8
# Trace маршрута
traceroute 8.8.8.8Yandex Cloud специфика:
- Виртуальный роутер доступен по первому IP подсети
- Поддержка только статического маршрута (нет DHCP option 3 по умолчанию)
- Необходима статическая конфигурация
Yandex Cloud - Dual-Homed с failover
Сценарий: VyOS с двумя интерфейсами в разных подсетях для отказоустойчивости.
# Первый интерфейс (primary)
set interfaces ethernet eth0 address 10.128.0.10/24
set interfaces ethernet eth0 description 'Yandex Cloud Primary'
# Второй интерфейс (backup)
set interfaces ethernet eth1 address 10.129.0.10/24
set interfaces ethernet eth1 description 'Yandex Cloud Backup'
# Основной маршрут через eth0 (distance 1)
set protocols static route 0.0.0.0/0 next-hop 10.128.0.1 distance 1
set protocols static route 0.0.0.0/0 description 'Primary default route'
# Резервный маршрут через eth1 (distance 10)
set protocols static route 0.0.0.0/0 next-hop 10.129.0.1 distance 10
set protocols static route 0.0.0.0/0 description 'Backup default route'
commit
saveМониторинг failover:
# Постоянный мониторинг маршрута
watch -n 1 'show ip route 0.0.0.0'
# Проверка в логах
monitor logVK Cloud - Dual Default Routes с метриками
Сценарий: VK Cloud setup с двумя ISP для балансировки и резервирования.
# Интерфейс к VK Cloud router
set interfaces ethernet eth0 address 10.0.0.10/24
set interfaces ethernet eth0 description 'VK Cloud Primary'
# Второй интерфейс (backup ISP)
set interfaces ethernet eth1 address 10.0.1.10/24
set interfaces ethernet eth1 description 'VK Cloud Secondary'
# Primary default route с distance 1
set protocols static route 0.0.0.0/0 next-hop 10.0.0.1 distance 1
set protocols static route 0.0.0.0/0 description 'VK Cloud Primary ISP'
# Secondary default route с distance 20
set protocols static route 0.0.0.0/0 next-hop 10.0.1.1 distance 20
set protocols static route 0.0.0.0/0 description 'VK Cloud Backup ISP'
# NAT для обоих интерфейсов
set nat source rule 100 outbound-interface eth0
set nat source rule 100 source address 192.168.1.0/24
set nat source rule 100 translation address masquerade
set nat source rule 110 outbound-interface eth1
set nat source rule 110 source address 192.168.1.0/24
set nat source rule 110 translation address masquerade
commit
saveECMP вариант для VK Cloud:
# Два маршрута с одинаковым distance для балансировки
set protocols static route 0.0.0.0/0 next-hop 10.0.0.1 distance 1
set protocols static route 0.0.0.0/0 next-hop 10.0.1.1 distance 1
# Включить layer4 hashing
set system ip multipath layer4-hashing
commit
saveYandex Cloud - IPv6 Default Route
Сценарий: Dual-stack в Yandex Cloud с IPv4 и IPv6 маршрутами по умолчанию.
# IPv4 адрес и маршрут
set interfaces ethernet eth0 address 10.128.0.10/24
set protocols static route 0.0.0.0/0 next-hop 10.128.0.1
# IPv6 адрес и маршрут
set interfaces ethernet eth0 address 2a02:6b8::/64
set protocols static route6 ::/0 next-hop 2a02:6b8::1
commit
saveПроверка dual-stack:
# IPv4
ping 8.8.8.8
# IPv6
ping6 2001:4860:4860::8888
# Показать оба маршрута
show ip route 0.0.0.0
show ipv6 route ::/0Расширенная конфигурация
BFD для отслеживания next-hop
Bidirectional Forwarding Detection (BFD) обеспечивает быстрое обнаружение сбоев next-hop:
# Настроить BFD профиль
set protocols bfd peer 192.168.1.1 interval transmit 300
set protocols bfd peer 192.168.1.1 interval receive 300
set protocols bfd peer 192.168.1.1 interval multiplier 3
# Связать статический маршрут с BFD
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
set protocols static route 0.0.0.0/0 bfd
# Резервный маршрут
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
commit
saveПараметры BFD:
transmit: Интервал отправки BFD пакетов (мс)receive: Ожидаемый интервал приема (мс)multiplier: Количество пропущенных пакетов для детекции сбоя
Результат: При недоступности 192.168.1.1 (по BFD) маршрут автоматически переключается на резервный.
Next-hop tracking
Отслеживание доступности next-hop без BFD:
# Статический маршрут с проверкой доступности next-hop
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
set protocols static route 0.0.0.0/0 disable-route-map
# Резервный маршрут активируется при недоступности основного
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
commit
saveDefault route с SNAT
Автоматическая настройка NAT для default route:
# Default route
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
# Source NAT для исходящего трафика
set nat source rule 100 outbound-interface eth0
set nat source rule 100 source address 10.0.0.0/8
set nat source rule 100 translation address masquerade
commit
saveПрименение: Типичная конфигурация для edge роутера с приватной LAN.
Metric для влияния на выбор маршрута
# Два маршрута с разными метриками
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 distance 1
set protocols static route 0.0.0.0/0 metric 10
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 1
set protocols static route 0.0.0.0/0 metric 20
commit
saveПримечание: При одинаковом distance маршрут с меньшей метрикой будет предпочтительнее.
Null route как default
Для специальных случаев (blackhole routing, тестирование):
# Отбросить весь трафик, для которого нет маршрута
set protocols static route 0.0.0.0/0 blackhole
commit
saveПрименение: Защита от DDoS, тестирование, временная изоляция сети.
Команды проверки и диагностики
Просмотр default route
# IPv4 default route
show ip route 0.0.0.0
# Вывод:
# Routing entry for 0.0.0.0/0
# Known via "static", distance 1, metric 0, best
# Last update 00:15:32 ago
# * 192.168.1.1, via eth0
# IPv6 default route
show ipv6 route ::/0
# Все static routes
show ip route static
# Только default routes
show ip route 0.0.0.0/0Полная таблица маршрутизации
# Вся таблица маршрутизации IPv4
show ip route
# Вся таблица маршрутизации IPv6
show ipv6 route
# JSON формат для автоматизации
show ip route jsonПроверка next-hop доступности
# Ping к gateway
ping 192.168.1.1
# Traceroute через default route
traceroute 8.8.8.8
# ARP запись для gateway (должна быть resolved)
show arp | grep 192.168.1.1
# IPv6 neighbor для gateway
show ipv6 neighbors | grep 2001:db8::1Мониторинг изменений маршрута
# Real-time мониторинг таблицы маршрутизации
monitor protocol static
# Логи маршрутизации
show log | grep routing
# FRR логи (VyOS использует FRR для маршрутизации)
show log tail 100 | grep staticdПроверка ECMP балансировки
# Показать статистику интерфейсов
show interfaces ethernet eth0 statistics
show interfaces ethernet eth1 statistics
# Сравнить TX bytes для балансировки
watch -n 1 'show interfaces ethernet eth0 statistics ; show interfaces ethernet eth1 statistics'
# Kernel routing cache (только для диагностики)
ip route get 8.8.8.8BFD статус
# Показать BFD сессии
show protocols bfd peers
# Детальная информация о BFD peer
show protocols bfd peer 192.168.1.1
# Статистика BFD
show protocols bfd peer 192.168.1.1 countersVRF маршруты
# Показать маршруты в конкретном VRF
show ip route vrf CUSTOMER1
# Список всех VRF
show vrf
# Ping из VRF
ping 8.8.8.8 vrf CUSTOMER1Устранение неполадок
1. Default route не применяется
Симптомы: Пакеты не уходят через настроенный default gateway.
Проверка:
# Проверить, существует ли маршрут
show ip route 0.0.0.0
# Проверить конфигурацию
show configuration protocols static
# Проверить FRR статус
show ip protocolРешение:
# Пересоздать маршрут
delete protocols static route 0.0.0.0/0
commit
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
commit
save
# Перезапустить FRR (крайняя мера)
restart routing-daemon static2. Next-hop недоступен
Симптомы: Маршрут в таблице, но трафик не проходит.
Проверка:
# Проверить ARP для next-hop
show arp | grep 192.168.1.1
# Ping к next-hop
ping 192.168.1.1
# Проверить интерфейс
show interfaces ethernet eth0Решение:
# Проверить физическое подключение
show interfaces ethernet eth0 physical
# Очистить ARP cache
reset arp interface eth0
# Проверить IP-адрес интерфейса в той же подсети с gateway
show interfaces
# Если нужно - исправить IP
set interfaces ethernet eth0 address 192.168.1.10/24
commit3. DHCP конфликтует со статическим маршрутом
Симптомы: DHCP перезаписывает статический default route.
Проверка:
# Показать все default routes
show ip route 0.0.0.0
# Проверить DHCP конфигурацию
show interfaces ethernet eth0 | grep dhcpРешение:
# Вариант 1: Отключить DHCP option 3 (gateway)
set interfaces ethernet eth0 dhcp-options no-default-route
commit
save
# Вариант 2: Использовать более низкий distance для static route
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 distance 1
commit
save
# DHCP маршруты обычно имеют distance > 204. Failover не переключается
Симптомы: При сбое основного маршрута резервный не активируется.
Проверка:
# Проверить distance обоих маршрутов
show ip route 0.0.0.0 detail
# Проверить connectivity к next-hop
ping 192.168.1.1
ping 192.168.2.1
# Проверить BFD (если используется)
show protocols bfd peersРешение:
# Убедиться в разных distance
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 distance 1
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
commit
save
# Настроить BFD для быстрого детекта
set protocols bfd peer 192.168.1.1 interval transmit 300
set protocols bfd peer 192.168.1.1 interval receive 300
set protocols bfd peer 192.168.1.1 interval multiplier 3
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 bfd
commit
save5. ECMP не балансирует трафик
Симптомы: Весь трафик идет через один из маршрутов.
Проверка:
# Проверить оба маршрута в таблице
show ip route 0.0.0.0
# Должно быть два next-hop с одинаковым distance и metric
# Проверить multipath конфигурацию
show configuration system ip multipathРешение:
# Убедиться, что distance и metric одинаковые
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
set protocols static route 0.0.0.0/0 next-hop 192.168.1.2
# Включить layer4-hashing
set system ip multipath layer4-hashing
commit
save
# Проверить kernel балансировку
ip route show 0.0.0.0/0
# Должно показать: nexthop via 192.168.1.1 ... nexthop via 192.168.1.26. IPv6 default route отсутствует
Симптомы: IPv4 работает, IPv6 connectivity нет.
Проверка:
# Проверить IPv6 маршруты
show ipv6 route ::/0
# Проверить IPv6 на интерфейсе
show interfaces ethernet eth0 | grep inet6
# Проверить RA (если ожидается автоконфигурация)
tcpdump -i eth0 -n icmp6Решение:
# Вариант 1: Статический IPv6 маршрут
set protocols static route6 ::/0 next-hop 2001:db8::1
commit
save
# Вариант 2: Автоконфигурация через RA
set interfaces ethernet eth0 ipv6 address autoconf
commit
save
# Проверить connectivity
ping6 2001:4860:4860::88887. Маршрут в таблице, но трафик не идет
Симптомы: show ip route показывает маршрут, но ping не работает.
Проверка:
# Проверить firewall
show firewall
# Проверить NAT (если edge router)
show nat source rules
# Проверить IP forwarding
sysctl net.ipv4.ip_forward
# Проверить интерфейс status
show interfacesРешение:
# Убедиться, что IP forwarding включен (должен быть по умолчанию)
# НЕ использовать эту команду (она ОТКЛЮЧИТ forwarding):
# set system ip disable-forwarding
# Проверить, что forwarding активен
sysctl net.ipv4.ip_forward
# Должно быть: net.ipv4.ip_forward = 1
# Настроить NAT для исходящего трафика (если нужен)
set nat source rule 100 outbound-interface eth0
set nat source rule 100 source address 192.168.0.0/16
set nat source rule 100 translation address masquerade
# Разрешить исходящий трафик в firewall
set firewall name LAN_OUT rule 10 action accept
set firewall interface eth1 out name LAN_OUT
commit
save8. Yandex Cloud connectivity проблемы
Симптомы: VyOS в Yandex Cloud не может достучаться до интернета.
Проверка:
# Проверить IP конфигурацию
show interfaces
# Проверить default route
show ip route 0.0.0.0
# Ping к Yandex Cloud gateway (первый IP подсети)
ping 10.128.0.1
# Проверить Yandex Cloud metadata service
curl http://169.254.169.254/latest/meta-data/Решение:
# Корректная конфигурация для Yandex Cloud
# Gateway = первый IP в подсети
# Для подсети 10.128.0.0/24:
set interfaces ethernet eth0 address 10.128.0.10/24
set protocols static route 0.0.0.0/0 next-hop 10.128.0.1
# Для подсети 192.168.1.0/24:
set interfaces ethernet eth0 address 192.168.1.10/24
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
commit
save
# Проверить Security Group в Yandex Cloud Console
# Должен разрешать ICMP, TCP, UDP outboundЛучшие практики
1. Документирование маршрутов
Всегда добавляйте описание к маршрутам по умолчанию:
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
set protocols static route 0.0.0.0/0 description 'Primary ISP - Provider A'
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
set protocols static route 0.0.0.0/0 description 'Backup ISP - Provider B'
commit
save2. Использование distance для приоритизации
Рекомендуемые значения distance:
- Primary static route: 1-5
- Backup static route: 10-20
- DHCP-learned route: обычно 20+ (автоматически)
- Динамические протоколы: 110 (OSPF), 200 (BGP)
# Основной
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 distance 1
# Резервный
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
# Аварийный (например, через дорогой LTE)
set protocols static route 0.0.0.0/0 next-hop 192.168.3.1 distance 203. ECMP для балансировки
Используйте ECMP только для соединений с равной пропускной способностью:
# Два канала 100 Mbps каждый
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
set protocols static route 0.0.0.0/0 next-hop 192.168.1.2
set system ip multipath layer4-hashing
commit
saveНе используйте ECMP для каналов с разной пропускной способностью (100 Mbps + 10 Mbps) - это приведет к неэффективному использованию.
4. BFD для критичных маршрутов
Для production используйте BFD для быстрого обнаружения сбоев:
# BFD с агрессивными таймерами для критичных систем
set protocols bfd peer 192.168.1.1 interval transmit 300
set protocols bfd peer 192.168.1.1 interval receive 300
set protocols bfd peer 192.168.1.1 interval multiplier 3
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1 bfd
# Резервный маршрут
set protocols static route 0.0.0.0/0 next-hop 192.168.2.1 distance 10
commit
saveFailover время: 300ms × 3 = 900ms при агрессивных настройках.
5. IPv6 наравне с IPv4
Всегда настраивайте IPv6 default route вместе с IPv4:
# IPv4
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
# IPv6
set protocols static route6 ::/0 next-hop 2001:db8::1
commit
save6. NAT для edge роутеров
Связывайте default route с NAT для исходящего трафика:
# Default route
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
# Source NAT на outbound интерфейсе
set nat source rule 100 outbound-interface eth0
set nat source rule 100 source address 10.0.0.0/8
set nat source rule 100 translation address masquerade
commit
save7. Мониторинг маршрутов
Регулярно проверяйте состояние маршрутов:
# Скрипт для мониторинга
cat > /config/scripts/check-default-route.sh << 'EOF'
#!/bin/bash
ROUTE=$(ip route show 0.0.0.0/0)
if [ -z "$ROUTE" ]; then
logger -t DEFAULT_ROUTE "CRITICAL: No default route found"
# Отправить алерт
echo "No default route!" | mail -s "VyOS Alert" admin@example.com
else
logger -t DEFAULT_ROUTE "OK: Default route is present"
fi
EOF
chmod +x /config/scripts/check-default-route.sh
# Запланировать проверку
set system task-scheduler task check-route interval '*/5 * * * *'
set system task-scheduler task check-route executable path '/config/scripts/check-default-route.sh'
commit
save8. Облачные провайдеры
Yandex Cloud:
- Gateway = первый IP в подсети
- Используйте статические маршруты (не полагайтесь на DHCP option 3)
- Проверяйте Security Groups для outbound connectivity
VK Cloud:
- Аналогично Yandex Cloud - gateway первый IP
- Dual-homed конфигурация для redundancy
- Используйте distance для failover
AWS, Azure, GCP:
- Обычно используется DHCP для default route
- Для static маршрутов проверяйте VPC route tables
- Учитывайте route propagation в облаке
9. Резервное копирование конфигурации
Всегда сохраняйте working config после изменения маршрутов:
# После настройки маршрутов
commit
save
# Создать backup
save /config/backups/config-$(date +%Y%m%d-%H%M).boot10. Тестирование перед production
Проверяйте маршруты перед внедрением:
# 1. Проверить connectivity
ping 8.8.8.8
# 2. Traceroute
traceroute 8.8.8.8
# 3. DNS resolution
nslookup google.com
# 4. Проверить failover (если настроен)
# Временно отключить primary next-hop и проверить переключение
# 5. Проверить ECMP балансировку
for i in {1..10}; do traceroute -n 8.8.8.$i | head -2; doneСравнение с другими платформами
Cisco IOS
Cisco IOS:
ip route 0.0.0.0 0.0.0.0 192.168.1.1VyOS эквивалент:
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1Juniper JunOS
Juniper JunOS:
set routing-options static route 0.0.0.0/0 next-hop 192.168.1.1VyOS эквивалент:
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1MikroTik RouterOS
MikroTik:
/ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1VyOS эквивалент:
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1Linux iproute2
Linux:
ip route add default via 192.168.1.1VyOS эквивалент:
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1Заключение
Маршрут по умолчанию - критически важный элемент конфигурации VyOS, определяющий путь для всего исходящего трафика без более специфичных маршрутов. Современный VyOS использует синтаксис protocols static route для настройки default route как для IPv4 (0.0.0.0/0), так и для IPv6 (::/0).
Ключевые моменты:
- Используйте
distanceдля failover между несколькими маршрутами - ECMP с
layer4-hashingдля балансировки между равноценными каналами - BFD для быстрого обнаружения сбоев next-hop
- Всегда документируйте маршруты через
description - Проверяйте connectivity после изменений
Для облачных окружений (Yandex Cloud, VK Cloud) используйте статические маршруты с gateway равным первому IP в подсети. Для отказоустойчивости настраивайте несколько маршрутов с разными distance, опционально с BFD для быстрого failover.
Правильная настройка default route обеспечивает надежное соединение с внешними сетями и является основой для построения масштабируемой и отказоустойчивой сетевой инфраструктуры на базе VyOS.