У меня есть хост Ubuntu 18.04 с двумя сетевыми интерфейсами в двух подсетях. Я хотел бы настроить симметричную маршрутизацию, чтобы трафик, полученный от одного интерфейса, отправлялся симметрично через тот же интерфейс.
Я знаю, как использовать Netplan для простых сетевых конфигураций, но я в тупик для более сложных конфигураций. В частности:
ip route add default via 192.168.0.1 dev ens192 tab 1
? priority
к маршруту? Мой сервер имеет два IP-адреса:
$ ip a|grep "inet "
inet 127.0.0.1/8 scope host lo
inet 192.168.0.10/22 brd 192.168.0.255 scope global ens192
inet 192.168.1.10/24 brd 192.168.1.255 scope global ens224
$
Я могу использовать следующие правила ip
, чтобы получить нужные мне таблицы:
Сначала я создаю маршрут для каждой сети, а затем добавьте шлюз по умолчанию.
$ ip route add 192.168.0.0/24 dev ens192 tab 1
$ ip route add 192.168.1.0/24 dev ens224 tab 2
$ ip route add default via 192.168.0.1 dev ens192 tab 1
$ ip route add default via 192.168.1.1 dev ens224 tab 2
Затем я могу создать соответствующие правила:
$ ip rule add from 192.168.0.10/32 tab 1 priority 100
$ ip rule add from 192.168.1.10/32 tab 2 priority 200
$ ip route flush cache
Это получает маршруты, которые я хочу:
$ ip route show tab 1
default via 192.168.0.1 dev ens192
$ ip route show tab 2
default via 192.168.1.1 dev ens224
$ ip route
default via 192.168.0.10 dev ens192
, а также правила, которые я хочу:
$ ip rule show
0: from all lookup local
100: from 192.168.0.10 lookup 1
200: from 192.168.1.10 lookup 2
32766: from all lookup main
32767: from all lookup default
ens2f1:
addresses:
- x.x.x.x/x
routes:
- to: 0.0.0.0/0
via: y.y.y.y/y
table: 200
routing-policy:
- from: z.z.z.z/z
table: 200
priority:
Надеюсь, это ответит на оба ваших вопроса