6 Private Links
A podcast featuring true stories from the dark side of the Internet.
Eine Subdomain zum Homelab / Homeserver einrichten
Wenn man seine Domain bei Cloudflare verwalten lässt, bekommt man im kostenlosen Plan die Möglichkeit Dynamic DNS zu nutzen gleich mit, sodass man seine Domain oder Subdomain immer auf den Homeserver zeigen lassen kann. In meinem Fall will ich eigentlich nur einen VPN-Tunnel in mein Homelab aufbauen und benötige dafür eine dauerhafte Adresse.
Subdomain anlegen
Wenn man nur eine Subdomain anstelle der Hauptdomain für das Homelab verwenden will, legt man diese am besten erst mal im Cloudflare-Dashboard an. Dafür klickt man auf "Add record" und wählt für IPv4 den Typ A oder für IPv6 den Typ AAAA aus. Anschließend unter Name den Namen der Subdomain eintragen und auf Speichern klicken.
Lässt man den Schalter "Proxy" eingeschaltet, bleibt die eigentliche IP trotz Weiterleitung des Traffic an den Homeserver geheim. Mehr dazu siehe link. Will man allerdings einen VPN-Tunnel aufbauen, muss man leider auf den Proxy verzichten.
API-Key erzeugen
Als nächstes benötigen wir einen API-Key, mit dem sich der PfSense-DynDns-Client bei Cloudflare anmelden kann. Sinnvollerweise sollte der Key nur die notwendigen Rechte haben, um DNS-Einträge einer bestimmten Domain zu ändern. Dafür klickt man unter User API Tokens auf "Create token" und wählt dort "Create Custom Token" aus.
Anschließend erstellt man unter "Permissions" zwei neue Zonen-Einträge. Einmal mit "Zone" und "Read" und einmal "DNS" und "Edit". Unter "Zone Resources" fügt man noch einen Eintrag mit "Specific zone" hinzu und wählt die zu verwendende Domain aus.
Damit kann der Client mit dem API-Key, der nach dem Speichern angezeigt wird, ausschließlich Änderungen an der ausgewählte Domain vornehmen.
PfSense Dynamic DNS
Um die frisch angelegte Subdomain automatisch zu aktualisieren, ruft man das PfSense-Dashboard auf und klickt im Menü "Services" auf "Dynamic DNS". Hier kann man nun einen Eintrag hinzufügen. Unter "Service Type" wählt man nun "Cloudflare" aus, wählt das passende WAN-Interface aus und trägt den API-Key als Passwort ein. Unter Hostname muss der Subdomain-Name und unter Domain die Hauptdomain eingetragen werden.
Hat man den Cloudflare-Proxy eingeschaltet, sollte man unbedingt auch die Checkbox "Cloudflare Proxy" aktivieren, weil sonst der Proxy nach dem ersten IP-Update deaktiviert ist und die eigene IP sichtbar wird.
Am Ende "Save and Force Update" anklicken und man hat einen neuen Eintrag, der auch gleich ein grünes Häkchen bekommt, wenn man alles richtig gemacht hat.
Glasfaser der Telekom ans Fliegen kriegen
Kürzlich war es so weit. Ich habe den heiß ersehnten Glasfaseranschluss bekommen. Und das auch noch zum Black-Friday-Tarif bei 1&1. Das ist inzwischen schon fast ein Jahr her. Den selbst gebauten Ubuntu-Router damit ans Fliegen zu bekommen, war etwas anspruchsvoller, als das Setup mit dem Kabel-Modem von Vodafone zuvor, das einfach per DHCP zu konfigurieren war.
Es brauchte ein PPPoE-Interface, wie man es von den DSL-Anschlüssen seit jeher kennt. Bei den Glasfaser-Anschlüssen hat sich die Telekom allerdings etwas Neues einfallen lassen. Man kann nicht länger einfach PPPoE auf das Netzwerkinterface konfigurieren, an dem das DSL-Modem hängt. Man muss zusätzlich ein VLAN mit der ID 7 einrichten. Ich habe dafür die Networkmanager-CLI benutzt.
Mein WAN-Netzwerkinterface heißt enp1s0. Die PPPoE-Credentials muss man natürlich passend ersetzen. Falls man noch eine Konfiguration für das Netzwerkinterface in der Netplan-Konfiguration unter /etc/netplan/01-network-manager-all.yaml
hat, sollte man diese ggf. vorher deaktivieren.
nmcli connection add type vlan vlan.parent enp1s0 vlan.id 7 ipv4.method disabled ipv6.method ignore
nmcli connection add type pppoe username 1und1/[email protected] password XXXXXXXX ifname ppp1 pppoe.parent enp1s0.7
Die neuen Interfaces für das VLAN und das PPPoE lassen sich bei Bedarf wie folgt wieder entfernen.
nmcli connection delete pppoe-ppp1
nmcli connection delete vlan
Links:
VLAN How to do pppoE with ISP "Deutsche Telekom" using ifname ppp1 pppoe.parent enp3s0.7