У меня есть сеть, которая должна быть настроена как петля. Он состоит из 3 узлов, каждый из которых имеет два интерфейса. Диаграмма ниже объясняет это.
+--->(eth0) Node 1 (eth1)--->(eth0) Node 2 (eth1)--->(eth0) Node 3 (eth1)--->+
| 10.0.3.1 10.0.1.1 10.0.1.2 10.0.2.2 10.0.2.3 10.0.3.3 |
+--<----------------------------<--------------------------------------------+
Я хочу сделать эхо-запрос с узла 1 на узел 3, чтобы запрос проходил через узел 2, а ответ шел прямо на узел 1 с узла 3
node1$ ping 10.0.2.3
Я настроил узлы как:
node1# route add -net 10.0.2.0/24 gw 10.0.1.2
node2# route add -net 10.0.3.0/24 gw 10.0.2.3
node3# route add -net 10.0.1.0/24 gw 10.0.3.1
При выполнении ping запрос от узла 1 поступает на узел 3. Однако узел 3 не отвечает, он не генерирует даже ответ (по крайней мере, что я могу захватить с помощью wireshark).
Не могли бы вы дать мне подсказку?
Т.А.
источник
Узлы правильно не повторяются, чтобы предотвратить широковещательную передачу по мосту. Я рекомендую вам запустить протокол Spanning Tree. Это позволит вам разместить полностью функционирующие маршруты между всеми узлами. Я не могу придумать другой способ сделать это, если вы не хотите ограничить связь между определенными ссылками на уровне 2 или уровне 3.
источник
(
/sbin/route
устарела, использоватьip route
вместо).Если вы хотите, чтобы ваши пакеты перемещались только в одном направлении, это означает, что каждый узел должен использовать следующий узел в качестве своего шлюза, каким бы ни был пункт назначения.
Однако в большинстве дистрибутивов обратная фильтрация часто включена по умолчанию. Фильтрация обратного пути - это фильтр для входящего пакета, который пытается проверить, будет ли ответ на этот пакет отправляться на тот же интерфейс, что и пакет. Это хорошо в обычной сети, где маршрутизация симметрична, но в вашем случае вам нужна асимметричная маршрутизация, поэтому вы можете просто отключить фильтрацию обратного пути на интерфейсе, где вы получаете пакеты, или хотя бы уменьшить его, чтобы он просто проверял IP-адрес источника является маршрутизируемым:
Документация о фильтрации обратного пути и других регуляторах доступна в документации ядра, по адресу
Documentation/networking/ip-sysctl.txt
, Где найти, это зависит от вашего дистрибутива (или просто просмотритеip-sysctl.txt
).Счастливого цикла!
источник
rp_filter
скучал). Исправил это и обновил ответ указателями документации.