Heimrouter-Kochbuch/ Einsatzbeispiele/ Exposed Host

Beschreibung

Bearbeiten
 
Home network with DMZ server

Als Basis wird hier das vorherige Szenarium gewählt, indem folgende Eigenschaften im Netzwerk eingerichtet wurden:

Zusätzlich wird in diesem Szenarium eingerichtet:

  • Neues separiertes Netz als Demilitarisierte Zone (DMZ)
  • Weiterleitung aus dem Internet eines Ports zu einem dedizierten Server in der DMZ.
  • Verwendungen eines separaten DNS-Server in der DMZ.

Der Server aus der DMZ ist aus dem Internet erreichbar, sitzt aber im eigenen Haus. Auch aus dem eigenen Netz ist dieser Server erreichbar. Gleichzeitig hat der Server keinen Zugriff auf die Geräte im internen Netzwerk, auf die Mediengeräte oder das Gast-Netz.

Dieser Server kann für unterschiedliche Zwecke vorgesehen werden. Es können auch verschiedene Server für unterschiedliche Zwecke eingerichtet werden. Mögliche Dienste, die hier angeboten werden können:

Liegt der Server nicht in der DMZ, sondern im internen Netzwerk, kommt noch folgender Zweck hinzu:

Vorbereitung

Bearbeiten

Analog zu dem vorherigen Szenarium wird ein neues separates Netzwerk eingerichtet. In diesem Netzwerk werden mindestens ein Server platziert. Diese Server werden physisch in der Nähe des Routers platziert, so dass deren Anbindung über Ethernet-Kabel erfolgt. Bei mehreren Servern wird zwischen den Servern und dem Router eine Switch platziert, welche mit einem Patchkabel an Port 3 des Router angeschlossen wird.

Einrichtung

Bearbeiten

Switch neu konfigurieren

Bearbeiten

Unter Network/Switch sind die physikalischen Ethernet-Ports dargestellt. Der Port-Status stellt dar, ob an diesem Port ein Gerät angeschlossen und aktiv ist.

Intern verwendet der Router eine Netzwerkschnittstelle mit 4+1 Ports (übliche Router, genaue Konfiguration kann von gewähltem Gerät abweichen), von denen ein Port separat ausgeführt und mit Internet (oder vergleichbar) gekennzeichnet ist. Softwareseitig wird dies über ein VLAN (virtuelles LAN) gesteuert. Es sind drei Einträge vorhanden (nach vorherigem Szenarium):

  1. CPU tagged, LAN1-3 untagged, LAN4 und WAN off
  2. CPU tagged, LAN1-4 off und WAN untagged
  3. CPU tagged, LAN1-3 off', LAN 4 untagged und WAN off

Damit sind für das Ethernet-Interface drei VLAN's definiert, die über eth0.1 bis eth0.3 angesprochen werden.

Die Ethernet-Verbindung für das DMZ wird in den Port LAN 3 vorgesehen. Dieser Port wird im Eintrag 1 als off gesetzt.

Es wird ein neues VLAN zugefügt, welches die Nummer 4 erhält (Nummer 3 wird im Smart Home Szenarium verwendet). In diesem VLAN wird CPU als tagged und LAN 3 als untagged markiert. Mit Speichern und Übernahme der Änderung wird eine neue Schnittstelle eth0.4 angelegt.

Netzwerk anlegen

Bearbeiten

Unter Network/Interfaces wird ein neues Netzwerk DMZ angelegt. Als Protokoll wird Static address ausgewählt und als IPv4-Adresse 192.168.40.3 eingegeben. Die Netzmaske wird dann automatisch auf 255.255.255.0 gesetzt und wird übernommen. Die weiteren Einstellungen können zunächst direkt übernommen werden.

In den Physical Settings wird Bridged interface ausgewählt. Im Feld Interface wird das oben angelegte eth0.4 ausgewählt.

Im Reiter Firewall Settings ist das Feld Create / Assign firewall-zone noch leer. Hier wird im Feld das letzte, leere Feld ausgewählt und dort der Begriff DMZ eingetragen, so dass direkt eine neue Firewallzone angelegt wird.

