Маршрут устройства Linux без трансляции
У меня есть следующие настройки:
- Пространство имен сети,
ns1
- Пара виртуальных интерфейсов,
ns_ext1
а такжеns_int1
,ns_ext
существует в глобальном пространстве имен, иns_int1
существует вns1
, - Устройство GRE,
gre1
, который существует вns1
, - Ни одному из этих устройств не назначены IP-адреса.
- Таблица маршрутизации в
ns1
как следует10.0.2.0/24 -> gre1
0.0.0.0/0 -> ns_int1
- Таблица маршрутизации в глобальном пространстве имен включает в себя:
10.0.2.0/24 -> ns_ext1
Когда я пытаюсь пинговать 10.0.2.1
из глобального пространства имен, который является IP-адресом, который существует на другом конце туннеля GRE, я получаю странное поведение. Трафик направляется на ns_ext1
, Однако в ns1
, ns_int1
не передает этот трафик gre1
, как указано в таблице маршрутизации. Вместо этого это ARP'ing для 10.0.2.1
, Я подозреваю, что, указав устройство ns_ext
как следующий прыжок для 10.0.2.0/24
подсеть в глобальной таблице маршрутизации, я заставил ядро думать, что подсеть напрямую связана с ns_ext1
, Есть ли способ, которым я могу заставить его просто пересылать через этот интерфейс вместо ARP?