ich habe eine kleine Frage.
Bedenken Sie, dass ich einen DHCP0-Server (192.168.1.X) und einen DHCP1-Server (10.0.1.X) habe.
Ich habe ein Board, auf dem Linux mit Connman läuft. Verbinde mein Board mit DHCP0 und starte es. Connman startet und stellt die IP-Adresse per DHCP für die eth0-Schnittstelle ein: 192.168.1.2
Trennen Sie die Karte von DHCP0 und verbinden Sie sie mit DHCP1.
Warum wird die IP-Adresse in 10.0.1.X auf eth0 nicht erneuert? Ich sehe, dass sich das gleiche Verhalten auf meinem Ubuntu 18.04 ohne Connman ergibt. Ich nehme an, das ist ein normales Verhalten. Kann ich Connman also so konfigurieren, dass die DHCP-IP-Adresse bei „Verbindung herstellen“ erneuert wird?
Um die IP-Adresse zu erneuern, muss ich
$ ifconfig eth0 down
$ ifconfig eth0 up
oder
$ systemctl restart connman
Vielen Dank für Ihre Rückkehr
Sylvain
Antwort1
Ich habe vergessen zu sagen, dass wir einen Switch auf unserer Platine haben. 2 Ports auf GMAC0 für eth1 aktiviert und 3 Ports auf GMAC1 für eth0 aktiviert. Für eth1 sehen wir also zwei Switch-Ports sw0p0 und sw0p1. Wenn ich das Kabel mit IP-Monitor-Link abziehe, sehe ich, dass sw0p1 und nicht eth1 deaktiviert ist.
Das ist ein ziemlich wichtiges Versäumnis.
Ihr eth0ist nichtdirekt mit dem DHCP-Server verbunden – es ist nur ein „CPU-Port“ auf dem internen GMAC1-Switch. Selbst wenn es über einen internen Switch geht,Trotzdemgeht über einen Switch – und hat den gleichen Effekt, dass die Verbindung „CPU↔Switch“ völlig unabhängig von der Verbindung „Switch↔DHCP-Server“ bestehen bleibt.
Es gibt also kein „Link Up“-Ereignis auf eth0, da die Verbindung nie unterbrochen wird!
Es ist möglich, dass der interne Switch-Treiber eine Methode unterstützt, um den Verbindungsstatus von einem externen Port zum internen Port zu übertragen. Alternativ, wenn "sw0p1" als echte Netzwerkschnittstelle angezeigt wird, dann Benutzerbereich wieifplugdkönnte verwendet werden, um den Verbindungsstatus zu überwachen und Connman entsprechend neu zu starten.