У клиента возникла срочная необходимость связать между собой два распределённых географически маршрутизатора. Один из самых быстрых способов это сделать на имеющемся у клиента оборудовании - использовать GRE.
Краткая справка:
GRE (англ. Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол туннелирования сетевых пакетов, разработанный компанией Cisco Systems.
Схема сети
Чтобы понять что с чем связывать и какая адресация уже имеется, набросал простую схему, которая не соответствует никаким стандартам, но позволяет быстро понять где какие подсети и адреса используются:
Настройка GRE в VyOS
Для настройки VyOS выполним несколько простых команд:
set interfaces tunnel tun0 address '10.10.110.1/24'
set interfaces tunnel tun0 description '#### Tunnel-to-office ####'
set interfaces tunnel tun0 encapsulation 'gre'
set interfaces tunnel tun0 remote '191.143.15.28'
set interfaces tunnel tun0 source-address '184.17.66.92'
set protocols static route 10.10.20.0/24 next-hop 10.10.110.2
Настройка MikroTik
Чтобы настроить то же самое в MikroTik, можно воспользоваться как CLI, так и GUI.
Настройка MikroTik с помощью команд
/interface gre
add name=gre-to-datacenter keepalive=10s,10 remote-address=184.17.66.92
/ip address
add address=10.10.110.2/24 interface=gre-to-datacenter
/ip route
add comment="route to datacenter through GRE" dst-address=10.10.100.0/24 gateway=gre-to-datacenter pref-src=10.10.20.254
Настройка MikroTik с помощью GUI
А теперь всё то же самое, но наглядно:
Проверка соединения
Чтобы убедиться в правильности настроек, пропингуем несколько адресов с каждого роутера: