
Ich möchte in Linux (Ubuntu 10.04) zwischen WLAN und Ethernet wechseln. Ich habe nach vielen Möglichkeiten gesucht und bin zu dem Schluss gekommen, dass es mit Firestarter geht – automatischer Wechsel zwischen kabelgebundenen und kabellosen Netzwerken.
Dazu muss ich das Firestarter-Paket in Ubuntu installieren.
Ist dies die richtige Methode zum Wechseln zwischen eth0 und WLAN? Ich wollte es über die Befehlszeile implementieren, ohne neue Pakete zu installieren.
Bitte helfen Sie. Vielen Dank im Voraus
Antwort1
Connman(1)
kann verwendet werden, um Ihre Verbindungen zu priorisieren, kabelgebundene Netzwerke zu bevorzugen und automatisch eine Verbindung zu kabellosen herzustellen, wenn die kabelgebundene Verbindung nicht verfügbar ist. Es wird von Intel unterstützt, kann also gegenüber nicht von Intel stammender Netzwerkhardware feindlich sein: Ich kann es nicht verwenden, Connman(1)
da mein WLAN-Treiber keine Flags setzt, die Intel zum Aktivieren des Adapters erwartet. Ich erhalte die Fehlermeldung „Kein Träger“ und keine WLAN-Verbindung. Es scheint jedoch schnell eine Verbindung herzustellen, wenn ich die kabelgebundene Verbindung einstecke.
Sie müssen die Konfiguration /etc/connman/main.conf/main.conf
etwa wie folgt vornehmen:
BackgroundScanning = false
DefaultAutoConnectTechnologies = ethernet,wifi
PreferredTechnologies = ethernet,wifi
SingleConnectedTechnology = true
um sicherzustellen, dass nur WLAN oder Ethernet verbunden ist. Verwenden Sie dann eine interaktive connmanctl(1)
Sitzung, wie in der Manpage angegeben, um sich zum ersten Mal mit WLAN zu verbinden, oder bearbeiten Sie die Einstellungsdatei für Ihre Schnittstelle, die Sie unter finden /var/lib/connman
(das scheint mir einfacher, aber ein Neustart ist erforderlich). Sieheconnman-service.config(5)
Wenn Sie ifupdown
oder seine Varianten installiert haben, können Sie diese vor der Installation entfernen, um Kollisionen zu vermeidenconnman(1)
Antwort2
Ich habe das Skript für die Verbindung und Trennung von WLAN und Ethernet erstellt
Trennen Sie das WLAN
killall wpa_supplicant
wirelessname=`ls /sys/class/net | grep wlan* | head -1`
ifconfig $wirelessname down
Verbinden Sie das WLAN
wirelessname=`ls /sys/class/net | grep wlan* | head -1`
ifconfig $wirelessname up > /dev/null 2>&1 &
killall wpa_supplicant > /dev/null 2>&1 &
iwconfig $wirelessname power off > /dev/null 2>&1 &
wpa_passphrase $1 $2 > /root/wps.conf
wpa_supplicant -Dwext -i$wirelessname -c/root/wps.conf > /dev/null 2>&1 &
sleep 5
dhclient -r > /dev/null 2>&1 &
dhclient $wirelessname > /dev/null 2>&1 &
Ethernet anschließen
ifconfig $(ip link show | grep eth | grep state | awk '{printf $2}'| sed -e 's/:$//') up
ifconfig $(ifconfig | grep eth | awk '{print $1}'| head -1 ) $(ifconfig | grep Bcast | awk '{printf $2}' | cut -c6-) up
Ethernet trennen
ifconfig $(ifconfig | grep eth | awk '{print $1}' | head -1 ) down