Если Linux машина имеет несколько IP интерфейсов, то создавать статический маршрут правильно с привязкой к определенному исходному IP-адресу (src)
Если используется NetworkManager, то делается это утилитой nmcli.
Если используется NetworkManager, то делается это утилитой nmcli.
1. Необходимо узнать имена интерфейсов и принадлежность IP адреса интерфейсу.
Это делается командами:
1.1.
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 172.31.0.3/28 brd 172.31.0.15 scope global noprefixroute ens18
3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 10.63.70.170/29 brd 10.63.70.175 scope global noprefixroute ens19
1.2
# nmcli con
NAME UUID TYPE DEVICE
ens18 95fdeba9-6dcc-31d1-9758-879d140cbc55 ethernet ens18
System ens19 03c4dac8-78f9-36c3-8580-d35a45e6f2ea ethernet ens19
Команда "ip a" покажет IP адреса и их привязку к коротким названиям интерфейсов.
Команда "nmcli con" покажет привязку коротких названий интерфейсов к полному наименованию.
В данном примере интерфейс "ens19" имеет полное имя "System ens19".
2. Прописать маршрут с заданием IP адреса источника нужно с указанием полного наименования интерфейса, вот так:
# nmcli connection modify "System ens19" +ipv4.routes "10.63.90.1/32 10.63.70.169 src=10.63.70.170"
# nmcli connection up "System ens19"
Тут прописывается маршрут на сеть 10.63.90.1/32 через gateway 10.63.70.169 c IP источника 10.63.70.170
3. Команда удаления маршрута (если потребуется):
# nmcli connection modify "System ens19" ipv4.routes ""