Gast W-lan – Access Point – Vlan – Switch Teil 3 (Raspberry als Router mit Vlans)

Nun geht es weiter, nachdem wir den Switch eingerichtet haben brauchen wir noch eine Routing Instanz um Daten zwischen den einzelnen Vlan austauschen zu können mit einem Raspberry. Ein Layer 3 Switch würde dies auch können, ist aber um einiges teurer und die Möglichkeiten mit einen Raspberry sind hier größer. Später werden noch Dienste wie DHCP , NTP, Firewall, Proxy, Webfilter etc hinzukommen, die wir auf dem Raspberry einrichten.

Als Voraussetzung nehmen wir ein Debian Jessy Image. Am besten das Lite. Alle benötigten Pakete installieren wir dann nach. Dann besteht auch nicht die Gefahr unötige bzw Pakete die ggf Sicherheitsbedenken haben mit zu schleppen.

bevor man Pakete installiert sollte man die Paket Datenbank einmal update:

sudo apt-get update

Danach installieren wir erst mal das vlan Paket mit:

sudo apt-get vlan

dann müssen wir das vlan Modul noch einbinden damit es geladen wird

modprobe 8021q

War das erfolgreich tragen wir das Modul noch in die Datei /etc/modules ein damit nach einem Neustart das Modul automatisch geladen wird.

sudo nano /etc/modules

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

8021q

Jetzt können wir die Virtuellen Netzwerk Interfaces programmieren .

In meinem Beispiel  werden folgende Netzte eingerichtet. Der Raspberry wird aus jedem Netz die x.x.x .1 als Adresse bekommen. Das kann je nach bedarf um weitere Vlans und Adressen erweitert werden.

  • VLAN 1: Default Lan
  • Network: 192.168.3.0 (IPs von 192.168.3.1 bis 192.168.3.254)
  • Netmask: 255.255.255.0
  • IP des Raspberry: 192168.3.1

 

  • VLAN 10: Home
  • Network: 192.168.10.0 (IPs von 192.168.10.1 bis 192.168.10.254)
  • Netmask: 255.255.255.0
  • IP des Raspberry: 192168.10.1

 

  • VLAN 20: Gast
  • Network: 10.90.90.0 (IPs von10.90.90.0 bis 10.90.90.253)
  • Netmask: 255.255.255.0
  • IP des Raspberry: 10.90.90.1

Nun passen wir die Netzwerk Einstellungen in der Datei etc/network/interfaces mit

sudo nano etc/network/interfaces

an

auto lo
iface lo inet loopback

iface eth0 inet static

#Vlan1 Management
auto eth0.1
iface eth0.1 inet static
        address 192.168.3.1
        netmask 255.255.255.0
        network 192.168.3.0
        nameserver 192.168.3.1
        broadcast 192.168.3.255
        gateway 192.168.3.254
        vlan_raw_device eth0
#Vlan20 Gast
auto eth0.20
iface eth0.20inet static
        address 10.90.90.1
        netmask 255.255.255.0
        network 10.90.90.0
        broadcast 10.90.90.255
        vlan_raw_device eth0
#Vlan10 Home
auto eth0.10
iface eth0.10 inet static
        address 192.168.10.1
        netmask 255.255.255.0
        network 192.168.10.0
        broadcast 192.168.10.255
        vlan_raw_device eth0

Die Waln Konfiguration ist erst mal entfernt worden (Raspberry 3). Zur Erklärung: Das eth0 bekommt keine Adresse mehr und wird nur noch als physikalische Verbindung zum Switch genutzt. Für jedes Vlan wird ein Virtuelles ETH Interface programmiert. Die Formatierung ist wie folgt eth[Interface Nummer].[Vlan]

Im Management Vlan (1) wird der Nameserver mit angegeben. Damit der Rasberry auch die Hostnames (Internet) auflösen kann. Dazu mehr beim einrichten der Dienste auf dem Rasperry, die zentral angeboten werden. Hier wird auch das Default Getways gesetzt. In dem Falle ist das die 192.168.3.254 (Fritzbox als Internet Zugang). Das bedeutet das jedes Paket das der Raspberry dann routen soll und nicht in eines der eigene Vlans gehört zur Fitzbox Schickt. Diese schickt dann die Pakete ins Internet.

Jetzt noch den Switch Port  programmieren an dem der Raspberry angeschlossen ist. Hier sind ALLE Vlans auf tagged umzustellen. Der Raspberry braucht jetzt für jedes Daten Paket das entsprechende Vlan um es den Virtuellen Interface zuzuordnen.  PVID bleibt hier auf eins, obwohl es keine Rolle spielt, da der Raspberry bei jedem Interface das Vlan anhängt.

Danach den Raspberry einmal neustarten.

sudo reboot

Nach dem Reboot sollte der Raspberry beim Befehl

route

