Router (Raspbian)

Aus Tutorials
Zur Navigation springen Zur Suche springen

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

http://serverfault.com/questions/234370/forward-all-ports-incoming-to-a-specific-ip-to-internal-ip-address

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