WLAN Bridge
Bevor der Kabel zu WLAN Router aufgebaut werden kann muss die WLAN Verbindung konfiguriert sein und funktionieren. Üblicherweise tut man das durch Einträge in der Datei /etc/wpa_supplicant/wpa_supplicant.conf. Anschliessend ist folgender Text am Ende von /boot/cmdline.txt anzufügen wobei er durch ein Leerzeichen von dem vorhergehenden Text getrennt werden muss. Dadurch bekommt die Netzwerkkarte den leichter zu merkenden Namen eth0.
net.ifnames=0
Bei den folgenden Konfigurationen sind vier Dinge den lokalen Gegebenheiten anzupassen:
1) Das WLAN Netz hat in der folgenden Konfig das Gateway 192.168.0.1 im Netz 192.168.0.0/24
2) Die Raspberry hat die IP Adresse 192.168.0.10
3) In der folgenden Konfig hat das Kabelnetz 192.168.3.0/24 mit der Netzwerkmaske 255.255.255.0.
4) Die IP Adressen die im Kabelnetz sind 192.168.3.10 bis 192.168.3.20, d.h es können sich nur 11 Clients über diese Verbindung anmelden.
Zuerst muss der dnsmasq Service installiert werden.
sudo apt-get dnsmasq
Um den Kabelanschluss zu konfigurieren müssen nun folgende Zeilen am Ende der Datei /etc/dhcpcd.conf angefügt werden:
interface eth0 static ip_address=192.168.3.1/24
und der dhcpcd Service wird mit
sudo service dhcpcd restart
neu gestartet.
Nun ist ein dns Server für das Kabelnetzwerk zu definieren. Die alte Datei /etc/dnsmasq.conf sollte man sichern und dann die neuen Datei /etc/dnsmasq.conf mit folgendem Inhalt erstellen:
interface=eth0 no-dhcp-interface=wlan0 dhcp-range=192.168.3.10,192.168.3.20,24h dhcp-option=option:dns-server,192.168.0.1
und der dnsmasq Service wird mit
sudo service dnsmasq restart
neu gestartet.
Möchte man mal kurz testen ob ein ans Kabel angeschlossener Client eine IP Adresse erhält und die DNSRequests verfolgen muss man den laufenden dnsmasq Service stoppen, manuell starten und anschliessend wieder als Service starten:
sudo service dnsmasq stop sudo dnsmasq -dd -C /etc/dnsmasq.conf sudo service dnsmasq star
In der Datei /etc/sysctl.conf muss man folgende Zeile aktivieren damit die Raspberry als Router fungiert indem man das # Zeichen am Anfang der Zeile entfernt bzw die Zeile ohne # einfügt.
#net.ipv4.ip_forward=1
Nun sind noch Netzwerkregeln für das Routing zu definieren. Folgende Befehle sind dazu auszuführen:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Diese Regeln müssen abgespeichert werden damit sie jedesmal beim Neustart wieder aktiviert werden können. Dazu dient folgender Befehl:
iptables-save>; /etc/network/iptables
Ausserdem muss folgende Datei /etc/network/if-pre-up.d/iptables mit folgendem Inhalt erstellt werden damit die Regeln bei jedem Neustart geladen werden:
#!/bin/sh /sbin/iptables-restore <; /etc/network/iptables
sowie
sudo chmod +x /etc/network/if-pre-up.d/iptables
Zuletzt muss noch das neue Subnetz im lokalen Netz allgemein bekannt gemacht werden.
1) Damit die per Kabel angeschlossenen Clients die im 192.168.3.0/255.255.255.0 Netz angeschlossen sind ins Internet über den lokalen Router kommen muss noch folgendes definiert werden:
Es muss eine statische Route in den Nerkwerkeinstellungen des Heimrouters definiert werden sofern das unterstützt wird. Bei Fritzboxen und den meisten anderen Routern ist das unterstützt. Dann definiert man, dass das Subnetz 192.168.3.0/255.255.255.0 zu erreichen ist über die Raspberry. Dazu muss man entweder in der Fritzbox definieren, dass die Raspi immer dieselbe IP erhalten soll (192.168.0.10) und diese in der statischen Route definieren oder aber eine statische IP für die Raspberry in der /etc/network/interfaces für das wlan Interface vergeben und dhcp dafür in der /etc/dhcpcd.conf deaktivieren. Wie eine statische Route bei einer Fritzbox 7390 zu definieren ist ist hier beschrieben. Wie man in der Fritzbox definiert, dass ein Client immer dieselbe IP erhält ist hier beschrieben.
2) Auf jedem Rechner im lokalen Netz, der auf das Kabelnetz zugreifen will, eine statische Route zur Raspberry definieren (Annahme: Raspberry IP Adresse ist 192.168.0.10) für das Subnet 192.168.3.0/255.255.255.0
Nach dem Reboot des Systems können nun an die Raspberry per Netzwerkkabel angeschlossene Geräte über das WLAN ins lokale Netz gelangen sowie auch ins Internet über den lokalen Internetrouter.
Wenn man das am Etherneteingang angeschlossene Geraet öfter wechseln möchte deaktiviert ifplugd das WLAN interface. Deshalb muss der deinstalliert werden mit
apt-get remove ifplugd
Eingefügt aus <;https://www.linux-tips-and-tricks.de/de/raspberry/238-wie-eine-wlan-kabel-router-bauen>;
