Я новичок здесь, но у меня может быть ответ на этот вопрос.
Операционная система попытается распознать, что другая сетевая карта является локальным разработчиком. Я думаю, что вы можете использовать опцию « dev » для « ip route », чтобы вытеснить ее с другой сетевой карты.
Например, у меня есть IP-адрес:
45.32.160.129
И маршрут для этой подсети показывает устройство dev ens3
45.32.160.0/24 dev ens3 proto kernel scope link src 45.32.160.129
Но, скажем, у меня была другая сетевая карта ens4 на 45.32.161.4/24:
45.32.161.0/24 dev ens4 proto kernel scope link src 45.32.161.4
затем вы можете использовать опцию « dev » для « ip route », чтобы указать используемое устройство. Таким образом, вы можете указать, что другая сетевая карта использует себя для ip ens3 вместо нее, используя ens3 (сама), когда вы пытаетесь получить к ней доступ с локальной машины. Хитрость заключается в том, что вы также должны использовать политику маршрутизации. Поскольку у вас не может быть сетевой карты, попытайтесь получить доступ к себе и выйти из интерфейса других карт, потому что она никогда не найдет себя. Таким образом, вы должны указать для политики / источника маршрутизации, что он должен прыгать только через другую карту, когда эта карта пытается получить к ней доступ. Вот где вы должны указать исходное соответствие. Более того, вам нужно будет убедиться, что вы привязываетесь к правильному IP-адресу источника в выбранном вами сетевом программном обеспечении, которое вы пытаетесь использовать или тестировать. Это должно заставить его получить доступ к другой сетевой карте через коммутатор. Конечно, тогда вы сделали бы то же самое для другой карты, но наоборот.
Это может решить вашу проблему. Посмотрите справочную страницу « ip route » для определения приоритета маршрута и параметра « dev ». Затем посмотрите на соответствие правил, чтобы выполнить часть политики. Это должно выглядеть примерно так:
ip rule add from 45.32.161.4 lookup from1
ip rule add from 45.32.160.129 lookup from2
Затем добавьте противоположные маршруты:
ip route add 45.32.160.129 via 45.32.161.4 dev ens4 table from1
ip route add 45.32.161.4 via 45.32.160.129 dev ens3 table from2
И вам нужно, чтобы эти таблицы были созданы в /etc /iproute2