Aufgabe #2269
offenWireguard auf SSH Jumphost eingerichtet
0%
Beschreibung
Ich habe Wireguard auf dem Jumphost eingerichtet um das konfigurieren unserer Systeme zu erleichtern. Statt einen SSH-Proxy im Hintergrund laufen zu lassen und einen speziell konfigurierten Browser benutzen zu müssen kann man über den Wireguard Tunnel direkt auf die jeweiligen IPs zugreifen. Man muss nur den VPN aktivieren.
Von MathisBluemel vor etwa 2 Monaten aktualisiert · Edited
Ich habe folgenden Text an die configuration.nix rangehangen:
#matmel@: Nachfolgend die Wireguard Konfiguration welche ich hier gefunden hab: https://nixos.wiki/wiki/WireGuard networking.nat.enable = true; networking.nat.externalInterface = "eth0"; networking.nat.internalInterfaces = [ "wg0" ]; networking.firewall = { allowedUDPPorts = [ 1194 ]; }; networking.wireguard.interfaces = { # "wg0" is the network interface name. You can name the interface arbitrarily. wg0 = { # Determines the IP address and subnet of the server's end of the tunnel interface. ips = [ "10.8.0.230/24" ]; # The port that WireGuard listens to. Must be accessible by the client. listenPort = 1194; # This allows the wireguard server to route your traffic to the internet and hence be like a VPN # For this to work you have to set the dnsserver IP of your router (or dnsserver of choice) in your clients postSetup = '' ${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE; ${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE; ''; # This undoes the above command postShutdown = '' ${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE; ${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE; ''; # Path to the private key file. # # Note: The private key can also be included inline via the privateKey option, # but this makes the private key world-readable; thus, using privateKeyFile is # recommended. privateKeyFile = "/var/wg-keys/private"; peers = [ # List of allowed peers. { #Mathis T480 matmel@ publicKey = "g8u9+Xe9GX5zjUSTIWHb2Ja38ohbSpv84Xuf2271jl0="; # List of IPs assigned to this peer within the tunnel subnet. Used to configure routing. allowedIPs = [ "10.8.0.3/32" ]; } ]; }; };
Außerdem wurde eine Regel in der OPNsense Firewall erstellt welche den Port 1194 an den Jumphost weiterleitet. Warum 1194 und nicht 51820(Wireguard Standardport)? Im Eduroam ist (meines Wissens) der Port 1194 der einzige Port welcher für UDP IN und OUT freigegeben ist.
Wenn weitere Mitglieder den VPN benutzen möchten müssen sie nur ihren Wireguard Public Key und eine IP Adresse (10.8.0.0/24 Netz) welche noch nicht vergeben ist eintragen (und die logischerweise in ihrer Wireguard Konfig auch vermerken)
Von MathisBluemel vor etwa 2 Monaten aktualisiert
- Status wurde von Neu zu Erledigt geändert
Von PaulRiegel vor etwa 2 Monaten aktualisiert
- Status wurde von Erledigt zu Gesichtet geändert
Bitte erst einmal wieder entfernen! (Ich nehme an, dass das für keinen Menschen stressig ist.) Sorry!
Ich habe den Eindruck, dass das ganz schön "hingerotzt" ist. (Wenn ich was mit eth1
lese und vermuten kann, dass die erklärenden Kommentare nur einfach dumm kopiert wurden, dann bekomme ich ein unangenehmes Gefühl.)
BTW: Warum wurde sich für iptables
, und nicht nftables
entschieden?
Spoiler: Theoretische Frage: Wenn ein neuer Bereich an nicht öffentlichen Adressen für IP in Gebrauch kommt, dann wird das wo vermerkt? (Frage zum Trollen: Wurde sich bemüht zu prüfen, dass der Bereich nicht bereits schon verwendet wurde?)
Von PaulRiegel vor etwa 2 Monaten aktualisiert
- Abgabedatum wurde auf 28.02.2025 gesetzt
Also damit wir uns nicht falsch verstehen: Grundsätzlich kann - wenn das wem was bringt - die Anwendung WireGuard installiert und benutzt werden.
Aber bitte erst einmal - damit so nicht einfach so "deployt" wird - erst einmal vermerken die Zeilen der Konfiguration (verstehen und) erklärend dokumentieren.
Von MathisBluemel vor etwa 2 Monaten aktualisiert · Edited
Okay, ich stelle die Kopie der alten config wieder her und speichere die jetzige configuration.nix als Arbeitskopie im selben Ordner unter wg.configuration.nix.
Ich habe auch noch gleich alle Kommentare(der Wireguardsektion) gegen meine Kommentare ersetzt.
Ich habe iptables benutzt weil es im Beispiel im Nix Wiki auch so gemacht wurde und ich habe es bei vielen anderen Wireguard Server Konfigs auch gesehen. Da Göran aber meinte, dass nftables Regeln besser zu lesen sind, werde ich demnächst versuchen diese zu übersetzen.
Ich habe in der Netbox nachgeschaut und wir haben keine Einträge, welche den Adressbereich 10.8.0.0/24 benutzen.
Ich denke wir können in dem Fall einfach die Peers welche wir der Nixconfig hinzufügen in die Netbox eintragen. So sieht man dass der Adressbereich vergeben ist.