Anbei die Anleitung wie man den Pi zum Wlan AccesPoint macht + dhcp Server & WPA2 Verschlüsselung
Wofür könnte man gebrauchen?
- Schulungen
- Wenn man kein Wlan Router an der Stelle hat wo die CODESYS Raspberry SPS im einsatz ist,
ich aber trotzdem mit Android/Iphone die Webvisu bedienen will.
- der Ethenet Port des Pi's mit Feldbus verbunden ist
Was brauchts an Hardware?
Raspberry Pi
Edimax Wlan USB Stick EDIMAX-EW-7811UN-Wireless-Adapter
Also auf dem Pi über putty (google it) folgendes ausführen und einstellen / editieren (die Befehle kopieren und im Putty Fenster einfügen)
sudo apt-get updatesudo apt-get install bridge-utils hostapdsudo apt-get install isc-dhcp-server Code:wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zipunzip hostapd.zip sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.baksudo mv hostapd /usr/sbin/hostapd.edimax sudo ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd sudo chown root.root /usr/sbin/hostapd sudo chmod 755 /usr/sbin/hostapdsudo nano /etc/dhcp/dhcpd.conf
In dieser Datei suchen wir nur die Zeilen
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
und kommentieren diese mit Hilde eines "#" vor jeder Zeile aus. Deweiteren nehmen wir den Kommentar im folgednen Block bei "authoritative" raus.
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
# authoritative;
wird zu:
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
Ganz am Ende des Files fügen wir noch folgenden Block ein:
subnet 192.168.42.0 netmask 255.255.255.0 {range 192.168.42.10 192.168.42.50;option broadcast-address 192.168.42.255;option routers 192.168.42.1;default-lease-time 600;max-lease-time 7200;option domain-name "local";option domain-name-servers 8.8.8.8, 8.8.4.4;}Danach schließen wir wie gewohnt mit "Strg+X" und J bzw. Y die Datei.
Anschließend öffnen wir die Interfacc Config des dhcp Servers mit
sudo nano /etc/default/isc-dhcp-server
ändern " INTERFACES="" " in " INTERFACES="wlan0 " und schließen diese Datei wieder.
wlan0 statische IP zuweisen
Solltet ihr bereits das WLAN am Pi aktiv haben so fahrt das Interface mit
sudo ifdown wlan0
herunter. Danach öffnen wir die Netzwerk Interfaces mit
sudo nano /etc/network/interfaces
und fügen hier unsere statische Zuweisung ein. Je nach vorheriger Konfiguration sieht das Ganze anders aus. Wichtig ist dass die Ip-Zuweisung nach "allow hotplug wlan0" erfolgt und die Zeilen danach auskommentiert werden und sollte dann so aussehen:
Access Point konfigurieren
Nun werden die Details des AP eingestellt. In diesem Fall wird dem AP ein Password zugewiesen damit nicht jeder beliebige Nachbar das verschlüsselte Netz nutzen kann.
Hierzu erstellen wir eine neue Datei:
**sudo nano /etc/hostapd/hostapd.conf **
und fügen folgendes ein: interface=wlan0driver=rtl871xdrvssid=MyAccessPhw_mode=gchannel=6macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=MEINWLanPWwpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP
Die "SSID" sowie die "wpa_passphrase" kann beliebig gewählt werden. Nach dem Einfügen wie immer speichern und schließen.
Als nächstes bringen wir dem Pi wo er diese eben erstelle Config-Datei finden kann. Wir editieren hierzu nochmal die Default Einstellungen von hostapd:
sudo nano /etc/default/hostapd
Hier suchen wir die Zeile " #DAEMON_CONF="" " löschen das Kommentarzeichen und fügen in die Anführungszeichen den Pfad der Configdatei ein. Die Zeile lautet dann
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Testen und Fertig stellen
sudo ifconfig wlan0 192.168.42.1
Um den AP zu testen starten wir hostapd manuell mit unserer erstellen Konfiguration:
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
Passt das so kann man jetzt am Laptop oder Handy versuchen sich an dem eben erstellten AP einzuloggen.
War auch das erfolgreich können wir das ganze als Daemon beim Start des Pi einrichten. Hierzu starten wir die Services mit:
sudo service hostapd startsudo service isc-dhcp-server start
Anschließend tragen wir diese für den Systemstart ein mit
Wichtig ist das beide Befehle fehlerfrei durchlaufen.
Den Status der Services können wir jederzeit überprüfen mit:
sudo service hostapd statussudo service isc-dhcp-server status
Das funktioniert mit anderen Wlan Adaptern auch wenn diese Accesspoint fähig sind (dieser EDIMAX ist es nur mit diesem speziellen Treiber aus der Beschreibung)
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
super beschrieben. Leider bekomme ich beim testen eine Fehlermeldung (die ich mit ^C abbrechen muss) und krieg nicht raus woran es liegt.
Kannst Du bitte mal nachschauen:
Configuration file: /etc/hostapd/hostapd.conf
drv->ifindex=3
l2_sock_recv==l2_sock_xmit=0x0x1f0a638
+rtl871x_sta_deauth_ops, ff:ff:ff:ff:ff:ff is deauth, reason=2
rtl871x_set_key_ops
rtl871x_set_key_ops
rtl871x_set_key_ops
rtl871x_set_key_ops
Using interface wlan0 with hwaddr 80:1f:02:f7:02:85 and ssid 'PiNet'
rtl871x_set_wps_assoc_resp_ie
rtl871x_set_wps_beacon_ie
rtl871x_set_wps_probe_resp_ie
rtl871x_set_key_ops
rtl871x_set_beacon_ops
rtl871x_set_hidden_ssid_ops
ioctl[RTL_IOCTL_HOSTAPD]: Invalid argument
mfg DxM
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Danke für die schnelle Antwort. Mal geht's und mal eben nicht. Teilweise sind eth0 und wlan0 nicht richtig inititalisiert.
Ich hab die Dienste aus init.d rausgeschmissen und die rc.local darür benutzt.
Ist zwar nicht schön, funktioniert aber (auch mit einer zweiten Wifi wlan1).
Da müsste man wohl ein Skript schreiben das die Netzwerkeinstellungen überwacht und dann ggf. erst die Dienste startet.
Das Beispiel scheint leider nicht auf dem Raspberry Pi 2 zu laufen
Habe es mehrmals versucht ohne Erfolg. B+ einwandfreie
und stabile Sache und man gewöhnt sich natürlich daran.
Es scheint so als hat sich an der DHCP Konfiguration einiges geändert,
AP Funktion und Registrierung scheint zu funktionieren, aber eben keine
IP vom DHCP.
Grüsse
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anbei die Anleitung wie man den Pi zum Wlan AccesPoint macht + dhcp Server & WPA2 Verschlüsselung
Wofür könnte man gebrauchen?
- Schulungen
- Wenn man kein Wlan Router an der Stelle hat wo die CODESYS Raspberry SPS im einsatz ist,
ich aber trotzdem mit Android/Iphone die Webvisu bedienen will.
- der Ethenet Port des Pi's mit Feldbus verbunden ist
Was brauchts an Hardware?
Raspberry Pi
Edimax Wlan USB Stick EDIMAX-EW-7811UN-Wireless-Adapter
Also auf dem Pi über putty (google it) folgendes ausführen und einstellen / editieren (die Befehle kopieren und im Putty Fenster einfügen)
sudo apt-get updatesudo apt-get install bridge-utils hostapdsudo apt-get install isc-dhcp-server Code:wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zipunzip hostapd.zip sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.baksudo mv hostapd /usr/sbin/hostapd.edimax sudo ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd sudo chown root.root /usr/sbin/hostapd sudo chmod 755 /usr/sbin/hostapdsudo nano /etc/dhcp/dhcpd.conf
In dieser Datei suchen wir nur die Zeilen
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
und kommentieren diese mit Hilde eines "#" vor jeder Zeile aus. Deweiteren nehmen wir den Kommentar im folgednen Block bei "authoritative" raus.
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
# authoritative;
wird zu:
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
Ganz am Ende des Files fügen wir noch folgenden Block ein:
subnet 192.168.42.0 netmask 255.255.255.0 {range 192.168.42.10 192.168.42.50;option broadcast-address 192.168.42.255;option routers 192.168.42.1;default-lease-time 600;max-lease-time 7200;option domain-name "local";option domain-name-servers 8.8.8.8, 8.8.4.4;}Danach schließen wir wie gewohnt mit "Strg+X" und J bzw. Y die Datei.
Anschließend öffnen wir die Interfacc Config des dhcp Servers mit
sudo nano /etc/default/isc-dhcp-server
ändern " INTERFACES="" " in " INTERFACES="wlan0 " und schließen diese Datei wieder.
wlan0 statische IP zuweisen
Solltet ihr bereits das WLAN am Pi aktiv haben so fahrt das Interface mit
sudo ifdown wlan0
herunter. Danach öffnen wir die Netzwerk Interfaces mit
sudo nano /etc/network/interfaces
und fügen hier unsere statische Zuweisung ein. Je nach vorheriger Konfiguration sieht das Ganze anders aus. Wichtig ist dass die Ip-Zuweisung nach "allow hotplug wlan0" erfolgt und die Zeilen danach auskommentiert werden und sollte dann so aussehen:
auto loiface lo inet loopbackiface eth0 inet dhcpallow-hotplug wlan0iface wlan0 inet staticaddress 192.168.42.1netmask 255.255.255.0#iface wlan0 inet manual#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf#iface default inet dhcp
Access Point konfigurieren
Nun werden die Details des AP eingestellt. In diesem Fall wird dem AP ein Password zugewiesen damit nicht jeder beliebige Nachbar das verschlüsselte Netz nutzen kann.
Hierzu erstellen wir eine neue Datei:
**sudo nano /etc/hostapd/hostapd.conf **
und fügen folgendes ein:
interface=wlan0driver=rtl871xdrvssid=MyAccessPhw_mode=gchannel=6macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=MEINWLanPWwpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP
Die "SSID" sowie die "wpa_passphrase" kann beliebig gewählt werden. Nach dem Einfügen wie immer speichern und schließen.
Als nächstes bringen wir dem Pi wo er diese eben erstelle Config-Datei finden kann. Wir editieren hierzu nochmal die Default Einstellungen von hostapd:
sudo nano /etc/default/hostapd
Hier suchen wir die Zeile " #DAEMON_CONF="" " löschen das Kommentarzeichen und fügen in die Anführungszeichen den Pfad der Configdatei ein. Die Zeile lautet dann
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Testen und Fertig stellen
sudo ifconfig wlan0 192.168.42.1
Um den AP zu testen starten wir hostapd manuell mit unserer erstellen Konfiguration:
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
Passt das so kann man jetzt am Laptop oder Handy versuchen sich an dem eben erstellten AP einzuloggen.
War auch das erfolgreich können wir das ganze als Daemon beim Start des Pi einrichten. Hierzu starten wir die Services mit:
sudo service hostapd startsudo service isc-dhcp-server start
Anschließend tragen wir diese für den Systemstart ein mit
sudo update-rc.d hostapd enablesudo update-rc.d isc-dhcp-server enable
Wichtig ist das beide Befehle fehlerfrei durchlaufen.
Den Status der Services können wir jederzeit überprüfen mit:
sudo service hostapd statussudo service isc-dhcp-server status
Das funktioniert mit anderen Wlan Adaptern auch wenn diese Accesspoint fähig sind (dieser EDIMAX ist es nur mit diesem speziellen Treiber aus der Beschreibung)
Grüße
Edwin
Hallo Edwin,
super beschrieben. Leider bekomme ich beim testen eine Fehlermeldung (die ich mit ^C abbrechen muss) und krieg nicht raus woran es liegt.
Kannst Du bitte mal nachschauen:
Configuration file: /etc/hostapd/hostapd.conf
drv->ifindex=3
l2_sock_recv==l2_sock_xmit=0x0x1f0a638
+rtl871x_sta_deauth_ops, ff:ff:ff:ff:ff:ff is deauth, reason=2
rtl871x_set_key_ops
rtl871x_set_key_ops
rtl871x_set_key_ops
rtl871x_set_key_ops
Using interface wlan0 with hwaddr 80:1f:02:f7:02:85 and ssid 'PiNet'
rtl871x_set_wps_assoc_resp_ie
rtl871x_set_wps_beacon_ie
rtl871x_set_wps_probe_resp_ie
rtl871x_set_key_ops
rtl871x_set_beacon_ops
rtl871x_set_hidden_ssid_ops
ioctl[RTL_IOCTL_HOSTAPD]: Invalid argument
mfg DxM
Hallo,
denke das passt trotzdem, einfach mal booten und dann schauen ob es funktioniert.
Grüße
Edwin
Hallo Edwin,
Danke für die schnelle Antwort. Mal geht's und mal eben nicht. Teilweise sind eth0 und wlan0 nicht richtig inititalisiert.
Ich hab die Dienste aus init.d rausgeschmissen und die rc.local darür benutzt.
Ist zwar nicht schön, funktioniert aber (auch mit einer zweiten Wifi wlan1).
Da müsste man wohl ein Skript schreiben das die Netzwerkeinstellungen überwacht und dann ggf. erst die Dienste startet.
(sleep 10; ifdown eth0; ifdown wlan0)&
(sleep 12; ifup eth0)&
(sleep 15; ifup wlan0)&
(sleep 20; service hostapd start)&
(sleep 25; service isc-dhcp-server start)&
exit 0
mfg DxM
Hallo
Das Beispiel scheint leider nicht auf dem Raspberry Pi 2 zu laufen
Habe es mehrmals versucht ohne Erfolg. B+ einwandfreie
und stabile Sache und man gewöhnt sich natürlich daran.
Es scheint so als hat sich an der DHCP Konfiguration einiges geändert,
AP Funktion und Registrierung scheint zu funktionieren, aber eben keine
IP vom DHCP.
Grüsse
Hallo
Für diejenigen mit RPI2. Anbei eine modifizierte Anleitung
wie es auf dieser Version funktioniert. Codesys RT ist
(noch) nicht installiert.
Grüsse
RPI2_AP_Konfiguration.pdf [330.63 KiB]