Router (Raspbian)
Diese Anleitung beschreibt die Einrichtung eines Routers, der die lokale Ethernet-Schnittstelle ins WLan routet.
Praktisches Anwendungsbeispiel bei mir war, den Satreceiver, der nur eine lokale - kabelgebundene - Schnittstelle hat, ans WLan anzubinden.
Voraussetzungen
Netzwerkkarten einrichten siehe Netzwerk Wireless (Raspbian) bzw. Netzwerk mit Kabel (Raspbian).
DHCP-Server
Als Server wird dnsmasq verwendet:
sudo apt-get install -y dnsmasq
sudo vi /etc/dnsmasq.conf
# DHCP-Server aktiv für Kabel-Interface interface=eth0 # DHCP-Server nicht aktiv für Wireless-Interface no-dhcp-interface=wlan0 # IPv4-Adressbereich und Lease-Time dhcp-range=10.1.0.2,10.1.0.254,24h # DNS dhcp-option=option:dns-server,10.1.0.1
Router Konfiguration
sudo vi /etc/network/interfaces
source-directory /etc/network/interfaces.d auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.1.0.1 netmask 255.255.255.0 auto wlan0 allow-hotplug wlan0 iface wlan0 inet static wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf address 10.0.0.98 netmask 255.255.255.0 gateway 10.0.0.138 dns-nameservers 10.0.0.138 # NAT und Masquerading aktivieren up /sbin/iptables -A FORWARD -o wlan0 -i eth0 -m conntrack --ctstate NEW -j ACCEPT up /sbin/iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT up /sbin/iptables -t nat -F POSTROUTING up /sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE # IP-Forwarding aktivieren up sysctl -w net.ipv4.ip_forward=1 up sysctl -w net.ipv6.conf.all.forwarding=1
Routerkonfigurationtsdateien (Raspberry)
DHCP-Client-Dämon deaktivieren
Nur wenn nicht über /etc/dhcpcd.conf konfiguriert
sudo systemctl stop dhcpcd sudo systemctl disable dhcpcd
Einzelne Ports weiterleiten
Folgende Regel leitet den eingehenden Verkehr von Port 80 auf de Servers mit der IP-Adresse 10.1.0.150 weiter:
# Port TCP 80 an IP-Adresse 10.1.0.150 (Webif) up /sbin/iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to-destination 10.1.0.150 up /sbin/iptables -A FORWARD -i wlan0 -d 10.1.0.150 -p tcp --dport 80 -j ACCEPT
Alle Ports weiterleiten
Ports umleiten
Folgende Regel leitet den eingehenden Verkehr von Port 81 auf den Port 80 des Servers mit der IP-Adresse 10.1.0.150 um:
up /sbin/iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 81 -j DNAT --to-destination 10.1.0.150:80 up /sbin/iptables -A FORWARD -i wlan0 -d 10.1.0.150 -p tcp --dport 80 -j ACCEPT
Probleme
WLan-Schnittstelle startet nicht mehr
Laut Anleitung auf www.elektronik-kompendium.de soll man am Ende der Datei /etc/network/interfaces den DHCP-Server dnsmasq neu starten:
up service dnsmasq restart
Bei mir hat danach jedoch die WLan-Schnittstelle nicht mehr funktioniert - nur Stick abziehen und wieder anstecken hat geholfen.
Nach entfernen dieser Zeile hat alles wie gewünscht funktioniert.
Links
https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm
https://wiki.ubuntuusers.de/Router/
https://wiki.ubuntuusers.de/iptables2/
http://manpages.ubuntu.com/manpages/wily/man8/iptables.8.html
http://raspberrypihq.com/how-to-turn-a-raspberry-pi-into-a-wifi-router/
Zurück zu Raspbian