folgendes anzeigen:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.3.254   0.0.0.0         UG    0      0        0 eth0.1
10.90.90.0      *               255.255.255.0   U     0      0        0 eth0.20
192.168.3.0     *               255.255.255.0   U     0      0        0 eth0.1
192.168.10.0    *               255.255.255.0   U     0      0        0 eth0.10
192.168.20.0    *               255.255.255.0   U     0      0        0 eth0.20

Jetzt ist der Raspberry über das eth0 Interface mit jedem Vlan verbunden. Jetzt sollte man von jedem Rechner die zu dem Vlan gehörende IP anpingen können. Dann ist schon mal die Switch und Raspberry Konfiguration richtig.

Damit der Raspberry auch „routen“ kann, das heißt wenn Anfragen   aus dem Gast Vlan (20) kommen diese dann an die Fritzbox weiterzuleiten, oder an ein anderes internes Vlan, müssen wir noch das Kernel Routing auf dem Raspberry einschalten. Der Raspberry fungiert dann als Default Gateway für das entsprechende Vlan Interface.

Alle Anfragen die hier eintreffen werden dann auf das Interface mit den Deafult Gateway des Raspberry weitergegeben.

In der Datei /etc/sysctl.conf wird dann noch das Kernel Routing aktiviert.

sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1

Nach einem weiteren reboot wird nun der Raspberry als Router fungieren und alle anfragen entsprechend weiterleiten. Entweder an das Internet oder an ein anderes Vlan. Der Raspberry ist nun der Zentrale Router im Netz.

Damit das ganze auch andersherum geht müssen noch routen in die Fritzbox eingetragen werden. Paket kommen jetzt dort an und gehen ins Internet, aber wenn die Antwort zurück kommt muss die Fritzbox (7390) auch wissen wohin sie diese schicken soll. Dazu werden die Routen wie folgt eingerichtet unter:

Heimnetz/Heimnetzübersicht/Netzwerkeinstellungen/IPv4Routen

. . .
. . .
. . .

 

Das muss dann für jedes Vlan erfolgen.

  • : Netwerk Adresse des Vlan
  • : Subnetzmaske des Vlan
  • : Das Interface des Raspberry (aus dem gleichen Netz wie auch die Fritzbox ist)
  • : aktiv=hacken rein

Als Beispiel von meinem Latop 192.168.3.23  zu 216.58.209.35 (www.google.de)

C:\Users\uschoen>tracert www.google.de

Routenverfolgung zu www.google.de [216.58.209.35] über maximal 30 Abschnit

  1     2 ms    <1 ms    <1 ms  192.168.10.1 # Raspberry default Gateway
  2     3 ms     1 ms     1 ms  192.168.3.254 # Fritzbox ins Internet
  3    31 ms    30 ms    29 ms  a81-14-248-243.net-htp.de [81.14.248.243] # Internet
  4    30 ms    29 ms    29 ms  a81-14-249-82.net-htp.de [81.14.249.82]

Fertig, als nächstes müssen wir jetzt noch DHCP, NTP (Zeitserver) und andere Dienste zurverügung stellen. Auch muss noch über die Firewall einige Verbindungen geblockt werden, da dass Gast Lan nicht auf das Interne zugreifen soll. Bis hier hin sind alle Netze offen miteinander verbunden. Aber jetzt geht es im nächsten Teil um die Einrichtung der Wlan Access Points um den Mobilen Clients auch Zugriff auf das Netz zu geben und davon habe ich 6 im Einsatz da ich eine grosse Fläche abdecken muss.

  • Übersicht
  • Vlan Einrichtung Switch (Teil 2)
    • was sind Tagged und Untaged Ports
  • Raspberry als Router mit Vlans (Teil 3) (dieser Beitrag)
    • Einrichtung von Vlans
    • Raspberry als Router konfigurieren
  • Wlan Access Point mit Gast Lan (Teil 4)
  • DHCP als Dienst auf dem Router (Teil 5) (erscheint noch)
    • DHCP für alle Netzte einrichten
    • NTP (Zeitserver) einrichten
  • Firewall und IPtables auf dem Raspberry (Teil 6)(erscheint noch)
    • Firewall und routing Regeln
  • Radius (Wlan User für den Zugriff) (Teil 7)(erscheint noch)
    • Zentrale User Verwaltung fürs W-Lan
  • Web Proxy (Teil 8)(erscheint noch)
    • Webproxy einrichten
    • SquidProxy und Web Filter einrichten
    • Werbung Filtern mit pihole

3 Gedanken zu „Gast W-lan – Access Point – Vlan – Switch Teil 3 (Raspberry als Router mit Vlans)“

  1. Vielen Dank für diese interessante Serie. Ich freue mich schon sehr auf die nächsten Teile, da ich im Moment ein ähnliches Projekt durchführe, aber an der richtigen Konfiguration des DHCP Server nicht weiterkomme.

    Der Vollständigkeit halber sollte ergänzt werden, dass man die Änderungen in den Netzwerk Interfaces in der Datei /etc/network/interfaces einstellt.

    Gruß
    Gerrit

Kommentar verfassen