Op een remote netwerk (192.168.1.0 range) draait een OpenVPN-server in een Docker-container. Deze OpenVPN-server deelt 192.168.2.0 adressen uit aan clients die verbinden, en pusht bovendien de lokale dns-server (192.168.1.3). Nu wil ik graag dat de server routes pusht naar clients, zodanig dat al het 192.168.1.0-verkeer over de tunnel gaat en in het remote netwerk aankomt. De oplossing die mij hiervoor logisch lijkt is om:
push "route 192.168.1.0 255.255.255.0"
toe te voegen aan mijn OpenVPN-serverconfiguratie. Als ik nu verbind met een client krijg ik inderdaad netjes een 192.168.2.0 adres, zie ik dat mijn DNS op 192.168.1.3 is ingesteld en zie ik met "route PRINT" zelfs de nieuwe route voor mijn lokale verkeer staan (192.168.1.0 255.255.255.0 192.168.2.5 192.168.2.6), echter wordt mijn 192.168.1.0-verkeer nog altijd naar mijn lokale netwerk gestuurd en dus niet naar de VPN.
Vervolgens heb ik geprobeerd een enkel remote IP aan de route-lijst toe te voegen: Als ik "route 192.168.1.1 255.255.255.255" laat pushen, wordt het verkeer hierheen nu wél door de tunnel gestuurd. Hierdoor kwam ik op het lelijke idee om eens te kijken wat er gebeurt als ik elk IP in het subnet los push (192.168.1.1 255.255.255.255, 192.168.1.2 255.255.255.255, ..., 192.168.1.254 255.2555.255.255). Nu wordt al het lokale verkeer zoals gewenst door de tunnel gestuurd.
Nu blijkt dat bij het pushen van het subnet, de metric altijd 1 hoger is dan een andere route die hetzelfde verkeer juist altijd naar de lokale interface stuurt (192.168.1.0 255.255.255.0 On-link 192.168.1.100 metric 266), waardoor deze regel altijd voorrang heeft. Is er een manier om te zorgen dat de VPN-regel voorrang krijgt? (door enkel de server config aan te passen)
push "route 192.168.1.0 255.255.255.0"
toe te voegen aan mijn OpenVPN-serverconfiguratie. Als ik nu verbind met een client krijg ik inderdaad netjes een 192.168.2.0 adres, zie ik dat mijn DNS op 192.168.1.3 is ingesteld en zie ik met "route PRINT" zelfs de nieuwe route voor mijn lokale verkeer staan (192.168.1.0 255.255.255.0 192.168.2.5 192.168.2.6), echter wordt mijn 192.168.1.0-verkeer nog altijd naar mijn lokale netwerk gestuurd en dus niet naar de VPN.
Vervolgens heb ik geprobeerd een enkel remote IP aan de route-lijst toe te voegen: Als ik "route 192.168.1.1 255.255.255.255" laat pushen, wordt het verkeer hierheen nu wél door de tunnel gestuurd. Hierdoor kwam ik op het lelijke idee om eens te kijken wat er gebeurt als ik elk IP in het subnet los push (192.168.1.1 255.255.255.255, 192.168.1.2 255.255.255.255, ..., 192.168.1.254 255.2555.255.255). Nu wordt al het lokale verkeer zoals gewenst door de tunnel gestuurd.
Nu blijkt dat bij het pushen van het subnet, de metric altijd 1 hoger is dan een andere route die hetzelfde verkeer juist altijd naar de lokale interface stuurt (192.168.1.0 255.255.255.0 On-link 192.168.1.100 metric 266), waardoor deze regel altijd voorrang heeft. Is er een manier om te zorgen dat de VPN-regel voorrang krijgt? (door enkel de server config aan te passen)