Zusammenfassung: Ich möchte eine Verbindung zu meinem VPN herstellen und Zugriff auf bestimmte Server haben, aber für den gesamten anderen Datenverkehr möchte ich mein reguläres Netzwerk verwenden.
Ich habe einen OpenVPN-Server auf meinem VPS eingerichtet. Meine server.conf
Datei sieht folgendermaßen aus:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 4
push "route 10.132.0.0 255.255.0.0"
Ich verwende die folgende .ovpn
Datei, um die VPN-Verbindung einzurichten:
client
dev tun
proto udp
remote <my.vpn.server.com> 1194
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3
<ca>....</ca>
<cert>...</cert>
<key>...</key>
Schließlich habe ich im Netzwerk-Manager für die VPN-Verbindung unter IPv4-Einstellungen sichergestellt, dass die "Methode" auf "Nur automatische (VPN) Adressen" eingestellt ist.
VPN stellt eine gute Verbindung her, ich kann auf alle internen Server zugreifen, die ich benötige (10.132.xx), aber ich kann auf nichts anderes zugreifen (wie google.com). Ich möchte, dass meine eth0-Einstellungen für alles verwendet werden, außer für die IP-Adressen 10.132.xx, die ich über das VPN weiterleiten möchte.
PS basierend auf anderen Artikeln, die ich no-pull
in der .ovpn-Datei verwendet und dort in meinen route
Einstellungen hinzugefügt habe , aber ohne Erfolg.
EDIT 1 :
Ergebnisse der Ausführung ip a
und traceroute
während der Verbindung mit VPN:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:dc:a6:ef brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
valid_lft 86320sec preferred_lft 86320sec
inet6 fe80::f3d1:6eb3:e13e:d61b/64 scope link
valid_lft forever preferred_lft forever
15: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.8.0.6 peer 10.8.0.5/32 brd 10.8.0.6 scope global tun0
valid_lft forever preferred_lft forever
$ traceroute google.com
google.com: Temporary failure in name resolution
Cannot handle "host" cmdline arg `google.com' on position 1 (argc 1)
EDIT 2 : Ergebnisse vonip r
$ ip r
default via 10.8.0.5 dev tun0 proto static metric 50
default via 10.0.2.2 dev eth0 proto static metric 100
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 metric 100
10.8.0.1 via 10.8.0.5 dev tun0 proto static metric 50
10.8.0.5 dev tun0 proto kernel scope link src 10.8.0.6 metric 50
10.132.0.0/16 via 10.8.0.5 dev tun0 proto static metric 50
104.236.239.153 via 10.0.2.2 dev eth0 proto static metric 100
169.254.0.0/16 dev eth0 scope link metric 1000
traceroute google.com
ohne VPN verbunden bin , heißt es: `1 10.0.2.2 (10.0.2.2) 0.136 ms 0.092 ms 0.127 ms`
ip r
... die Routen sehen. Können Sie google.com auflösen / pingen, wenn Sie nicht mit dem VPN verbunden sind? Scheint nicht so, als ob du es kannst. Und wenn Sie nicht können: Wie sollten Sie eth0 verwenden können, um eine Verbindung zum Internet herzustellen, oder was auch immer?
ip r
ip a
undtraceroute google.com
während der Verbindung mit dem VPN veröffentlichen? Die Konfiguration sieht für mich gut aus.