Мне интересно, возможно ли маршрутизировать один и тот же пакет по-разному в зависимости от интерфейса, из которого он поступает. Например, в Linux есть два интерфейса Ethernet: eth1 и eht2. для IP-пакетов с одинаковыми IP-адресами назначения и источника, если пакет поступает из eth1, следующим переходом будет IP-X, а если пакет поступит из eth2, следующим переходом будет IP-Y.
1 ответ
Да, вы можете сделать это именно так. Тем не менее, вы, вероятно, не очень хотите. Проблема с такими схемами заключается в том, что они имеют тенденцию прерывать трафик в другом направлении, и в результате сеть не работает. То, что вы, вероятно, на самом деле хотите, это маршрутизация на основе источника.
Linux позволяет создавать несколько таблиц маршрутизации. Каждый из них может иметь свои собственные маршруты и ворота. Затем вы можете выбрать, какая таблица маршрутизации будет использоваться пакетом на основе интерфейса, на котором он получен, или адреса источника. Обычно адрес источника - это то, что вы действительно хотите. Например, это разумный способ подключения одной машины к нескольким интернет-соединениям.