ARP l oop в топологии Openvswitch - PullRequest
       81

ARP l oop в топологии Openvswitch

0 голосов
/ 04 апреля 2020

У меня есть 3 виртуальные машины, каждая с OVS с мостом "br0". VM1 и VM2 подключены через GRE-туннель к Серверу и через VXLAN-туннели между обоими.

enter image description here

При каждом запуске:

$ arping -I br0 10.0.1.10  (or)
$ arping -I br0 10.0.1.20

с сервера происходит ARP l oop, и сеть становится непригодной для использования, поскольку все мосты заполняются перенаправленными ARP-запросами и ответами.

В сетевой среде, которую я пытаюсь создать Я не хочу, чтобы VM1 br0 и VM2 br0 отправляли ARP друг другу, чтобы предотвратить это l oop.

Итак, в обеих виртуальных машинах я установил следующую запись потока:

$ ovs-ofctl -O openflow13 add-flow br0 priority=65535,arp,in_port=<vxlan_tunnel>,arp_spa=10.0.1.0/24,action=drop

который, как я думал, отбросит пакеты ARP, которые бесконечно пересылаются из-за соединения между VM1 и VM2. Но это не так.

Даже если я отброшу пакеты запроса, поступающие из туннеля GRE, с назначением ARP, отличным от моста, принимающего запрос ARP, как показано ниже:

$ ovs-ofctl -O openflow13 add-flow br0 priority=65535,arp,in_port=gre1,arp_spa=10.0.1.50,arp_tpa=10.0.1.20,action=drop

запись потока игнорируется, и ARP l oop продолжается.

Как правильно составить записи потока, чтобы пакеты ARP, поступающие с сервера и не предназначенные для моста, отбрасывались? И как я могу заблокировать пакеты ARP из сети 10.0.1.0/24, поступающие из туннеля vxlan?

Примечание. Я уже включил STP в мостах VM1 и VM2, но проблема сохраняется.

...