Ändern der MAC-Adresse einer Schnittstelle, ohne sie zu beeinträchtigen

460
user8070445

Alle Beispiele, die ich im Internet für das Ändern der MAC-Adresse einer Schnittstelle in Linux sehe, machen zunächst die Schnittstelle herunter, dann die MAC-Adresse und schließlich die Schnittstelle. Ich kann jedoch sehen, dass der Mac geändert werden kann, ohne dass die Benutzeroberfläche heruntergefahren wird. Ist es der richtige Weg, ohne die Schnittstelle herunterzufahren. Kann es Probleme geben?

0
Wie genau sehen Sie, dass die MAC-Adresse geändert werden kann, ohne das Ich herunterzufahren? Bitte erläutern Sie es in Ihrer Frage. C0deDaedalus vor 6 Jahren 0
@ C0deDaedalus In all den Beispielen sehe ich so etwas: "ifconfig eth0 down", dann "ifconfig eth0 hw ether 00: 80: 48: BA: d1: 30" und schließlich "ifconfig eth0 up". Wenn ich aber direkt "ifconfig eth0 hw ether 00: 80: 48: BA: d1: 30" ohne ifconfig hin und her gebe, funktioniert es. Ich hatte also Bedenken, ob ich diesen Befehl direkt verwenden kann oder ob ich ifconfig für die Schnittstelle runter und rauf machen muss. user8070445 vor 6 Jahren 0
@ user8070445 Was möchten Sie eigentlich erreichen, indem Sie die MAC-Adresse ändern? Alex vor 6 Jahren 0
@Alex ist eine virtuelle dpdk-KNI-Schnittstelle. Ich muss den Mac dieser KNI-Schnittstelle genauso einstellen wie der Port, der als Tunnelport ausgewählt ist. Da der Tunnelport dynamisch geändert werden kann, muss ich den Mac dieser KNI-Schnittstelle entsprechend ändern. user8070445 vor 6 Jahren 0
@ user8070445, ich habe diesen Befehl ausprobiert und es sagt ** SIOCSIFHWADDR: Gerät oder Ressource beschäftigt ** - [Sie müssen möglicherweise die Schnittstelle herunterfahren] (https://imgur.com/a/lsn14) C0deDaedalus vor 6 Jahren 0
@ C0deDaedalus Ich bekomme diesen Fehler nicht. Irgendeine Idee, warum dieser Fehler ausgelöst wird? user8070445 vor 6 Jahren 0

1 Antwort auf die Frage

0
Alex

Sind Sie sicher, dass Sie die MAC-Adresse ändern müssen? Die Dokumentation für das, was Sie versuchen, lautet:

Die MAC-Adresse kann die reale NIC-MAC-Adresse oder eine beliebige Adresse sein.

Für die Lösung, an der ich arbeite, muss es derselbe MAC wie der tatsächliche nic-Port sein, der als Tunnelport ausgewählt wird. user8070445 vor 6 Jahren 0
@ user8070445 Das klingt so, als wäre es nicht portabel, so dass es nicht viel Sinn macht. Bist du sicher? Ich schlage vor, die Dokumentation ein wenig zu schrubben, da sie Ihnen widerspricht. Alex vor 6 Jahren 0
Wie beantwortet das die Frage (n)? Kamil Maciorowski vor 6 Jahren 2
@KamilMaciorowski Das Einzige, was besser ist, als gesagt zu werden, wie man etwas tut, das sich wie ein Hack anhört, ist zu lernen, dass man es eigentlich gar nicht braucht. Die Dokumentation legt nahe, dass dies tatsächlich der Fall ist, daher mein Vorschlag. Alex vor 6 Jahren 0
@Alex Angenommen, ich habe einen ISC-DHCP-Server, der im Linux-Space ausgeführt wird und die virtuelle KNI-Schnittstelle von dpdk überwacht, um Clients hinter dem Tunnel eine IP-Adresse zuzuweisen. Daher benötige ich dieselbe MAC-Adresse an meinem Tunnelport und der KNI-Schnittstelle für die ARP-Auflösung zwischen dem Client hinter dem Tunnel und dem DHCP-Server, der die KNI-Schnittstelle überwacht. user8070445 vor 6 Jahren 0
@ user8070445 Auch wenn Sie [binden] (http://dpdk.org/doc/guides/linux_gsg/linux_drivers.html#linux-gsg-binding-kernel)? Alex vor 6 Jahren 0
@Alex KNI ist als normale Linux-Schnittstelle sichtbar und die eigentlichen nic-Ports sind an den Dpdk-Space gebunden. user8070445 vor 6 Jahren 0