OpenVPN Problem

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi Leute,

    hoffe Ihr könnt mir weiterhelfen....

    Habe auf meinem RPI das OpenVPN in Betrieb. Welcher sich automatisch mit einem VPN Service verbindet für welchen ich bezahle.
    Soweit habe ich die Config hinbekommen.... jetzt ist nur das Problem wenn ich mit dem RPI Surfe geht alles über VPN und Seiten lassen sich öffnen. Wenn ich mich aber über lan mit dem RPI Connect und ihn als "Access Point" verwenden funktioniert das ganze nicht.

    Es scheint so als würden die Datenpakete an die falsche Stelle geschickt werden.

    Für mich logisch wäre
    www Anfrage -> RPI Ethernet -> RPI VPN Client ruft Daten ab -> RPI Ethernet - www Anfrage ausliefern.

    Bis hierhin www Anfrage -> RPI Ethernet -> RPI VPN Client ruft Daten ab klappt alles, danach nicht mehr.

    Vielleicht hat ja jemand eine Idee =)

  • Hast du den Raspberry als default gateway auf den jeweiligen clients eingetragen?

    Zusätzlich musst du noch ip forwarding aktivieren

    Code
    sudo sysctl -w net/ipv4/ip_forward=1
  • Hi Danke für deine Antwort. Das IP Forwading ist aktiv

    Ich habe ein Fritzbox zu Fritzbox VPN Netzwerk und zusätzlich einen RPI welcher per Client über OPENVPN mit dem Internet "anonym" verbunden ist.

    Netz 1:
    Fritzbox 192.168.1.1;
    RPI 192.168.1.29

    Netz 2:
    Fritzbox 192.168.2.1;
    PC der auf RPI zugreif 192.168.2.100

    Wenn der RPI VPN Client verbunden ist sieht die Routingtabelle so aus:

    Code
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         31.192.107.113  128.0.0.0       UG    0      0        0 tun0
    0.0.0.0         31.192.107.113  0.0.0.0         UG    0      0        0 tun0
    0.0.0.0         192.168.1.1     0.0.0.0         UG    202    0        0 eth0
    31.192.107.3    192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
    31.192.107.112  0.0.0.0         255.255.255.240 U     0      0        0 tun0
    128.0.0.0       31.192.107.113  128.0.0.0       UG    0      0        0 tun0
    192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
    192.168.2.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0


    Die Zeile habe ich manuell hinzugefügt, da sonst die Anfragen aus dem Netz 2 (entfernte Fritbox) ins Nirwana laufen.

    Code
    192.168.2.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0


    Soweit so gut. So läuft alles!

    Mein Problem ist, dass sobald über den PC 192.168.2.100 nicht über das VPN-Fitzbox auf RPI sondern direkt über das '''INTERNET '''zugreifen möchte die Anfrage beim RPI landet aber der PC nichts zurückbekommt. Die Portweiterleitungen und alles passen. Das habe ich getestet da ich über mein Smartphone auf den RPI über das Internet zugreifen kann und die Anfragen zurückerhalte. Sprich diese Problem tritt nur beim Fritzbox zu Fritzbox Netzwerk auf.

    Wenn der OPENVPN Client des RPI nicht mit dem VPN verbunden ist funktioniert es. Es muss meiner Meinung nach an der oben genannten Routing Tabelle liegen.


  • Mein Problem ist, dass sobald über den PC 192.168.2.100 nicht über das VPN-Fitzbox auf RPI sondern direkt über das '''INTERNET '''zugreifen möchte die Anfrage beim RPI landet aber der PC nichts zurückbekommt....

    Wenn der OPENVPN Client des RPI nicht mit dem VPN verbunden ist funktioniert es. Es muss meiner Meinung nach an der oben genannten Routing Tabelle liegen.

    Poste mal vom PC-192.168.2.100, mit und ohne "OPENVPN Client des RPI nicht mit dem VPN verbunden", die Ausgaben von:

    Code
    ip a
    route -n

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Code
    route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
    192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

  • Wenn der RPI VPN Client verbunden ist sieht die Routingtabelle so aus:

    Code
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         31.192.107.113  128.0.0.0       UG    0      0        0 tun0
    0.0.0.0         31.192.107.113  0.0.0.0         UG    0      0        0 tun0
    0.0.0.0         192.168.1.1     0.0.0.0         UG    202    0        0 eth0
    31.192.107.3    192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
    31.192.107.112  0.0.0.0         255.255.255.240 U     0      0        0 tun0
    128.0.0.0       31.192.107.113  128.0.0.0       UG    0      0        0 tun0
    192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
    192.168.2.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0

    Es muss meiner Meinung nach an der oben genannten Routing Tabelle liegen.

    Konfiguriere das Routing so, dass die default route über das eth0-Interface:

    Code
    0.0.0.0         192.168.1.1     0.0.0.0         UG    202    0        0 eth0

    :
    eine bessere (niedrigere) metric hat als die default routen über das tun0-Interface:

    Code
    0.0.0.0         31.192.107.113  128.0.0.0       UG    0      0        0 tun0
    0.0.0.0         31.192.107.113  0.0.0.0         UG    0      0        0 tun0

    ... oder(/und) konfiguriere source-NAT für das eth0-Interface (... damit der PI nicht über das tun0-Interface antwortet, wenn die Anfrage über das eth0-Interface bei ihm ankommt).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (19. April 2017 um 10:11)


  • Könntest du mir sagen wie ich das mache?

    Z. B. (oder gleichwertig):

    Code
    sudo route del default gw 31.192.107.113 dev tun0 && sudo route add default gw 31.192.107.113 metric 50 dev tun0
    Code
    sudo route del default gw 192.168.1.1 dev eth0 && sudo route add default gw 192.168.1.1 metric 0 dev eth0
    Code
    route -n
    mtr -4nr -c 2 -i 2 8.8.8.8
    ping -c 3 -W 2 8.8.8.8

    EDIT:

    Versuch mal auf deinem PI, auch mit nur:

    Code
    sudo iptables -t mangle -I PREROUTING 1 -i eth0 -p tcp -j MARK --set-mark 5
    sudo ip rule add fwmark 5 table 5
    sudo ip route add default via 192.168.1.1 dev eth0 table 5
    Code
    ip r
    route -n

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (19. April 2017 um 11:09)

  • Habe folgende Rückmeldung erhalten

    Code
    root@raspberrypi:~# sudo route del default gw 31.192.107.113 dev tun0 && sudo route add default gw 31.192.107.113 metric 50 dev tun0
    SIOCDELRT: Kein passender Prozess gefunden

  • ...

    OK, wenn Du schon root bist brauchst Du kein sudo.

    Aber, siehe EDIT oben und versuch es mal nur damit (ohne sudo).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (19. April 2017 um 11:14)

  • Habe jetzt diese Befehle eingegeben:

    Code
    [color=#333333][size=10][font="monospace"]sudo iptables -t mangle -I PREROUTING 1 -i eth0 -p tcp -j MARK --set-mark 5[/font][/size][/color]
    [color=#333333][size=10][font="monospace"]sudo ip rule add fwmark 5 table 5[/font][/size][/color]
    [color=#333333][size=10][font="monospace"]sudo ip route add default via 192.168.1.1 dev eth0 table 5[/font][/size][/color]
    Code
    root@raspberrypi:~# ip r
    0.0.0.0/1 via 31.192.107.113 dev tun0
    default via 192.168.1.1 dev eth0  metric 202
    31.192.107.3 via 192.168.1.1 dev eth0
    31.192.107.112/28 dev tun0  proto kernel  scope link  src 31.192.107.115
    128.0.0.0/1 via 31.192.107.113 dev tun0
    192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.29  metric 202
    192.168.2.0/24 via 192.168.1.1 dev eth0
    Code
    root@raspberrypi:~# route -n
    Kernel-IP-Routentabelle
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         31.192.107.113  128.0.0.0       UG    0      0        0 tun0
    0.0.0.0         192.168.1.1     0.0.0.0         UG    202    0        0 eth0
    31.192.107.3    192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
    31.192.107.112  0.0.0.0         255.255.255.240 U     0      0        0 tun0
    128.0.0.0       31.192.107.113  128.0.0.0       UG    0      0        0 tun0
    192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
    192.168.2.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0

    Muss ich die anderen Befehle auch eingeben?

    Code
    sudo route del default gw 31.192.107.113 dev tun0 && sudo route add default gw 31.192.107.113 metric 50 dev tun0
    
    
    sudo route del default gw 192.168.1.1 dev eth0 && sudo route add default gw 192.168.1.1 metric 0 dev eth0

    Wobei bei dem hier

    Code
    route del default gw 31.192.107.113 dev tun0 && sudo route add default gw 31.192.107.113 metric 50 dev tun0


    Kein Passender Prozess gefunden als Meldung kommt. Liegt es daran das die Netmask fehlt?


  • Habe jetzt diese Befehle eingegeben:

    Ich habe doch geschrieben, wenn Du root bist brauchst Du kein sudo.
    Wie ist die Ausgabe von:

    Code
    sudo iptables -nvx -L -t mangle


    ?


    Muss ich die anderen Befehle auch eingeben?


    Nein.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Ich habe jetzt nur folgende Befehle geschrieben:

    Zitat

    Versuch mal auf deinem PI, auch mit nur:

    Code: Alles markieren
    sudo iptables -t mangle -I PREROUTING 1 -i eth0 -p tcp -j MARK --set-mark 5
    sudo ip rule add fwmark 5 table 5
    sudo ip route add default via 192.168.1.1 dev eth0 table 5

    Ich war dumm und hab alles zweimal geschrieben -.-, wie kann ich das ändern?
    Andere Frage: Bei mir geht es um eine UDP Anfrage. Ist das wichtig? Weil hier explizit auf tcp was geschrieben wird.


  • ... hab alles zweimal geschrieben -.-, wie kann ich das ändern?

    Deinen PI rebooten, denn das ist (noch) nicht persistent.


    Andere Frage: Bei mir geht es um eine UDP Anfrage. Ist das wichtig? Weil hier explizit auf tcp was geschrieben wird.

    Ja. tcp durch udp ersetzen, oder das Protokoll weglassen, dann gilt die Regel für alle Protokolle.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Stimmt jetzt alles?
    Habe TCP und UDP vorsichtshalber hinzugefügt.


  • Stimmt jetzt alles?

    Einfach testen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Klappt leider noch nicht.

    Hast Du auch:

    Code
    ip rule add fwmark 5 table 5
    ip route add default via 192.168.1.1 dev eth0 table 5


    hinzugefügt?

    Wenn ja, dann teste mal auf dem PI, mit:

    Code
    tcpdump -c 50 -vvveni eth0 udp dst portrange 1-65535


    ob in dem betr. Fall, die ausgehenden Datenpakete als Antwort, den Weg über das eth0-Interface gehen wollen/können bzw. beabsichtigen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Leider ist quasi alles unverändert.

    Wie sind die Ausgaben von:

    Code
    ip rule list
    ip r
    route -n


    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!