Raspberry Pi Access Point mit systemd: Unterschied zwischen den Versionen
Nick (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems "systemd". Auf diesem System wird eine WLAN AccessPoint“) |
Nick (Diskussion | Beiträge) |
||
| Zeile 1: | Zeile 1: | ||
Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems "systemd". Auf diesem System wird | Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems "systemd". Auf diesem System wird ein WLAN AccessPoint mit eigenem DHCP realisiert. Die Internetdaten werden vom Ethernet zum AccessPoint geroutet. | ||
#Vorbereitung systemd | |||
Prüfen ob systemd-networkd vorhanden ist. Es sollte Loaded: loaded ... da stehen | |||
systemctl status systemd-networkd | |||
Alte Netzwerkkonfigurationen deaktivieren | |||
sudo update-rc.d networking remove | |||
DNS systemd-resolved aktivieren und auf (Loaded: loaded ... enabled) prüfen | |||
sudo systemctl enable systemd-resolved | |||
sudo systemctl start systemd-resolved | |||
sudo systemctl status systemd-resolved | |||
Link für DNS Konfiguration setzen | |||
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf | |||
Unter systemd kann die Netzwerkkonfiguration in mehreren Dateien eingetragen werden und müssen im Verzeichnis /etc/systemd/network/ liegen. Dabei müssen die Netzwerkkonfigurationdateien auf '''.network''' enden. Wie z.B. unsere Ethernetkonfiguration '''eth0_dhcp.network''' mit folgendem Inhalt: | |||
[Match] | |||
Name=eth0 | |||
[Network] | |||
DHCP=yes | |||
Das systemd-networkd aktivieren und prüfen. (Configured, Fehler no Hostname -> reboot) | |||
sudo systemctl enable systemd-networkd | |||
sudo systemctl start systemd-networkd | |||
sudo systemctl status systemd-networkd | |||
In der DNS-Konfigurationsdatei sollte hinter nameserver die IP des DNS-Servers stehen. | |||
cat /etc/resolv.conf | |||
#WLAN AccessPoint | |||
WLAN Netzwerkkonfigurationdatei: | |||
sudo vim /etc/systemd/network/wlan0_AP.network | |||
Mit folgenden Inhalt: | |||
[Match] | |||
Name=wlan0 | |||
[Network] | |||
Address=192.168.1.1/24 | |||
## Hostpad | |||
Installation | |||
sudo apt-get install hostapd -y | |||
Konfiguration des AccesPoint | |||
sudo vim /etc/hostapd/hostapd.conf | |||
Mit folgendem Inhalt: | |||
# WLAN-Router-Betrieb | |||
# Schnittstelle und Treiber | |||
interface=wlan0 | |||
#driver=nl80211 | |||
# WLAN-Konfiguration | |||
ssid=SSID | |||
channel=1 | |||
hw_mode=g | |||
ieee80211n=1 | |||
ieee80211d=1 | |||
country_code=DE | |||
wmm_enabled=1 | |||
# WLAN-Verschlüsselung | |||
auth_algs=1 | |||
wpa=2 | |||
wpa_key_mgmt=WPA-PSK | |||
rsn_pairwise=CCMP | |||
wpa_passphrase=testtest | |||
Ausführbar machen | |||
sudo chmod 600 /etc/hostapd/hostapd.conf | |||
Konfiguration für automatisches starten | |||
sudo vim /etc/default/hostapd | |||
Mit folgendem Inhalt | |||
RUN_DAEMON=yes | |||
DAEMON_CONF="/etc/hostapd/hostapd.conf" | |||
#DNS-Server dnsmasq | |||
Installation | |||
sudo apt-get install dnsmasq -y | |||
Konfiguration der DNS-Servers | |||
sudo vim /etc/dnsmasq.conf | |||
Mit folgenden Inhalt | |||
#DHCP-Server aktiv für WLAN-Interface | |||
interface=wlan0 | |||
#DHCP-Server nicht aktiv für bestehendes Netzwerk | |||
no-dhcp-interface=eth0 | |||
# IPv4-Adressbereich und Lease-Time | |||
dhcp-range=192.168.1.100,192.168.1.150,24h | |||
#DNS | |||
dhcp-option=option:dns-server,192.168.1.1 | |||
Test des DNS-Servers | |||
dnsmasq --test -C /etc/dnsmasq.conf | |||
sudo systemctl restart dnsmasq | |||
sudo systemctl status dnsmasq | |||
sudo systemctl enable dnsmasq | |||
#Routing | |||
Konfiguration des routings | |||
sudo vim /etc/sysctl.conf | |||
Mit folgenden Inhalt | |||
net.ipv4.ip_forward=1 | |||
net.ipv6.conf.all.forwarding=1 | |||
Firewallkonfiguration | |||
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | |||
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT | |||
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT | |||
sudo apt-get install iptables-persistent | |||
Version vom 22. Februar 2018, 11:13 Uhr
Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems "systemd". Auf diesem System wird ein WLAN AccessPoint mit eigenem DHCP realisiert. Die Internetdaten werden vom Ethernet zum AccessPoint geroutet.
- Vorbereitung systemd
Prüfen ob systemd-networkd vorhanden ist. Es sollte Loaded: loaded ... da stehen
systemctl status systemd-networkd
Alte Netzwerkkonfigurationen deaktivieren
sudo update-rc.d networking remove
DNS systemd-resolved aktivieren und auf (Loaded: loaded ... enabled) prüfen
sudo systemctl enable systemd-resolved sudo systemctl start systemd-resolved sudo systemctl status systemd-resolved
Link für DNS Konfiguration setzen
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Unter systemd kann die Netzwerkkonfiguration in mehreren Dateien eingetragen werden und müssen im Verzeichnis /etc/systemd/network/ liegen. Dabei müssen die Netzwerkkonfigurationdateien auf .network enden. Wie z.B. unsere Ethernetkonfiguration eth0_dhcp.network mit folgendem Inhalt:
[Match] Name=eth0
[Network] DHCP=yes
Das systemd-networkd aktivieren und prüfen. (Configured, Fehler no Hostname -> reboot)
sudo systemctl enable systemd-networkd sudo systemctl start systemd-networkd sudo systemctl status systemd-networkd
In der DNS-Konfigurationsdatei sollte hinter nameserver die IP des DNS-Servers stehen. cat /etc/resolv.conf
- WLAN AccessPoint
WLAN Netzwerkkonfigurationdatei:
sudo vim /etc/systemd/network/wlan0_AP.network
Mit folgenden Inhalt:
[Match] Name=wlan0
[Network] Address=192.168.1.1/24
- Hostpad
Installation
sudo apt-get install hostapd -y
Konfiguration des AccesPoint
sudo vim /etc/hostapd/hostapd.conf
Mit folgendem Inhalt:
# WLAN-Router-Betrieb # Schnittstelle und Treiber interface=wlan0 #driver=nl80211 # WLAN-Konfiguration ssid=SSID channel=1 hw_mode=g ieee80211n=1 ieee80211d=1 country_code=DE wmm_enabled=1 # WLAN-Verschlüsselung auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=testtest
Ausführbar machen
sudo chmod 600 /etc/hostapd/hostapd.conf
Konfiguration für automatisches starten
sudo vim /etc/default/hostapd
Mit folgendem Inhalt
RUN_DAEMON=yes DAEMON_CONF="/etc/hostapd/hostapd.conf"
- DNS-Server dnsmasq
Installation
sudo apt-get install dnsmasq -y
Konfiguration der DNS-Servers
sudo vim /etc/dnsmasq.conf
Mit folgenden Inhalt
#DHCP-Server aktiv für WLAN-Interface interface=wlan0
#DHCP-Server nicht aktiv für bestehendes Netzwerk no-dhcp-interface=eth0
# IPv4-Adressbereich und Lease-Time dhcp-range=192.168.1.100,192.168.1.150,24h
#DNS dhcp-option=option:dns-server,192.168.1.1
Test des DNS-Servers
dnsmasq --test -C /etc/dnsmasq.conf sudo systemctl restart dnsmasq sudo systemctl status dnsmasq sudo systemctl enable dnsmasq
- Routing
Konfiguration des routings
sudo vim /etc/sysctl.conf
Mit folgenden Inhalt
net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1
Firewallkonfiguration sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo apt-get install iptables-persistent