Проблема: Трафик к определённой подсети или хосту направляется стандартным шлюзом, а не через нужный интерфейс (например, eth1, tun0).

Причины:
- В таблице маршрутизации Linux отсутствует или неактивен статический маршрут для целевого диапазона.
- Приоритет маршрутов по метрике или маске не соответствует требуемому пути.

Решение:
1. Добавление постоянного статического маршрута:
bash
sudo ip route add  via  dev  [metric ]

Пример:
bash
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth1


2. Проверка применённого маршрута:
bash
ip route show | grep 


3. Сохранение маршрута после перезагрузки (в зависимости от дистрибутива):
- Debian/Ubuntu:
Добавить в `/etc/network/interfaces` секцию интерфейса:
bash
up ip route add 10.0.0.0/24 via 192.168.1.1 dev eth1

- RHEL/CentOS/Fedora:
Создать файл `/etc/sysconfig/network-scripts/route-` (например, `route-eth1`):
bash
10.0.0.0/24 via 192.168.1.1 dev eth1

- systemd-networkd:
В файле `.network` для интерфейса добавить секцию:
ini
[Route]
Destination=10.0.0.0/24
Gateway=192.168.1.1


4. Удаление ненужного маршрута (если конфликтует):
bash
sudo ip route del default via 


Примечание:
- Шлюз (`via`) должен принадлежать той же подсети, что и интерфейс (`dev`).
- Для выхода через туннель (VPN) часто достаточно указать `dev tun0` без шлюза (если шлюз уже задан как точка назначения туннеля).