Никогда не думал, что придется создавать тему про такую простую вещь, как маршрутизация, но я дошёл до такого момента, когда не знаю, как дальше идти. Настройка довольно простая: у меня есть экземпляр CHR, работающий в удалённом дата-центре, и мне нужно запустить WireGuard между CHR и удалённым пиром. Есть VRF под названием dc, который имеет доступ к публичному интернету. Это единственный аплинк, в основной таблице маршрутизации интернета нет.
Я пытался добавлять маршруты и правила, а также использовать мэнгл-правила для управления трафиком — безуспешно. Пакеты корректно идут в интернет, а вот обратный трафик так и не попадает на интерфейс WireGuard, и я не понимаю, почему. Предполагаю, что data plane WireGuard, который обрабатывает базовое сетевое соединение и хендшейки, всегда использует основную таблицу маршрутизации. К сожалению, об этом нигде нет документации.
Моя конфигурация:
[sysop@CHR] /ip/vrf> /ip/route pr where routing-table=dc
Flags: D - динамический; A - активный; c - подключенный, s - статический
Columns: DST-ADDRESS, GATEWAY, DISTANCE
# DST-ADDRESS GATEWAY DISTANCE
0 As 0.0.0.0/0 195.XXX.XXX.193@dc 1
DAc 195.XXX.XXX.192/26 MGMT@dc 0
[sysop@CHR] /ip/vrf> /routing/rule/pr where table=dc
Flags: X - отключено, I - неактивно
4 dst-address=87.XXX.XXX.191/32 action=lookup-only-in-table table=dc
[sysop@CHR] /ip/vrf> /tool sniffer quick interface=MGMT port=51820
Columns: INTERFACE, TIME, NUM, DIR, SRC-MAC, DST-MAC, SRC-ADDRESS, DST-ADDRESS, PROTOCOL, SIZE, CPU
INTERFACE TIME NUM DIR SRC-MAC DST-MAC SRC-ADDRESS DST-ADDRESS PROTOCOL SIZE CPU
MGMT 3.385 1 -> 00:50:56:00:91:5E 84:C1:C1:78:98:CE 195.XXX.XXX.206:51800 87.XXX.XXX.191:51820 ip:udp 190 0
MGMT 3.402 2 <- 84:C1:C1:78:98:CE 00:50:56:00:91:5E 87.XXX.XXX.191:51820 195.XXX.XXX.206:51800 ip:udp 134 0
[sysop@CHR] /interface/wireguard/peers> pr proplist=name,last-handshake,rx,tx
Columns: NAME, RX, TX
4 peer6 0 231.7KiB
Я пытался добавлять маршруты и правила, а также использовать мэнгл-правила для управления трафиком — безуспешно. Пакеты корректно идут в интернет, а вот обратный трафик так и не попадает на интерфейс WireGuard, и я не понимаю, почему. Предполагаю, что data plane WireGuard, который обрабатывает базовое сетевое соединение и хендшейки, всегда использует основную таблицу маршрутизации. К сожалению, об этом нигде нет документации.
Моя конфигурация:
[sysop@CHR] /ip/vrf> /ip/route pr where routing-table=dc
Flags: D - динамический; A - активный; c - подключенный, s - статический
Columns: DST-ADDRESS, GATEWAY, DISTANCE
# DST-ADDRESS GATEWAY DISTANCE
0 As 0.0.0.0/0 195.XXX.XXX.193@dc 1
DAc 195.XXX.XXX.192/26 MGMT@dc 0
[sysop@CHR] /ip/vrf> /routing/rule/pr where table=dc
Flags: X - отключено, I - неактивно
4 dst-address=87.XXX.XXX.191/32 action=lookup-only-in-table table=dc
[sysop@CHR] /ip/vrf> /tool sniffer quick interface=MGMT port=51820
Columns: INTERFACE, TIME, NUM, DIR, SRC-MAC, DST-MAC, SRC-ADDRESS, DST-ADDRESS, PROTOCOL, SIZE, CPU
INTERFACE TIME NUM DIR SRC-MAC DST-MAC SRC-ADDRESS DST-ADDRESS PROTOCOL SIZE CPU
MGMT 3.385 1 -> 00:50:56:00:91:5E 84:C1:C1:78:98:CE 195.XXX.XXX.206:51800 87.XXX.XXX.191:51820 ip:udp 190 0
MGMT 3.402 2 <- 84:C1:C1:78:98:CE 00:50:56:00:91:5E 87.XXX.XXX.191:51820 195.XXX.XXX.206:51800 ip:udp 134 0
[sysop@CHR] /interface/wireguard/peers> pr proplist=name,last-handshake,rx,tx
Columns: NAME, RX, TX
4 peer6 0 231.7KiB
