VTI интерфейсы (Virtual Tunnel Interface) в VyOS
VTI (Virtual Tunnel Interface) - это виртуальный туннельный интерфейс для route-based IPsec VPN. VTI обеспечивает более гибкий и масштабируемый подход к IPsec по сравнению с policy-based VPN.
Обзор
Что такое VTI
VTI создает виртуальный point-to-point интерфейс для IPsec туннеля:
Site A (192.168.1.0/24)
|
[VyOS A] ---- VTI (172.16.0.1/30) ---- IPsec Tunnel ---- VTI (172.16.0.2/30) ---- [VyOS B]
| |
Site B (192.168.2.0/24)Route-based vs Policy-based VPN
Policy-based VPN:
- Traffic selectors определяют какой трафик шифруется
- Сложная конфигурация для множества подсетей
- Трудно использовать с динамическим routing
Route-based VPN (VTI):
- VTI интерфейс как обычный network интерфейс
- Routing определяет трафик через VPN
- Поддержка динамического routing (OSPF, BGP)
- Проще масштабировать
Преимущества VTI
- Динамический routing - OSPF, BGP через IPsec
- Гибкость - любой трафик через VTI шифруется
- Масштабируемость - легко добавлять новые подсети
- QoS - можно применять traffic-policy к VTI
- Мониторинг - статистика как на обычном интерфейсе
- Firewall - firewall rules на VTI интерфейсе
Когда использовать VTI
Используйте VTI когда:
- Нужен динамический routing через IPsec
- Множество подсетей за VPN
- Требуется гибкая маршрутизация
- Site-to-site VPN между VyOS роутерами
Используйте policy-based когда:
- Простой site-to-site (мало подсетей)
- Legacy оборудование не поддерживает VTI
- Нужен точный контроль traffic selectors
Базовая конфигурация
Простой VTI туннель
Site A конфигурация
# VTI интерфейс
set interfaces vti vti0 address 172.16.0.1/30
set interfaces vti vti0 description 'IPsec to Site B'
# IPsec конфигурация
set vpn ipsec authentication psk site-b id '203.0.113.1'
set vpn ipsec authentication psk site-b id '203.0.113.2'
set vpn ipsec authentication psk site-b secret 'SuperSecretKey123!'
# IKE group
set vpn ipsec ike-group IKE-SiteB key-exchange 'ikev2'
set vpn ipsec ike-group IKE-SiteB lifetime '28800'
set vpn ipsec ike-group IKE-SiteB proposal 1 dh-group '14'
set vpn ipsec ike-group IKE-SiteB proposal 1 encryption 'aes256'
set vpn ipsec ike-group IKE-SiteB proposal 1 hash 'sha256'
# ESP group
set vpn ipsec esp-group ESP-SiteB lifetime '3600'
set vpn ipsec esp-group ESP-SiteB pfs 'dh-group14'
set vpn ipsec esp-group ESP-SiteB proposal 1 encryption 'aes256'
set vpn ipsec esp-group ESP-SiteB proposal 1 hash 'sha256'
# Site-to-site peer с VTI binding
set vpn ipsec site-to-site peer site-b authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer site-b authentication pre-shared-secret 'site-b'
set vpn ipsec site-to-site peer site-b connection-type 'initiate'
set vpn ipsec site-to-site peer site-b ike-group 'IKE-SiteB'
set vpn ipsec site-to-site peer site-b default-esp-group 'ESP-SiteB'
set vpn ipsec site-to-site peer site-b local-address '203.0.113.1'
set vpn ipsec site-to-site peer site-b remote-address '203.0.113.2'
# Привязка VTI к peer
set vpn ipsec site-to-site peer site-b vti bind 'vti0'
set vpn ipsec site-to-site peer site-b vti esp-group 'ESP-SiteB'
# Отключить автоматическую установку маршрутов
set vpn ipsec options disable-route-autoinstall
# Статический маршрут через VTI
set protocols static route 192.168.2.0/24 interface vti0
commit
saveSite B конфигурация
# VTI интерфейс (обратные адреса)
set interfaces vti vti0 address 172.16.0.2/30
set interfaces vti vti0 description 'IPsec to Site A'
# IPsec (те же PSK, IKE, ESP groups)
set vpn ipsec authentication psk site-a id '203.0.113.2'
set vpn ipsec authentication psk site-a id '203.0.113.1'
set vpn ipsec authentication psk site-a secret 'SuperSecretKey123!'
set vpn ipsec ike-group IKE-SiteA key-exchange 'ikev2'
set vpn ipsec ike-group IKE-SiteA lifetime '28800'
set vpn ipsec ike-group IKE-SiteA proposal 1 dh-group '14'
set vpn ipsec ike-group IKE-SiteA proposal 1 encryption 'aes256'
set vpn ipsec ike-group IKE-SiteA proposal 1 hash 'sha256'
set vpn ipsec esp-group ESP-SiteA lifetime '3600'
set vpn ipsec esp-group ESP-SiteA pfs 'dh-group14'
set vpn ipsec esp-group ESP-SiteA proposal 1 encryption 'aes256'
set vpn ipsec esp-group ESP-SiteA proposal 1 hash 'sha256'
# Peer конфигурация
set vpn ipsec site-to-site peer site-a authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer site-a authentication pre-shared-secret 'site-a'
set vpn ipsec site-to-site peer site-a connection-type 'respond'
set vpn ipsec site-to-site peer site-a ike-group 'IKE-SiteA'
set vpn ipsec site-to-site peer site-a default-esp-group 'ESP-SiteA'
set vpn ipsec site-to-site peer site-a local-address '203.0.113.2'
set vpn ipsec site-to-site peer site-a remote-address '203.0.113.1'
set vpn ipsec site-to-site peer site-a vti bind 'vti0'
set vpn ipsec site-to-site peer site-a vti esp-group 'ESP-SiteA'
set vpn ipsec options disable-route-autoinstall
# Маршрут к Site A
set protocols static route 192.168.1.0/24 interface vti0
commit
saveПроверка VTI туннеля
# Статус VTI интерфейса
show interfaces vti
# Детали VTI
show interfaces vti vti0
# IPsec SA (Security Associations)
show vpn ipsec sa
# Ping через туннель
ping 172.16.0.2 source-address 172.16.0.1
ping 192.168.2.10 source-address 192.168.1.1
# Трафик через VTI
show interfaces vti vti0 statisticsДинамический routing через VTI
VTI с OSPF
Site A
# VTI интерфейс
set interfaces vti vti0 address 172.16.0.1/30
# IPsec конфигурация (как выше)
# ...
# OSPF через VTI
set protocols ospf area 0 network 172.16.0.0/30
set protocols ospf area 0 network 192.168.1.0/24
# Или привязка к интерфейсу
set protocols ospf interface vti0 area 0
set protocols ospf interface eth1 area 0
# OSPF аутентификация на VTI
set protocols ospf interface vti0 authentication md5 key-id 1 md5-key 'OSPFSecret!'
commitSite B
set interfaces vti vti0 address 172.16.0.2/30
# OSPF
set protocols ospf area 0 network 172.16.0.0/30
set protocols ospf area 0 network 192.168.2.0/24
set protocols ospf interface vti0 area 0
set protocols ospf interface vti0 authentication md5 key-id 1 md5-key 'OSPFSecret!'
commitПроверка:
# OSPF neighbors через VTI
show ip ospf neighbor
# OSPF маршруты
show ip route ospf
# Детали OSPF интерфейса
show ip ospf interface vti0VTI с BGP
Hub (AS 65000)
# VTI к Spoke 1
set interfaces vti vti1 address 172.16.1.1/30
# VTI к Spoke 2
set interfaces vti vti2 address 172.16.2.1/30
# BGP конфигурация
set protocols bgp system-as 65000
set protocols bgp parameters router-id 10.0.0.1
# BGP neighbor через VTI1
set protocols bgp neighbor 172.16.1.2 remote-as 65001
set protocols bgp neighbor 172.16.1.2 description 'Spoke 1'
set protocols bgp neighbor 172.16.1.2 address-family ipv4-unicast
# BGP neighbor через VTI2
set protocols bgp neighbor 172.16.2.2 remote-as 65002
set protocols bgp neighbor 172.16.2.2 description 'Spoke 2'
set protocols bgp neighbor 172.16.2.2 address-family ipv4-unicast
# Анонсировать локальные сети
set protocols bgp address-family ipv4-unicast network 10.0.0.0/16
commitSpoke 1 (AS 65001)
set interfaces vti vti1 address 172.16.1.2/30
set protocols bgp system-as 65001
set protocols bgp parameters router-id 10.1.0.1
set protocols bgp neighbor 172.16.1.1 remote-as 65000
set protocols bgp neighbor 172.16.1.1 description 'Hub'
set protocols bgp neighbor 172.16.1.1 address-family ipv4-unicast
set protocols bgp address-family ipv4-unicast network 10.1.0.0/16
commitПроверка:
# BGP summary
show ip bgp summary
# BGP neighbors
show ip bgp neighbors 172.16.1.2
# BGP routes
show ip bgpМножественные VTI туннели
Hub-and-Spoke топология
Hub с тремя Spoke:
# Hub конфигурация
# VTI к Spoke 1
set interfaces vti vti1 address 172.16.1.1/30
set interfaces vti vti1 description 'Tunnel to Spoke 1'
# VTI к Spoke 2
set interfaces vti vti2 address 172.16.2.1/30
set interfaces vti vti2 description 'Tunnel to Spoke 2'
# VTI к Spoke 3
set interfaces vti vti3 address 172.16.3.1/30
set interfaces vti vti3 description 'Tunnel to Spoke 3'
# IPsec peers
set vpn ipsec site-to-site peer spoke1 remote-address '203.0.113.11'
set vpn ipsec site-to-site peer spoke1 vti bind 'vti1'
set vpn ipsec site-to-site peer spoke1 vti esp-group 'ESP-DEFAULT'
# ... (IKE, ESP, auth конфигурация)
set vpn ipsec site-to-site peer spoke2 remote-address '203.0.113.12'
set vpn ipsec site-to-site peer spoke2 vti bind 'vti2'
set vpn ipsec site-to-site peer spoke2 vti esp-group 'ESP-DEFAULT'
set vpn ipsec site-to-site peer spoke3 remote-address '203.0.113.13'
set vpn ipsec site-to-site peer spoke3 vti bind 'vti3'
set vpn ipsec site-to-site peer spoke3 vti esp-group 'ESP-DEFAULT'
# OSPF для анонсирования маршрутов
set protocols ospf area 0 network 172.16.1.0/30
set protocols ospf area 0 network 172.16.2.0/30
set protocols ospf area 0 network 172.16.3.0/30
set protocols ospf area 0 network 10.0.0.0/16
commitFull Mesh VTI
Для полной связности между всеми site:
# Site A - VTI к Site B и Site C
# VTI к Site B
set interfaces vti vti10 address 172.16.10.1/30
set vpn ipsec site-to-site peer site-b vti bind 'vti10'
# VTI к Site C
set interfaces vti vti20 address 172.16.20.1/30
set vpn ipsec site-to-site peer site-c vti bind 'vti20'
# OSPF для автоматического обмена маршрутами
set protocols ospf area 0 network 172.16.10.0/30
set protocols ospf area 0 network 172.16.20.0/30
commitПродвинутые конфигурации
VTI с BFD (Bidirectional Forwarding Detection)
BFD для быстрого обнаружения отказа туннеля:
# VTI интерфейс
set interfaces vti vti0 address 172.16.0.1/30
# BFD на VTI
set protocols bfd peer 172.16.0.2 interval receive 300
set protocols bfd peer 172.16.0.2 interval transmit 300
set protocols bfd peer 172.16.0.2 minimum-ttl 254
# OSPF с BFD
set protocols ospf interface vti0 bfd
# BGP с BFD
set protocols bgp neighbor 172.16.0.2 bfd
commitBFD обеспечивает:
- Быстрое обнаружение отказа (sub-second)
- Автоматическое переключение на backup туннель
- Лучше чем OSPF/BGP hello таймеры
VTI с policy routing
Policy-based routing через VTI:
# Два VTI туннеля (primary и backup)
set interfaces vti vti0 address 172.16.0.1/30
set interfaces vti vti1 address 172.16.1.1/30
# Route map для критичного трафика через primary
set policy route CRITICAL rule 10 destination address 192.168.10.0/24
set policy route CRITICAL rule 10 set interface vti0
# Остальной трафик через backup
set policy route CRITICAL rule 20 set interface vti1
# Применить к входящему интерфейсу
set interfaces ethernet eth1 policy route CRITICAL
commitVTI с QoS
Traffic shaping на VTI:
# VTI интерфейс
set interfaces vti vti0 address 172.16.0.1/30
# Traffic policy
set traffic-policy shaper VPN-LIMIT bandwidth 100mbit
set traffic-policy shaper VPN-LIMIT default bandwidth 80mbit
set traffic-policy shaper VPN-LIMIT default ceiling 100mbit
set traffic-policy shaper VPN-LIMIT default priority 5
# Высокий приоритет для VoIP
set traffic-policy shaper VPN-LIMIT class 10 bandwidth 20mbit
set traffic-policy shaper VPN-LIMIT class 10 ceiling 30mbit
set traffic-policy shaper VPN-LIMIT class 10 priority 7
set traffic-policy shaper VPN-LIMIT class 10 match voip ip dscp ef
# Применить к VTI
set interfaces vti vti0 traffic-policy out VPN-LIMIT
commitVTI с firewall
Firewall на VTI для контроля трафика:
# Input firewall на VTI
set firewall ipv4 input filter rule 100 action accept
set firewall ipv4 input filter rule 100 inbound-interface name vti0
set firewall ipv4 input filter rule 100 state established
set firewall ipv4 input filter rule 100 state related
# Forward через VTI (разрешить только определенные порты)
set firewall ipv4 forward filter rule 200 action accept
set firewall ipv4 forward filter rule 200 inbound-interface name vti0
set firewall ipv4 forward filter rule 200 destination port 80,443
set firewall ipv4 forward filter rule 200 protocol tcp
# Логирование отброшенных пакетов
set firewall ipv4 forward filter rule 299 action drop
set firewall ipv4 forward filter rule 299 inbound-interface name vti0
set firewall ipv4 forward filter rule 299 log
commitVTI с MTU tuning
Правильный MTU критичен для VTI:
# VTI MTU (IPsec overhead ~60-80 bytes)
set interfaces vti vti0 mtu 1400
# Или расчет: 1500 (Ethernet) - 20 (IP) - 8 (ESP) - 50 (IPsec overhead) = 1422
set interfaces vti vti0 mtu 1422
# MSS clamping для TCP
set firewall ipv4 forward filter rule 50 action accept
set firewall ipv4 forward filter rule 50 protocol tcp
set firewall ipv4 forward filter rule 50 tcp flags syn
set firewall ipv4 forward filter rule 50 tcp mss 1380
commitRedundant VTI (Primary/Backup)
# Primary VTI через ISP1
set interfaces vti vti0 address 172.16.0.1/30
set vpn ipsec site-to-site peer site-b-primary remote-address '203.0.113.2'
set vpn ipsec site-to-site peer site-b-primary vti bind 'vti0'
# Backup VTI через ISP2
set interfaces vti vti1 address 172.16.1.1/30
set vpn ipsec site-to-site peer site-b-backup remote-address '198.51.100.2'
set vpn ipsec site-to-site peer site-b-backup vti bind 'vti1'
# Routing с метриками (primary distance 10, backup distance 20)
set protocols static route 192.168.2.0/24 interface vti0 distance 10
set protocols static route 192.168.2.0/24 interface vti1 distance 20
commitМониторинг и диагностика
Проверка VTI статуса
# Список VTI интерфейсов
show interfaces vti
# Детали конкретного VTI
show interfaces vti vti0
# Статистика
show interfaces vti vti0 statistics
# Brief информация
show interfaces vti vti0 briefПример вывода:
vti0: <POINTOPOINT,NOARP,UP,LOWER_UP>
inet 172.16.0.1/30
RX: bytes packets errors dropped
1.2 GB 850120 0 0
TX: bytes packets errors dropped
890 MB 720340 0 0Проверка IPsec SA
# IPsec Security Associations
show vpn ipsec sa
# Детальная информация
show vpn ipsec sa detail
# Конкретный peer
show vpn ipsec sa peer 203.0.113.2Проверка connectivity
# Ping VTI peer
ping 172.16.0.2
# Ping с source
ping 192.168.2.10 source-address 192.168.1.1
# Traceroute
traceroute 192.168.2.10
# MTU discovery
ping 192.168.2.10 size 1400 do-not-fragmentМониторинг routing
# Все маршруты
show ip route
# Маршруты через VTI
show ip route interface vti0
# OSPF маршруты
show ip route ospf
# BGP маршруты
show ip route bgpЛоги и debugging
# IPsec логи
show log vpn ipsec
# Live monitoring
monitor log vpn
# Увеличить уровень логирования
set vpn ipsec logging level 2
commit
# Просмотр kernel messages
show log kernel | grep vtitcpdump на VTI
# Захват трафика на VTI (уже расшифрованный)
sudo tcpdump -i vti0 -n
# С детальным выводом
sudo tcpdump -i vti0 -n -v
# Сохранить в файл
sudo tcpdump -i vti0 -w /tmp/vti0.pcap
# Захват на физическом интерфейсе (зашифрованный ESP)
sudo tcpdump -i eth0 esp -nTroubleshooting
VTI интерфейс в состоянии DOWN
Проблема: VTI интерфейс показывает DOWN.
Причины:
- IPsec туннель не установлен
- Неправильная привязка VTI к peer
- Ошибки в IPsec конфигурации
Диагностика:
# Проверить IPsec SA
show vpn ipsec sa
# Проверить VTI binding
show interfaces vti vti0
# Kernel messages
dmesg | grep vtiРешение:
# Перезапустить IPsec
restart vpn ipsec
# Проверить привязку
show configuration vpn ipsec site-to-site peer site-b vti
# Убедиться что peer установлен
show vpn ipsec sa peer site-bНет трафика через VTI
Проблема: VTI интерфейс UP, но нет связности.
Причины:
- Отсутствуют маршруты
- Firewall блокирует
- NAT exclude правила
Диагностика:
# Проверить маршруты
show ip route
# Ping VTI peer
ping 172.16.0.2
# Firewall
show firewall ipv4 forward filter
# NAT rules
show nat source rulesРешение:
# Добавить маршрут
set protocols static route 192.168.2.0/24 interface vti0
# NAT exclude для VPN трафика
set nat source rule 10 outbound-interface name eth0
set nat source rule 10 source address 192.168.1.0/24
set nat source rule 10 destination address 192.168.2.0/24
set nat source rule 10 exclude
commitIPsec туннель постоянно переустанавливается
Проблема: IPsec SA постоянно down/up.
Причины:
- MTU проблемы
- Firewall блокирует keepalive
- NAT traversal проблемы
- Несовместимые lifetime настройки
Решение:
# Уменьшить MTU
set interfaces vti vti0 mtu 1400
# DPD (Dead Peer Detection)
set vpn ipsec site-to-site peer site-b dpd action 'restart'
set vpn ipsec site-to-site peer site-b dpd interval 30
set vpn ipsec site-to-site peer site-b dpd timeout 120
# NAT traversal
set vpn ipsec options nat-traversal enable
commitOSPF не работает через VTI
Проблема: OSPF neighbors не устанавливаются.
Причины:
- VTI в состоянии DOWN
- Неправильная OSPF network конфигурация
- MTU mismatch
- Authentication mismatch
Диагностика:
# OSPF neighbors
show ip ospf neighbor
# OSPF интерфейс
show ip ospf interface vti0
# OSPF debug
monitor protocol ospfРешение:
# Привязать OSPF к VTI
set protocols ospf interface vti0 area 0
# Network type
set protocols ospf interface vti0 network point-to-point
# MTU
set interfaces vti vti0 mtu 1400
commitАсимметричный routing через VTI
Проблема: Трафик идет через VTI в одну сторону, но не обратно.
Причины:
- Маршруты настроены только на одной стороне
- Firewall блокирует return трафик
- NAT проблемы
Решение:
# Убедиться что маршруты настроены на обеих сторонах
# Site A:
set protocols static route 192.168.2.0/24 interface vti0
# Site B:
set protocols static route 192.168.1.0/24 interface vti0
# Или использовать динамический routing (OSPF/BGP)Примеры конфигураций
Пример 1: Простой Site-to-Site с статическими маршрутами
Топология:
- Site A: 192.168.1.0/24, WAN 203.0.113.1
- Site B: 192.168.2.0/24, WAN 203.0.113.2
- VTI: 172.16.0.0/30
Site A:
# VTI
set interfaces vti vti0 address 172.16.0.1/30
set interfaces vti vti0 description 'IPsec to Site B'
# IPsec
set vpn ipsec authentication psk site-b id '203.0.113.1'
set vpn ipsec authentication psk site-b id '203.0.113.2'
set vpn ipsec authentication psk site-b secret 'MyStrongSecret123!'
set vpn ipsec ike-group IKE-SITEB key-exchange ikev2
set vpn ipsec ike-group IKE-SITEB lifetime 28800
set vpn ipsec ike-group IKE-SITEB proposal 1 dh-group 14
set vpn ipsec ike-group IKE-SITEB proposal 1 encryption aes256
set vpn ipsec ike-group IKE-SITEB proposal 1 hash sha256
set vpn ipsec esp-group ESP-SITEB lifetime 3600
set vpn ipsec esp-group ESP-SITEB pfs dh-group14
set vpn ipsec esp-group ESP-SITEB proposal 1 encryption aes256
set vpn ipsec esp-group ESP-SITEB proposal 1 hash sha256
set vpn ipsec site-to-site peer site-b authentication mode pre-shared-secret
set vpn ipsec site-to-site peer site-b authentication pre-shared-secret site-b
set vpn ipsec site-to-site peer site-b connection-type initiate
set vpn ipsec site-to-site peer site-b ike-group IKE-SITEB
set vpn ipsec site-to-site peer site-b default-esp-group ESP-SITEB
set vpn ipsec site-to-site peer site-b local-address 203.0.113.1
set vpn ipsec site-to-site peer site-b remote-address 203.0.113.2
set vpn ipsec site-to-site peer site-b vti bind vti0
set vpn ipsec site-to-site peer site-b vti esp-group ESP-SITEB
set vpn ipsec options disable-route-autoinstall
# Static route
set protocols static route 192.168.2.0/24 interface vti0
commit
saveПример 2: Hub-and-Spoke с OSPF
Hub:
# VTI к трем Spoke
set interfaces vti vti1 address 172.16.1.1/30
set interfaces vti vti2 address 172.16.2.1/30
set interfaces vti vti3 address 172.16.3.1/30
# IPsec peers (упрощенно)
set vpn ipsec site-to-site peer spoke1 remote-address 203.0.113.11
set vpn ipsec site-to-site peer spoke1 vti bind vti1
# ... (IKE, ESP, auth)
set vpn ipsec site-to-site peer spoke2 remote-address 203.0.113.12
set vpn ipsec site-to-site peer spoke2 vti bind vti2
set vpn ipsec site-to-site peer spoke3 remote-address 203.0.113.13
set vpn ipsec site-to-site peer spoke3 vti bind vti3
# OSPF
set protocols ospf parameters router-id 10.0.0.1
set protocols ospf area 0 network 172.16.1.0/30
set protocols ospf area 0 network 172.16.2.0/30
set protocols ospf area 0 network 172.16.3.0/30
set protocols ospf area 0 network 10.0.0.0/24
commitSpoke 1:
set interfaces vti vti1 address 172.16.1.2/30
set vpn ipsec site-to-site peer hub remote-address 203.0.113.1
set vpn ipsec site-to-site peer hub vti bind vti1
set protocols ospf parameters router-id 10.1.0.1
set protocols ospf area 0 network 172.16.1.0/30
set protocols ospf area 0 network 10.1.0.0/24
commitПример 3: Redundant VPN с automatic failover
# Primary VTI
set interfaces vti vti0 address 172.16.0.1/30
set interfaces vti vti0 description 'Primary VPN'
# Backup VTI
set interfaces vti vti1 address 172.16.1.1/30
set interfaces vti vti1 description 'Backup VPN'
# IPsec primary
set vpn ipsec site-to-site peer primary remote-address 203.0.113.2
set vpn ipsec site-to-site peer primary vti bind vti0
# ... (IKE, ESP, auth)
# IPsec backup
set vpn ipsec site-to-site peer backup remote-address 198.51.100.2
set vpn ipsec site-to-site peer backup vti bind vti1
# ... (IKE, ESP, auth)
# OSPF через оба туннеля
set protocols ospf interface vti0 area 0
set protocols ospf interface vti0 cost 10
set protocols ospf interface vti0 bfd
set protocols ospf interface vti1 area 0
set protocols ospf interface vti1 cost 20
set protocols ospf interface vti1 bfd
# BFD для быстрого failover
set protocols bfd peer 172.16.0.2 interval receive 300
set protocols bfd peer 172.16.0.2 interval transmit 300
set protocols bfd peer 172.16.1.2 interval receive 300
set protocols bfd peer 172.16.1.2 interval transmit 300
commitЛучшие практики
Используйте VTI для route-based VPN:
- Когда нужен динамический routing
- Множество подсетей
- Гибкая маршрутизация
MTU конфигурация:
- VTI MTU: 1400-1422
- Тестируйте MTU:
ping <ip> size 1400 do-not-fragment - MSS clamping для TCP: 1380
Динамический routing:
- OSPF для простых топологий
- BGP для complex routing policies
- BFD для быстрого failover
Безопасность:
- Используйте сильное шифрование (AES-256, SHA-256)
- PFS (Perfect Forward Secrecy)
- Регулярная ротация ключей
Monitoring:
- Отслеживайте VTI status
- IPsec SA lifetime
- Routing через VTI
- Bandwidth utilization
Redundancy:
- Primary/Backup VTI туннели
- BFD для быстрого failover
- OSPF/BGP для automatic rerouting
QoS:
- Traffic shaping на VTI для критичных приложений
- Приоритизация VoIP/video трафика
Firewall:
- Контроль трафика через VTI
- Логирование для security audit
Описания:
- Добавляйте description к VTI интерфейсам
- Документируйте назначение каждого туннеля
Тестирование:
- Тестируйте failover
- Проверяйте connectivity
- Мониторьте performance
Заключение
VTI (Virtual Tunnel Interface) предоставляет гибкий и масштабируемый подход к построению IPsec VPN. Основные преимущества:
- Динамический routing через туннель (OSPF, BGP)
- Гибкая маршрутизация без сложных traffic selectors
- Масштабируемость для множества подсетей
- QoS и firewall на VTI интерфейсе
- Мониторинг как обычного интерфейса
VTI идеален для:
- Enterprise site-to-site VPN
- Hub-and-spoke топологии
- Сложные сетевые архитектуры с динамическим routing
- Redundant VPN с automatic failover
Используйте VTI когда нужна гибкость и масштабируемость route-based VPN. Для простых site-to-site сценариев policy-based IPsec может быть проще.