Webserver nginx bereiken achter achter VPN

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Kasper1985
  • Registratie: Oktober 2014
  • Laatst online: 15-10 13:33
Mijn vraag
Hoe kan ik mijn webserver bereiken wanneer de machine waarop deze draait verbonden is met een VPN (wireguard)

Op een ubuntu 18 machine draai ik een letsencrypt docker container. Onderdeel hiervan is nxginx wat ik gebruik als reverse proxy om bij bepaalde webapps te komen vanaf buiten huis.

De VPN is gebasseerd op Streisand en draait bij Digital Ocean. De Ubuntu 18 machine verbindt met deze Digitial Ocean machine (Ubuntu 16) dmv wireguard. Dit werkt zeer goed en het snelheids verlies is minimaal vandaar de keuze voor wireguard.

Het enige waar ik tegen aan loop (volkomen logisch natuurlijk) is dat de apps die draaien achter de reverse proxy niet meer bereikbaar zijn. Mijn vraag is dus wat ik moet aanpassen in de configuratie om deze bereikbaar te maken.

Ben het spoor een beetje bijster na veel googelen. Vraag me ook af of dit uberhaupt mogelijk is, Omdat wireguard nog vrij experimenteel is is er helaas nog niet veel over te vinden.

Relevante software en hardware die ik gebruik
Ubuntu 18 (webserver)
Ubuntu 16 (Streisand gebasseerde VPN):https://github.com/StreisandEffect/streisand
Wireguard
Letsencrypt container (onderdeel daarvan is nginx)

Alle reacties


Acties:
  • 0 Henk 'm!

  • LanTao
  • Registratie: Juni 2008
  • Niet online
Waarom werkt het nu niet? Hoe is de Ubuntu 18-machine verbonden met het Internet? Heb je packet dumps genomen en bekeken?

Mogelijk is je probleem dat packets binnenkomen buiten de VPN om en de default route terug via de VPN-tunnel loopt, waarna DigitalOcean de packets (terecht) dropt. Stateful of source-based routing is dan wat je nodig hebt.

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 23:38
Ja, dat laatste is het euvel.

Heeft ook niets met Wireguard ansich te maken, maar gewoon een routeringsprobleem. Wireguard heeft echter wel wat handige hooks om dit soort zaken te regelen als je wg-quick gebruikt.

Zie wg-quick(8) (derde voorbeeld) en ip-rule(8).

In geval van wg-quick zou ik een PostUp zetten waarmee je ofwel verkeer selectief door de VPN stuurt (gebruik dan Table zodat je je default route niet overschrijft) - ofwel net als bij het voorbeeld in de man page met een goedgemikte routing rule al het verkeer van je services niet door de VPN routeren. Bijvoorbeeld een ip rule met match op de docker container waar je services in draaien.