Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenVPN, ausgewählten Traffic über VPN routen



syrius
28.02.2023, 09:51
Hallo zusammen,

ich hab im Office ein OpenVPN laufen (empfehlenswerter Installer https://github.com/angristan/openvpn-install) und möchte jetzt aber nicht, dass die Clients allen ihren Traffic darüber leiten sondern eben nur ausgewählte IP-Adressen / Ranges. Im folgenden Beispiel soll Traffic nur zu 192.168.*.* über den VPN geroutet werden, alles andere nicht.

Gefunden hab ich dazu, dass der Client entweder folgendes in seine *.ovpn Datei einfügt


route-nopull
route 192.168.46.0 255.255.255.0
route 192.168.10.0 255.255.255.0

oder man am Server in die server.conf


push "route 192.168.46.0 255.255.255.0"
push "route 192.168.10.0 255.255.255.0"

hinzufügt und


push "redirect-gateway def1 bypass-dhcp"

kommentieren soll.

Egal wie man es dreht und wendet, sobald der Client sich dann verbindet, geht gar kein Internet mehr. Nur noch ICMP auf IP's ... macht den Eindruck als wenn da kein DNS mehr greift. Es ist aber auch keine Lösung für mich wenn jetzt jeder Client manuell einen DNS eintragen muss daher habe ich das auch gar nicht erst geprüft.

Vielleicht hatte ja schon mal jemand das gleiche Problem und kennt sich besser aus.

Grüße

Zipfelklatscher
28.02.2023, 21:28
Hau dazu mal Mr.Nice von ovpn.to an

Der hat mit Sicherheit DIE passende Antwort :D

Qbic
28.02.2023, 22:45
Da kommst du nicht um iptables herum.
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vpndev -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.10.0.0/24 -o eth0 -j MASQUERADE

Ggf. würde ich noch einen dnsmasq empfehlen...

syrius
01.03.2023, 09:15
Da kommst du nicht um iptables herum.

Am Client? Ne.. das definitiv nicht.

mignom
01.03.2023, 11:05
Moin,

also bei OpenVPN kann ich dir das nicht sagen, aber vllt hilft dir das etwas weiter und du kannst danach suchen oder auf Wireguard wechseln.

bei Wireguard gibt man den Adressbereich, der geschützt laufen soll, so an (Im Beispiel werden nur die 10.80.*.* Adressen über die gesicherte Verbindung gesendet):
[Peer]
AllowedIPs = 10.80.0.0/16

Im Gegensatz dazu, kann man auch negiert arbeiten und alles AUßER einem Adressbereich über den gesicherten Kanal laufen lassen. Da hilft dann diese Seite weiter:
https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/

Möchte man zb die 10.80.0.0/16 über die eine Verbindung laufen lassen und den Rest über eine andere Verbindung sähe das bei der 2. config bei den AllowedIPs so aus:
[Peer]
AllowedIPs = 0.0.0.0/5, 8.0.0.0/7, 10.0.0.0/10, 10.64.0.0/12, 10.81.0.0/16, 10.82.0.0/15, 10.84.0.0/14, 10.88.0.0/13, 10.96.0.0/11, 10.128.0.0/9, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/1

bg mignom

Qbic
01.03.2023, 23:45
Nein Serverseitig...setz das ganze als Standard Gateway auf den Clients...so hab ich es auch am laufen mit meinem PiHole