Der Reiter DHCP Server wird noch kontrolliert. Prinzipiell kann überlegt werden, ob für die DMZ der DHCP-Dienst deaktiviert wird (Option Ignore Interface ist ausgewählt). Dann muss bei jedem Gerät in der DMZ die IP-Adresse, Gateway und DNS-Server manuell eingetragen werden. Soll später ein separater DNS-Server verwendet werden, muss dies bei allen Geräten in der DMZ manuell umgestellt werden. Daher kann es Sinn machen, den DHCP-Dienst auch in der DMZ zu verwenden.

Die Einstellungen werden gespeichert und übernommen.

Firewall konfigurieren

Bearbeiten

Unter Network/Firewall ist eine neue Zone DMZ angelegt. Bei der Konfiguration dieser Zone werden bei Input, Output und Forward die Optionen auf reject gesetzt. Damit muss in der Firewall der entsprechende Datenverkehr in die jeweiligen Zonen explizit erlaubt werden.

Als covered networks ist bereits DMZ ausgewählt.

Prinzipiell wird die Weiterleitung ins Internet vorgesehen, somit in Allow forward to destination zones das Interface wan zugefügt. In dem Feld Allow forward from source zones werden die Netzwerke eingetragen, welche auf Server in der DMZ zugreifen dürfen. Für dieses Szenarium sind dies das interne Netzwerk und das Mediennetzwerk (lan und lan_media).

In den Conntrack Settings wird geprüft, dass Allow invalid traffic deaktiviert ist (Standard). Die zusätzlichen iptables Argumente bleiben leer, da die Regelung des Verkehrs über die Traffic Rules passiert.

Server konfigurieren

Bearbeiten
 
Port forwarding to a server in the DMZ.

Jeder Server, der aus dem Internet per Port-Weiterleitung erreichbar sein soll, wird unter OpenWRT mit einer statischen IP-Adresse versehen. Hierzu gibt es verschiedene Methoden:

  1. Der Server ist mit einer festen IP-Adresse versehen. Bei OpenWRT ist prinzipiell nichts einzutragen. Die weitere Arbeit im Netzwerk vereinfacht sich, wenn unter Network/Hostnames zu dieser IP-Adresse ein sprechender Hostname eingetragen wird.
  2. Der Server bezieht seine Netzwerkadresse per DHCP und seine MAC-Adresse ist bekannt. Unter Network/DHCP and DNS/Static Leases wird ein neuer Eintrag erzeugt, die MAC-Adresse eingetragen und eine IP-Adresse festgelegt. Dem Rechner wird zusätzlich noch ein sprechender und im Netzwerk eindeutiger Name zugeteilt.
  3. Der Server bezieht seine Netzwerkadresse per DHCP und dem Server ist ein Hostname zugewiesen. Wenn der Server eingeschaltet wird, erscheint unter Status/Overview ein Eintrag, aus dem die temporäre IP-Adresse und MAC-Adresse angezeigt wird. Unter Network/DHCP and DNS/Static Leases wird ein neuer Eintrag erzeugt. Alle dem Router bekannten MAC-Adressen sind im Auswahlfeld MAX-Address verfügbar. Die passende Adresse wird verwendet und dem Server ein sprechender Hostname zugewiesen.

Auch wenn Variante 1 einfacher erscheint, werden spätere Änderungen in der Netzwerktopologie erschwert. Wird später ein DNS-Proxy eingerichtet, kann dies direkt per DHCP-Antwort allen Rechner mitgeteilt werden. Nur bei Server, die nach Variante 1 konfiguriert werden, muss der DNS-Proxy manuell eingerichtet werden.

Dem Server wird die IP-Adresse 192.168.40.5 zugewiesen.

Sollen weitere Server eingerichtet werden, kann dies nach Variante 2 oder 3 direkt in OpenWRT erfolgen und später alle Änderungen zeitgleich aktualisiert werden. Bei Variante 1 muss jeder Server direkt konfiguriert werden.

Port-Weiterleitung einrichten

Bearbeiten

In obiger Grafik ist dem Router die Internet-Adresse 78.24.42.1 zugewiesen. Andere Internet-Router können somit unter Angabe dieser Adresse versuchen, eine Verbindung zum Router aufzubauen (Standard: Alle Verbindungsversuche werden abgelehnt).

