Sie beschreiben, wie Linux standardmäßig arbeitet, wenn sich mehrere Schnittstellen im selben Subnetz befinden.
Linux hat standardmäßig kein Konzept für "diese Schnittstelle und ihren MAC" und "diese Schnittstelle und ihren MAC", es kennt nur "meine Schnittstellen und MACs" und antwortet auf jede ARP-Anfrage auf einer beliebigen Schnittstelle.
Sie können jede Schnittstelle für ARP mit den einstellbaren Parametern richtig konfigurieren:
net.ipv4.conf.all.arp_filter = 1 net.ipv4.conf.all.arp_announce = 2
Damit der Datenverkehr wie gewünscht abläuft, müssen Sie das Richtlinienrouting so einrichten, dass jede Verbindung mit dem Standard-Gateway über eine separate Routing-Tabelle verfügt. Daher gibt es IP-Regeln für die Quelladressen jeder Verbindung, um den Datenverkehr in die gewünschte Routing-Tabelle zu verschieben . Dies erfordert, dass sich Anwendungen an die Quelladresse binden, um zu funktionieren.
Dies ist jedoch eine komplexe problematische Konfiguration, und ich empfehle es nicht.
Wenn Sie möchten, dass auf jeder Bondschnittstelle ein anderer Datenverkehr getrennt wird, platzieren Sie eine Bondverbindung in einer anderen Broadcastdomäne und ein anderes Subnetz zur anderen Bondverbindung, und leiten Sie den Verkehr ordnungsgemäß weiter.