So führen Sie wpa_supplicant beim Debian-Start automatisch aus

So führen Sie wpa_supplicant beim Debian-Start automatisch aus

Ich möchte es wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.confbeim Debian-Start ausführen (Runlevel 2-5). Ich habe einige vage Anweisungen in einer verwandten Frage gefunden, in denen stand, dass man ein Skript einfügen /etc/init.d/und dann von den entsprechenden /etc/rcRUNLEVEL.d/Verzeichnissen aus einen symbolischen Link darauf erstellen soll. Allerdings habe ich festgestellt, dass es bereits einige Dateien mit dem Namen „wpasupplicant“ gibt, die wahrscheinlich beim Start ausgeführt werden:

/etc/network/if-down.d/wpasupplicant

/etc/network/if-post-down.d/wpasupplicant

/etc/network/if-pre-up.d/wpasupplicant

/etc/network/if-up.d/wpasupplicant

Sie alle sind Symlinks zum selben Skript /etc/wpa_supplicant/ifupdown.sh. Es hat am Anfang einen Kommentar, der besagt, dass es „[...] ifup(8) und ifdown(8) erlaubt, wpa_supplicant(8)- und wpa_cli(8)-Prozesse zu verwalten, die im Daemon-Modus laufen.“ Das nächste, was es jedoch einem Selbstaufruf am nächsten kommt, wpa_supplicantist (in functions.sh):

WPA_SUP_BIN="/sbin/wpa_supplicant"
[snip]
start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
    --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
    -- $WPA_SUP_OPTIONS $WPA_SUP_CONF
[snip]
start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
    --exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE

Bedeutet das, dass es sicher ist, ein init.d-Skript dafür zu erstellen wpa_supplicantund wenn ja, wie würde es aussehen?

Allgemeine Information:

  • Debian Squeeze (5.0)
  • offizielles wpasupplicant-Paket (v0.6.10-2.1)

Der vollständige Inhalt meines Systems functions.shist ifupdown.shhier (natürlich abhängig von der Betriebszeit meines Systems – es ist ein fünf Jahre alter Laptop, der sehr gerne überhitzt):

Funktionen.sh

ifupdown.sh

Antwort1

Wenn Ihr Ziel darin besteht, Ihre drahtlose Schnittstelle beim Start zu konfigurieren (anstatt den wpa_supplicantBefehl aus anderen Gründen in ein Skript einzufügen), können Sie /etc/network/interfacesdie normale Konfigurationsdatei verwenden wpa_passphrase, die generiert wird, um dieses Ergebnis zu erzielen.

In /etc/network/interfaces(vorausgesetzt, dies wlan0ist Ihre drahtlose Schnittstelle und die Konfigurationsdatei wpa_passphraseist in /root/your-wpa.conf):

allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /root/your-wpa.conf

Auf meinem System habe ich am Anfang der Zeile „wpa-conf“ einen Tabulator (keine Leerzeichen). Beim Eintippen dieser Antwort hatte ich Probleme, einen Tabulator für das Web einzugeben. Ich bin nicht sicher, ob das wichtig ist.

Ich musste die WPA-Conf-Datei nicht bearbeiten oder sonst etwas damit machen. Das ist, was ich vom Befehl bekomme

wpa_passphrase myssid mysecret >wpa.conf

SehenSo verwenden Sie eine WiFi-Schnittstelleauf Debian.org und /usr/share/doc/wpasupplicant/README.wpa_supplicant.conf.gzlokal.

Ich habe dies auf Jessie getestet und habe keine Squeeze-Systeme mehr – aber ich nehme an, dass Sie in den vier Jahren seit dem Stellen der Frage ein Upgrade durchgeführt haben.

Antwort2

Bearbeiten Sie die Datei wpa_supplicant.conf und fügen Sie sie zu /etc/network/interfaces hinzu

http://wiki.debian.org/WPA#Why.3F

verwandte Informationen