Vor Einrichtung einer Portweiterleitung sind verschiedene Details zu klären:

  • Welches Transportprotokoll wird verwendet? Für die meisten Anwendungen wird dies TCP sein. Für einzelne Anwendungen, wie Bereitstellen eines Zeitservers oder Minetest-Server wird UDP verwendet.
  • Welcher Port wird für diesen Dienst genutzt? Für die meisten Dienste sind diese in der Liste der standardisierten Ports zu finden.
  • Über welchen Port soll dieser Dienst aus dem Internet erreichbar sein? Eventuell möchte man zwei gleichwertige Dienste mit unterschiedlichen internen Server abdecken, wie zwei unterschiedliche Minetest-Server.

Um einen normalen Webserver per TLS im Internet bereitzustellen, wird der Port 443 aus dem Internet auf den internen Port 443 des Servers 192.168.44.5 weitergeleitet. TLS-Verbindungen verwenden TCP als Transportprotokoll.

Das Einrichten der Portweiterleitung geschieht unter Networks/Firewall/Port Forwards. Dort wird ein neuer Eintrag erzeugt. Es wird ein eindeutiger Name vergeben. Als Protokoll wird nur TCP ausgewählt. Die Quelle der Pakete (Source zone) ist wan. Als externer Port wird 443 eingetragen. Die Pakete werden in die destination zone DMZ weitergeleitet zur Internal IP address des Servers (192.168.44.5) mit dem Internal port 443.

Weitere Portweiterleitungen können zugefügt werden, bevor alle Änderungen mit Save & Apply zeitgleich angewendet werden.

Erweiterungen

Bearbeiten

Universeller DNS-Server in der DMZ

Bearbeiten

Der OpenWRT fungiert in der Standardeinstellung für alle Rechner im Netzwerk als DNS-Server. In Einzelfällen ist es sinnvoll, in der DMZ einen dedizierten DNS-Server zu verwenden, wie einen Pi-hole[1].

Dieser DNS-Server wird über OpenWRT zunächst so konfiguriert, dass dieser über eine definierte IP-Adresse erreichbar ist (hier wieder 192.168.40.5).

Soll dieser DNS-Server die Namensauflösung für alle Geräte vornehmen, wird dies unter Network/DHCP and DNS in den allgemeinen Einstellungen vorgenommen. Dort wird die IP-Adresse unter DNS forwarding eingetragen.

Der DNS-Server selbst muss natürlich einen DNS-Server im Internet als Quelle verwenden und diese Anfrage muss in den Firewall-Regeln erlaubt sein.

DNS-Anfragen aller angeschlossener Rechner wird weiterhin der Router entgegennehmen. Zur Beantwortung wird der Router allerdings den neuen DNS-Server befragen und dessen Antwort an den Rechner weiterleiten. Für den anfragenden Rechner sieht es so aus, als ob der Router die Namensauflösung durchführt.

DNS-Server nur für einzelne Subnetze anbieten

Bearbeiten

Der DNS-Server (192.168.40.5) kann so eingerichtet werden, dass bestimmte Suchanfragen unterbunden werden. Dies kann bei Mediengeräte sinnvoll sein, um Werbeanzeigen zu unterbinden (Einsatzzweck des Pi-hole).

Um diesen DNS-Server nur für einzelne Netze zu nutzen, wird dies über DHCP den Geräten mitgeteilt. Bei jeder Anmeldung im Netzwerk erhalten die Geräte über DHCP verschiedene Eigenschaften über das Netzwerk, unter anderem welche DNS-Server zu verwenden sind. Wird dies nicht explizit konfiguriert, wird der Router selbst als DNS-Server offeriert.

In den Interface-Einstellungen zu dem Netzwerk lan_media (Network/Interface) wird in der Konfiguration des DHCP-Servers in den erweiterten Einstellungen unter dem Punkt DHCP-Options der Text 6,192.168.40.5 eingetragen. Die 6 teilt mit, dass hiermit der DNS-Server eingestellt wird.

Die Konfiguration des DHCP-Servers dient allgemein dazu, die Netze zentral zu konfigurieren. Änderungen werden zentral über den Router eingespielt und an alle Teilnehmer verteilt. Allerdings sind diese Daten für die im Netzwerk angeschlossenen Geräte prinzipiell nur Vorschläge. Jedes Gerät kann die Vorgaben durch die DHCP-Konfiguration überschreiben.

Referenzen

Bearbeiten
  1. https://www.heise.de/ratgeber/DNS-Verschluesselung-Raspi-mit-DNS-Filter-fuer-Fritzbox-Co-5037806.html?wt_mc=intern.red.plus.anrissliste.startseite.teaser.teaser