Skip to content

wg-easy in Kubernetes: Toegangs- en Client Management Handleiding

Deze documentatiepagina beschrijft hoe je wg-easy, de webgebaseerde WireGuard beheerdersinterface, in een Kubernetes omgeving gebruikt om verkeer in de clusters te benaderen. Deze handleiding is bedoeld voor ontwikkelaars met basiskennis van de Unix CLI, en geeft stapsgewijze instructies om kritieke problemen zelfstandig op te lossen.

Overzicht

wg-easy wordt in Kubernetes ingezet om veilige toegang tot je cluster te bieden via WireGuard VPN. De wg-easy UI is beschikbaar op:

http://wireguard-wg-easy.wireguard.svc.cluster.local:51821/

Toegang tot deze URL is alleen mogelijk als je verbonden bent via de VPN of als er port-forwarding is opgezet. Belangrijk: Het beheerderswachtwoord voor de UI vind je in 1Password.

Toegang tot de wg-easy UI

1. Via VPN

Wanneer je verbinding maakt met de VPN, kun je direct navigeren naar de bovenstaande URL. Zorg er wel voor dat de VPN-verbinding actief is.

2. Via Port-forwarding

Als VPN-toegang niet mogelijk is, kun je een port-forward instellen naar de Kubernetes service. Open een terminal en voer het volgende commando uit (ervan uitgaande dat de service in de namespace wireguard draait):

kubectl port-forward svc/wireguard-wg-easy 51821:51821 -n wireguard

Na het instellen van de port-forward kun je in je browser naar http://localhost:51821/ navigeren om de UI te bereiken.

Inloggen in de UI

  1. Open de URL (zoals beschreven in de toegangsmethoden hierboven).
  2. Voer het beheerderswachtwoord in (te vinden in 1Password).
  3. Na succesvol inloggen krijg je toegang tot de interface voor het beheren van WireGuard clients.

Client Management in de UI

Binnen de wg-easy UI kun je de volgende acties uitvoeren:

Nieuwe Client Aanmaken

  1. Klik op de knop "Nieuwe Client" of "Add Client".
  2. Vul de vereiste gegevens in, zoals de clientnaam en eventuele extra opties.
  3. Klik op "Opslaan" om de nieuwe client aan te maken.

Client Uitschakelen

  1. Zoek de client die je wilt uitschakelen in de lijst.
  2. Klik op de schakelaar of de desbetreffende knop om de status van de client op "uitgeschakeld" te zetten.
  3. Dit voorkomt dat de betreffende client verkeer via de VPN kan routeren.

Client Verwijderen

  1. Selecteer de client die je wilt verwijderen.
  2. Klik op de knop "Verwijderen".
  3. Bevestig de verwijderactie om de client permanent te verwijderen.

Nieuwe Configuratiebestanden Genereren

  1. Voor elke client kun je nieuwe configuratiebestanden genereren door op de knop "Genereer Config" te klikken.
  2. Het gegenereerde configuratiebestand kun je downloaden en vervolgens gebruiken op het betreffende client-apparaat.

Probleemoplossing en Kritische Fouten

Geen Toegang tot de UI

  • Controleer of je verbonden bent met de VPN of dat de port-forward correct is opgezet.
  • Voer kubectl get svc -n wireguard uit om te verifiëren dat de service draait.
  • Bekijk de logs van de wg-easy deployment met:

kubectl logs deployment/wg-easy -n wireguard

Wachtwoordproblemen

  • Zorg ervoor dat je het juiste beheerderswachtwoord gebruikt (raadpleeg 1Password voor het actuele wachtwoord).

Netwerkproblemen

  • Controleer of de service intern bereikbaar is door in te loggen op een pod en bijvoorbeeld het metrics endpoint te testen:

kubectl exec -it <pod-name> -n wireguard -- curl http://localhost:51821/metrics

  • Herbekijk de service configuratie en controleer eventuele firewall instellingen binnen het Kubernetes cluster.

Aanvullende Tips voor Kubernetes en Google Cloud

  • Zorg ervoor dat je de juiste context en namespace gebruikt bij kubectl-commando's:

kubectl config current-context kubectl config view --minify | grep namespace:

  • In een Google Cloud omgeving kunnen extra netwerkregels vereist zijn om lokale port-forwarding toe te staan. Raadpleeg daarom de Google Cloud Logging en Monitoring tools voor meer gedetailleerde foutopsporing.

  • Reserveer voldoende resources voor de wg-easy pods en controleer de resource limieten in je deployment configuratie.

Samenvatting

  • wg-easy biedt een webgebaseerde interface voor het beheren van WireGuard clients in een Kubernetes omgeving.
  • De UI is toegankelijk via VPN of door het opzetten van een port-forward.
  • Via de UI kun je nieuwe clients aanmaken, bestaande clients uitschakelen of verwijderen, en nieuwe configuratiebestanden genereren.
  • Voor inloggegevens raadpleeg je 1Password.
  • Deze documentatie bevat ook troubleshooting tips om kritieke problemen snel te identificeren en op te lossen.

Referenties