Möchte man den gesamten Daten-/Internetverkehr durch das VPN und den vServer leiten, wie es im Szenario im Beitrag Öffentliche IPv4-Adresse an CGN-/DS-Lite-Anschluss mittels vServer und OpenVPN Peer to Peer (Shared Key) skizziert ist, sind im wesentlichen nur zwei kleine Änderungen notwendig.

Auf der OpenVPN-Server oder -Client-Seite muss die Option “redirect-gateway” gesetzt sein. Am Beispiel des genannten Beitrags genügt es auf der pfSense in der OpenVPN-Client-Konfiguration im Abschnitt “Advanced Configuration” im Feld “Custom options”

redirect-gateway

einzufügen.

Auf dem vServer muss dann noch die Datei “/etc/nftables.conf” angepasst werden:

table ip nat {
  chain postrouting {
    type nat hook postrouting priority 100;
    oif eth0 masquerade
  }
}

Konkret geht es um die Zeile “oif eth0 masquerade” in der Tabelle “ip nat” beim “postrouting”. Ggf. ist die ausgehende Schnittstelle (“eth0”) für die eigene Umgebung anzupassen.

Die Änderung mit

/usr/sbin/nft -f /etc/nftables.conf

übernehmen und einmal das VPN neu verbinden und schon wird der gesamte Datenverkehr durch das VPN und den vServer geleitet.

Am einfachsten testen lässt sich das anhand der Abfrage der eigenen öffentlichen IP-Adresse auf solchen Seiten wie z.B. ping.eu. Vor der Änderung bekommt man die IP-Adresse des eigenen Anschlusses bzw. bei CGN-/DS-Lite-Anschlüssen die des Providers angezeigt, nach der Änderung wird die IP-Adresse des vServer angezeigt.

Unbedingt beachten sollte man die Datenmenge die man erzeugt, da je nach vServer-Anbieter nur eine bestimmte Menge pro Tag gestattet ist.

Sorgen machen, das überhaupt kein Internet mehr funktioniert, sollte die VPN-Verbindung mal streiken braucht man sich so nicht machen, denn in einem solchen Fall wird wieder das Gateway des Internet-Anschlusses verwendet.

Quellen:

gentoo linux – Nftables/Examples

nftables – wiki – Performing Network Address Translation (NAT)

OpenVPN – Community Ressources – How To