Route zwischen zwei Netzwerkschnittstellen mit derselben IP-Adresse?
Dies ist eine unsinnige Aussage. IP-Adressen müssen in einem Netzwerk eindeutig sein - TCP / IP hängt von dieser Tatsache ab, um ordnungsgemäß zu funktionieren.
Jedoch -
Brücke zwischen zwei Netzwerkschnittstellen transparent überbrücken
klingt viel mehr nach dem, was Sie zu tun versuchen.
Ich glaube, Linux unterstützt transparentes Bridging. Schnittstellen, die mit einer Bridge verbunden sind, funktionieren wie ein Switch. Natürlich können Sie mit Wireshark den Datenverkehr über die Brücke oder dessen Befehlszeilenäquivalent beobachten tshark
. Ich habe es noch nie mit physischen Netzwerkkarten gemacht (normalerweise handelt es sich um eine physische Netzwerkkarte und so etwas wie einen virtuellen Adapter für ein VPN) - dies ist ein Experiment, das ich schon lange machen wollte (eine alte Box mit 4 Netzwerkkarten - Drehen.) es in eine Software-switcH), aber es sollte funktionieren. brctl
ist der Befehl, den Sie untersuchen möchten.
In der "mittleren" Linux-Box müssen Sie also eine Bridge erstellen, Ihre Netzwerkkarten hinzufügen und fertig. Die NICs sind Teil einer Bridge und erhalten keine einzelnen IP-Adressen (ähnlich wie Ports eines Switches). Wie ein Switch leitet er den Verkehr auf Layer 2 weiter, nicht auf Layer 3, und die Geräte auf beiden Seiten werden nicht wissen, dass sich etwas in der Mitte befindet.
iptables
Die Linux-Schnittstelle zu Netfilter, die für das Routing, die Paketfilterung und die Paketveränderung (Modifikation) zuständig ist, ist sehr vielseitig und Sie könnten wahrscheinlich etwas Äquivalentes dazu tun, auch wenn dies auf Layer 3 funktioniert.
Was Software angeht, die den erfassten Stream analysieren kann, gibt es dafür viele Tools. Es ist nicht etwas, mit dem ich mich eingehend beschäftigt habe, aber sobald Sie Pakete mit etwas wie Wireshark erfassen können, stehen Ihnen viele Optionen zur Verfügung.