Änderungen

Fernzugang zum Heimnetzwerk aktualisieren erstellt von Thorsten Eggeling's avatar Thorsten Eggeling
...@@ -16,7 +16,7 @@ Die meisten Internetanschlüsse sind für den Zugriff auf einen Heimserver inzwi ...@@ -16,7 +16,7 @@ Die meisten Internetanschlüsse sind für den Zugriff auf einen Heimserver inzwi
**Domainnamen verwenden:** Ein Domainname für das eigene Netzwerk erleichtert den Zugang, insbesondere bei häufig wechselnden IP-Adressen. Dienste für dynamisches DNS bieten eine kostenlose Subdomain an, etwa https://dynv6.com oder https://freedns.afraid.org. Die Aktualisierung der IP erfolgt automatisch über den Router oder per Script auf dem Server. Anleitungen finden Sie auf den jeweiligen Websites. Einige Routerhersteller stellen ebenfalls kostenlose Domains bereit, etwa AVM für die Fritzbox. Hier erstellen Sie in der Weboberfläche des Routers unter „Internet –› MyFRITZ!-Konto“ ein kostenloses Konto und erhalten dann eine Domain in der Form „\[ID\].myfritz.net“. **Domainnamen verwenden:** Ein Domainname für das eigene Netzwerk erleichtert den Zugang, insbesondere bei häufig wechselnden IP-Adressen. Dienste für dynamisches DNS bieten eine kostenlose Subdomain an, etwa https://dynv6.com oder https://freedns.afraid.org. Die Aktualisierung der IP erfolgt automatisch über den Router oder per Script auf dem Server. Anleitungen finden Sie auf den jeweiligen Websites. Einige Routerhersteller stellen ebenfalls kostenlose Domains bereit, etwa AVM für die Fritzbox. Hier erstellen Sie in der Weboberfläche des Routers unter „Internet –› MyFRITZ!-Konto“ ein kostenloses Konto und erhalten dann eine Domain in der Form „\[ID\].myfritz.net“.
![203_00_Details.png](uploads/94a4f23cdd26d8712db34d314e551efa/203_00_Details.png){width=405 height=235} ![203_00_Details.png](uploads/94a4f23cdd26d8712db34d314e551efa/203_00_Details.png){width="405" height="235"}
_Vollwertiger Internetzugang: Für einen zuverlässigen Fernzugang muss der Router eine IPv4-Adresse („WAN-IP“) erhalten haben. Eine IPv6-Adresse ist wünschenswert, aber nicht zwingend erforderlich._ _Vollwertiger Internetzugang: Für einen zuverlässigen Fernzugang muss der Router eine IPv4-Adresse („WAN-IP“) erhalten haben. Eine IPv6-Adresse ist wünschenswert, aber nicht zwingend erforderlich._
...@@ -31,16 +31,18 @@ Gehen Sie auf „Internet –› Freigaben –›VPN (WireGuard)“, klicken Sie ...@@ -31,16 +31,18 @@ Gehen Sie auf „Internet –› Freigaben –›VPN (WireGuard)“, klicken Sie
Die Clientsoftware ist für Android (http://bit.ly/3ZvbeyN) und iOS (http://bit.ly/41vjzEp) verfügbar. Nutzer von Ubuntu 24.04/Linux Mint 21.1 oder höher öffnen „Erweiterte Netzwerkkonfiguration“, klicken auf die „+“-Schaltfläche und wählen „Gespeicherte VPN-Konfiguration importieren“. Nach einem Klick auf „Erstellen“ öffnen Sie die von der Fritzbox erzeugte Konfigurationsdatei. Die Clientsoftware ist für Android (http://bit.ly/3ZvbeyN) und iOS (http://bit.ly/41vjzEp) verfügbar. Nutzer von Ubuntu 24.04/Linux Mint 21.1 oder höher öffnen „Erweiterte Netzwerkkonfiguration“, klicken auf die „+“-Schaltfläche und wählen „Gespeicherte VPN-Konfiguration importieren“. Nach einem Klick auf „Erstellen“ öffnen Sie die von der Fritzbox erzeugte Konfigurationsdatei.
**Wireguard ohne Router:** Sie können Wireguard auch auf Ihrem Server installieren, was am einfachsten per Script erfolgt (https://github.com/angristan/wireguard-install). Starten Sie unter Ubuntu oder Debian folgenden Befehl im Terminal: **Wireguard ohne Router:** Sie können Wireguard auch auf Ihrem Server installieren, was am einfachsten per Script erfolgt (https://github.com/angristan/wireguard-install). Starten Sie unter Ubuntu oder Debian folgenden Befehl im Terminal:
``` ```
sudo su -c "bash <(wget -O- https://m6u.de/WGINST)" sudo su -c "bash <(wget -O- https://m6u.de/WGINST)"
``` ```
Das Script fragt die Optionen der Konfiguration nacheinander ab. Es erzeugt einen QR-Code für mobile Geräte und für PCs die Datei „wg0-client-\[Name\].conf“. Den Wireguard-Dienst startet das Script über ein Systemd-Unit automatisch. Für weitere Clientkonfigurationen rufen Sie das Script erneut auf. Damit der Dienst über das Internet erreichbar ist, geben Sie den konfigurierten Port frei wie im nächsten Abschnitt beschrieben. Weiterführende Informationen zu Wireguard finden Sie unter https://www.pcwelt.de/1789345. Das Script fragt die Optionen der Konfiguration nacheinander ab. Es erzeugt einen QR-Code für mobile Geräte und für PCs die Datei „wg0-client-\[Name\].conf“. Den Wireguard-Dienst startet das Script über ein Systemd-Unit automatisch. Für weitere Clientkonfigurationen rufen Sie das Script erneut auf. Damit der Dienst über das Internet erreichbar ist, geben Sie den konfigurierten Port frei wie im nächsten Abschnitt beschrieben. Weiterführende Informationen zu Wireguard finden Sie unter https://www.pcwelt.de/1789345.
![203_01_Wireguard.png](uploads/78ff4d5a93fe742871e8eb62020af4b1/203_01_Wireguard.png){width=530 height=285} ![203_01_Wireguard.png](uploads/78ff4d5a93fe742871e8eb62020af4b1/203_01_Wireguard.png){width="530" height="285"}
_Fernzugriff über VPN: Über die Weboberfläche der Fritzbox ist Wireguard schnell eingerichtet. Jedes Gerät benötigt eine eigene Konfiguration für den VPN-Zugang._ _Fernzugriff über VPN: Über die Weboberfläche der Fritzbox ist Wireguard schnell eingerichtet. Jedes Gerät benötigt eine eigene Konfiguration für den VPN-Zugang._
![203_02_VPN-Import.png](uploads/626d022ea66ca07206b5afe428a150be/203_02_VPN-Import.png){width=406 height=289} ![203_02_VPN-Import.png](uploads/626d022ea66ca07206b5afe428a150be/203_02_VPN-Import.png){width="406" height="289"}
_Wireguard-Clients konfigurieren: Importieren Sie die mit der Fritzbox erstellte Konfigurationsdatei. Über den Netzwerkmanager bauen Sie die Verbindung auf und ab._ _Wireguard-Clients konfigurieren: Importieren Sie die mit der Fritzbox erstellte Konfigurationsdatei. Über den Netzwerkmanager bauen Sie die Verbindung auf und ab._
...@@ -48,13 +50,13 @@ _Wireguard-Clients konfigurieren: Importieren Sie die mit der Fritzbox erstellte ...@@ -48,13 +50,13 @@ _Wireguard-Clients konfigurieren: Importieren Sie die mit der Fritzbox erstellte
Mit einer Portfreigabe weisen Sie den Router an, einzelne Portanfragen von außen an eine bestimmte IP-Adresse im lokalen Netz weiterzuleiten. Dadurch kann jede Person, die die IP-Adresse oder den Domainnamen Ihres Netzwerks kennt, auf die Serverdienste zugreifen. Das kann als sicher gelten, solange die Dienste ausreichend durch starke Passwörter geschützt sind und die Software sich stets auf dem aktuellen Stand befindet. Mit einer Portfreigabe weisen Sie den Router an, einzelne Portanfragen von außen an eine bestimmte IP-Adresse im lokalen Netz weiterzuleiten. Dadurch kann jede Person, die die IP-Adresse oder den Domainnamen Ihres Netzwerks kennt, auf die Serverdienste zugreifen. Das kann als sicher gelten, solange die Dienste ausreichend durch starke Passwörter geschützt sind und die Software sich stets auf dem aktuellen Stand befindet.
Wie genau die Konfiguration des Routers durchzuführen ist, hängt vom jeweiligen Modell ab. Auf https://portforward.com finden Sie Anleitungen für zahlreiche Geräte in englischer Sprache. Wie genau die Konfiguration des Routers durchzuführen ist, hängt vom jeweiligen Modell ab. Auf https://portforward.com finden Sie Anleitungen für zahlreiche Geräte in englischer Sprache.
Bei einer Fritzbox gehen Sie auf „Internet –› Freigaben –› Portfreigaben“. Klicken Sie auf „Gerät für Freigaben hinzufügen“ und wählen Sie Ihren Server hinter „Gerät“. Dann klicken Sie auf „Neue Freigabe“, wählen die Option „Portfreigabe“ und hinter „Anwendung“ den gewünschten Dienst, beispielsweise „HTTP-Server“ für einen Webserver. Verwenden Sie „Andere Anwendung“ etwa für Wireguard oder den SSH-Server, und tragen Sie die benötigten Ports ein. Bei einer Fritzbox gehen Sie auf „Internet –› Freigaben –› Portfreigaben“. Klicken Sie auf „Gerät für Freigaben hinzufügen“ und wählen Sie Ihren Server hinter „Gerät“. Dann klicken Sie auf „Neue Freigabe“, wählen die Option „Portfreigabe“ und hinter „Anwendung“ den gewünschten Dienst, beispielsweise „HTTP-Server“ für einen Webserver. Verwenden Sie „Andere Anwendung“ etwa für Wireguard oder den SSH-Server, und tragen Sie die benötigten Ports ein.
## Dynamisches DNS mit einer eigenen Domain beim Provider ## Dynamisches DNS mit einer eigenen Domain beim Provider
Die Registrierung einer eigenen Domain bei einem Internetdienstanbieter bietet größtmögliche Flexibilität. Sie können Ihre Domain mit einem Server im heimischen Netzwerk verbinden, aber auch mit einem Server im Rechenzentrum. Die Domain-Registrierung und die Miete eines Servers können beim selben Anbieter erfolgen oder auch bei einem anderen. Die Registrierung einer eigenen Domain bei einem Internetdienstanbieter bietet größtmögliche Flexibilität. Sie können Ihre Domain mit einem Server im heimischen Netzwerk verbinden, aber auch mit einem Server im Rechenzentrum. Die Domain-Registrierung und die Miete eines Servers können beim selben Anbieter erfolgen oder auch bei einem anderen.
Die Kosten für eine Domain unterscheiden sich je nach Adresse. .de-Domains bekommt man für ungefähr 1€, .com-Domains für 1,80€ monatlich. Angebote finden Sie beispielsweise bei https://www.strato.de/domains/ oder https://www.hetzner.com/registrationrobot/. Die Kosten für eine Domain unterscheiden sich je nach Adresse. .de-Domains bekommt man für ungefähr 1€, .com-Domains für 1,80€ monatlich. Angebote finden Sie beispielsweise bei https://www.strato.de/domains/ oder https://www.hetzner.com/registrationrobot/.
...@@ -64,24 +66,26 @@ Wenn Sie Ihre Domain bei Hetzner registriert haben, haben Sie Zugriff auf die ...@@ -64,24 +66,26 @@ Wenn Sie Ihre Domain bei Hetzner registriert haben, haben Sie Zugriff auf die
Ein **A-Record** mit dem Namen „@“ und dem Wert „123.123.123.123“ gilt für die root-Domain, also etwa „beispiel.de“. Man kann mehrere A-Records anlegen, etwa für Subdomains. Der Name „www“ mit dem Wert „123.123.123.123“ sorgt dafür, dass „www.beispiel.de“ ebenfalls auf die IP des Servers verweist. Ein **A-Record** mit dem Namen „@“ und dem Wert „123.123.123.123“ gilt für die root-Domain, also etwa „beispiel.de“. Man kann mehrere A-Records anlegen, etwa für Subdomains. Der Name „www“ mit dem Wert „123.123.123.123“ sorgt dafür, dass „www.beispiel.de“ ebenfalls auf die IP des Servers verweist.
Der **TTL-Wert** (Time to Live) gibt an, nach welchem Zeitraum DNS-Informationen ablaufen und erneuert werden. In der Regel ist ein Wert von 43.200 (Sekunden), also 12 Stunden, ausreichend. Das längere Intervall sorgt dafür, dass die DNS-Server nicht zu stark belastet werden. Bei häufig wechselnden IP-Adressen, wie sie bei dynamischem DNS vorkommen, sollte man einen geringeren Wert einstellen, etwa 300 (5 Minuten). Der **TTL-Wert** (Time to Live) gibt an, nach welchem Zeitraum DNS-Informationen ablaufen und erneuert werden. In der Regel ist ein Wert von 43.200 (Sekunden), also 12 Stunden, ausreichend. Das längere Intervall sorgt dafür, dass die DNS-Server nicht zu stark belastet werden. Bei häufig wechselnden IP-Adressen, wie sie bei dynamischem DNS vorkommen, sollte man einen geringeren Wert einstellen, etwa 300 (5 Minuten).
**Bitte beachten Sie:** Alle DNS-Einträge müssen im Internet über alle DNS-Server verteilt werden. Das kann einige Zeit dauern, manchmal bis zu 24 Stunden. **Bitte beachten Sie:** Alle DNS-Einträge müssen im Internet über alle DNS-Server verteilt werden. Das kann einige Zeit dauern, manchmal bis zu 24 Stunden.
Eine Ergänzung ist ein **CNAME-Record** (Canonical Name), der als Alias arbeitet. Ein Eintrag mit dem Namen „www“ kann auf „beispiel.de.“ verweisen. DNS leitet dann www.beispiel.de auf beispiel.de um. Das setzt voraus, dass beispiel.de einen A-Record besitzt. Ein CNAME verweist immer auf eine Domain und nicht auf eine IP-Adresse. Die Domain muss nicht zwingend zur eigenen Domain gehören. Auch Weiterleitungen auf andere Domains sind möglich. Eine Ergänzung ist ein **CNAME-Record** (Canonical Name), der als Alias arbeitet. Ein Eintrag mit dem Namen „www“ kann auf „beispiel.de.“ verweisen. DNS leitet dann www.beispiel.de auf beispiel.de um. Das setzt voraus, dass beispiel.de einen A-Record besitzt. Ein CNAME verweist immer auf eine Domain und nicht auf eine IP-Adresse. Die Domain muss nicht zwingend zur eigenen Domain gehören. Auch Weiterleitungen auf andere Domains sind möglich.
**Bitte beachten Sie:** Der Wert für die Domäne muss mit einem Punkt „.“ enden. **Bitte beachten Sie:** Der Wert für die Domäne muss mit einem Punkt „.“ enden. Hetzner erlaubt auch „\*.beispiel.de“ als CNAME, der auf „beispiel.de.“ verweist. Damit ersparen Sie sich die Einrichtung mehrerer Subdomains. DNS liefert dann auch für „abc.beispiel.de“ oder „xyz.beispiel.de“ die zugehörige IP-Adresse. Die Anfrage an den Webserver erfolgt mit der aufgerufenen URL, für die dieser zuständig sein muss.
Hetzner erlaubt auch „*.beispiel.de“ als CNAME, der auf „beispiel.de.“ verweist. Damit ersparen Sie sich die Einrichtung mehrerer Subdomains. DNS liefert dann auch für „abc.beispiel.de“ oder „xyz.beispiel.de“ die zugehörige IP-Adresse. Die Anfrage an den Webserver erfolgt mit der aufgerufenen URL, für die dieser zuständig sein muss.
Sie können einen CNAME-Record auch in Kombination mit einem Dienst für dynamisches DNS nutzen, etwa als Besitzer einer Fritzbox. Tragen Sie „[ID].myfritz.net“ als Wert ein. Den Platzhalter „[ID]“ ersetzen Sie durch die Zeichenfolge, die Sie bei der Einrichtung Ihres MyFRITZ!-Kontos erhalten haben. Damit leiten Sie alle Subdomains an Ihren Fritzbox-Router um, der diese dann über Portfreigaben an den Webserver sendet. Der A-Record muss nicht zwingend auf die öffentliche IP des Routers verweisen. Das ist nur erforderlich, wenn Sie auch über die root-Domain „beispiel.de“ einen Dienst auf Ihrem heimischen Server aufrufen wollen. Wenn Sie ausschließlich Subdomains verwenden, ist das nicht erforderlich. Sie können einen CNAME-Record auch in Kombination mit einem Dienst für dynamisches DNS nutzen, etwa als Besitzer einer Fritzbox. Tragen Sie „\[ID\].myfritz.net“ als Wert ein. Den Platzhalter „\[ID\]“ ersetzen Sie durch die Zeichenfolge, die Sie bei der Einrichtung Ihres MyFRITZ!-Kontos erhalten haben. Damit leiten Sie alle Subdomains an Ihren Fritzbox-Router um, der diese dann über Portfreigaben an den Webserver sendet. Der A-Record muss nicht zwingend auf die öffentliche IP des Routers verweisen. Das ist nur erforderlich, wenn Sie auch über die root-Domain „beispiel.de“ einen Dienst auf Ihrem heimischen Server aufrufen wollen. Wenn Sie ausschließlich Subdomains verwenden, ist das nicht erforderlich.
In der Regel tragen Sie die IP-Adresse für den A-Record nicht manuell ein. Für die automatische Aktualisierung verwenden Sie ein Script, das die öffentliche IP des Routers bei Hetzner als A-Record einträgt. Dafür benötigen Sie einen API-Token, den Sie über „konsoleH“ unter „Sicherheit -> API-Tokens“ erstellen. In der Regel tragen Sie die IP-Adresse für den A-Record nicht manuell ein. Für die automatische Aktualisierung verwenden Sie ein Script, das die öffentliche IP des Routers bei Hetzner als A-Record einträgt. Dafür benötigen Sie einen API-Token, den Sie über „konsoleH“ unter „Sicherheit -\> API-Tokens“ erstellen.
Wir haben für das DNS-Update Hetzner Dynamic DNS Daemon von https://github.com/filiparag/hetzner_ddns verwendet. Unter „Releases“ finden Sie ein deb-Paket, das Sie herunterladen und im Terminal mit Wir haben für das DNS-Update Hetzner Dynamic DNS Daemon von https://github.com/filiparag/hetzner_ddns verwendet. Unter „Releases“ finden Sie ein deb-Paket, das Sie herunterladen und im Terminal mit
``` ```
sudo apt install ./hetzner_ddns-1.0.1-debian.deb sudo apt install ./hetzner_ddns-1.0.1-debian.deb
``` ```
installieren. Die Konfigurationsdatei heißt „/etc/hetzner_ddns.json“ und kann zum Beispiel folgenden Inhalt haben: installieren. Die Konfigurationsdatei heißt „/etc/hetzner_ddns.json“ und kann zum Beispiel folgenden Inhalt haben:
``` ```
{ {
"version": "1.0.1", "version": "1.0.1",
...@@ -105,16 +109,20 @@ installieren. Die Konfigurationsdatei heißt „/etc/hetzner_ddns.json“ und ka ...@@ -105,16 +109,20 @@ installieren. Die Konfigurationsdatei heißt „/etc/hetzner_ddns.json“ und ka
] ]
} }
``` ```
Den Platzhalter „[Mein-API-Key]“ ersetzen Sie durch Ihren Hetzner-API-Token und „[beispiel.de]“ durch Ihren Domainnamen. Hinter „interface“ tragen Sie die Bezeichnung der Netzwerkschnittstelle ein, die Sie im Terminal mit
Den Platzhalter „\[Mein-API-Key\]“ ersetzen Sie durch Ihren Hetzner-API-Token und „\[beispiel.de\]“ durch Ihren Domainnamen. Hinter „interface“ tragen Sie die Bezeichnung der Netzwerkschnittstelle ein, die Sie im Terminal mit
``` ```
ip a ip a
``` ```
ermitteln. Verwenden Sie "type": "A", wenn Sie nur IPv4 nutzen wollen.
Aktivieren und starten Sie den Systemd-Dienst mit ermitteln. Verwenden Sie "type": "A", wenn Sie nur IPv4 nutzen wollen. Aktivieren und starten Sie den Systemd-Dienst mit
``` ```
sudo systemctl enable hetzner_ddns sudo systemctl enable hetzner_ddns
sudo systemctl start hetzner_ddns sudo systemctl start hetzner_ddns
``` ```
In der Hetzner-„konsoleH“ kontrollieren Sie, ob der A-Record korrekt aktualisiert wurde. Rufen Sie im Webbrowser die URL https://api.ipify.org auf, um die öffentliche IP des Routers zu ermitteln. In der Hetzner-„konsoleH“ kontrollieren Sie, ob der A-Record korrekt aktualisiert wurde. Rufen Sie im Webbrowser die URL https://api.ipify.org auf, um die öffentliche IP des Routers zu ermitteln.
![Hetzner_DNS](uploads/8fd68e97dcf0de52145d475bf1cef0a1/Hetzner_DNS.png){width=900 height=434} ![Hetzner-DNS](uploads/8fd68e97dcf0de52145d475bf1cef0a1/Hetzner_DNS.png){width="900" height="434"}
\ No newline at end of file