Raspberry Pi 4 // OpenVPN

  • Richtig, die 252 ist der Client, die 253 ist der Server. Die Geräte hätten die 10, die 240 und die 241. Die 254 gibt es nicht und gab es auch nie...

    Was mache ich mit dem falschen ARP-Eintrag?

    Die 254 habe ich mal versucht rauszunehmen, die war als Gateway in der Bridge eingetragen. Seltsam, da das wie gesagt seit Jahren läuft und nicht verändert wurde...

    Server jetzt

    Client jetzt

    Einmal editiert, zuletzt von matahari (22. November 2021 um 23:04)

  • Was mache ich mit dem falschen ARP-Eintrag?

    Server jetzt

    Code
    ? (10.10.10.252) at <incomplete> on br0

    Client jetzt

    Code
    ? (10.10.10.253) at <incomplete> on br0

    Den unvollständigen arp-cache-Eintrag löschen und den richtigen/statischen manuell eingeben und danach prüfen und testen. Siehe weiter oben, wie man das macht.

    EDIT:

    Hast Du vor vielen Jahren evtl. ein Installations-/Konfigurationsscript für OpenVPN benutzt?

    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
    Hast Du vor vielen Jahren evtl. ein Installations-/Konfigurationsscript für OpenVPN benutzt?

    Ne, alles von Hand. Allerdings erinnere ich mich gut an das teilweise wirre zusammensuchen einer passenden Anleitung. Es gab zwar grundsätzlich genug, aber ehe ich eine korrekte hatte vergingen Tage...

    Die Einträge sind jetzt denke ich richtig

    Server

    Code
    arp -av
    ? (10.10.10.252) at 00:50:b6:28:0f:1b [ether] PERM on br0
    ? (192.168.101.64) at e4:5f:01:71:af:bb [ether] on eth0
    ? (192.168.101.1) at c0:c9:e3:da:06:24 [ether] on eth0
    ? (192.168.101.84) at 30:05:5c:79:e6:22 [ether] on eth0

    Client

    Code
    arp -av
    ? (192.168.101.1) at c0:c9:e3:da:06:24 [ether] on eth0
    ? (192.168.101.66) at e4:5f:01:71:b0:0c [ether] on eth0
    ? (192.168.101.84) at 30:05:5c:79:e6:22 [ether] on eth0
    ? (192.168.101.118) at c8:60:00:6e:51:f1 [ether] on eth0
    ? (10.10.10.253) at 00:50:b6:28:14:b6 [ether] PERM on br0

    Geändert hat es aber leider nichts. Ich habe dieses eine Image von damals allerdings auch mehrfach kopiert und definitiv nie eine neue MAC-Adresse eingestellt.

    Ich hab bestimmt irgendetwas total lapidares am Anfang vergessen. ;(

  • Die Einträge sind jetzt denke ich richtig

    Server

    Code
    arp -av
    ? (10.10.10.252) at 00:50:b6:28:0f:1b [ether] PERM on br0

    Client

    Code
    arp -av
    ? (10.10.10.253) at 00:50:b6:28:14:b6 [ether] PERM on br0

    Geändert hat es aber leider nichts.

    D. h. arping und Ping funktionieren noch immer nicht?

    Client:

    Code
    apt-cache policy iputils-arping | grep -i install
    sudo arping -c 3 -I br0 10.10.10.253

    ?

    Server:

    Code
    apt-cache policy iputils-arping | grep -i install
    sudo arping -c 3 -I br0 10.10.10.252

    ?

    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

  • Genau, passiert leider absolut nichts...

    Server

    Code
    apt-cache policy iputils-arping | grep -i install
    sudo arping -c 3 -I br0 10.10.10.253
      Installed: 3:20210202-1
    ARPING 10.10.10.253 from 10.10.10.253 br0
    Sent 3 probes (3 broadcast(s))
    Received 0 response(s)

    Client

    Code
    apt-cache policy iputils-arping | grep -i install
    sudo arping -c 3 -I br0 10.10.10.252
      Installed: 3:20210202-1
    ARPING 10.10.10.252 from 10.10.10.252 br0
    Sent 3 probes (3 broadcast(s))
    Received 0 response(s)

    Ob es sinnvoll ist in diesem Thread zu bleiben oder sollte ich das Problem lieber in einen neuen verschieben?

  • Genau, passiert leider absolut nichts...

    Wie sind Server und Client miteinander verbunden? Wie kommst Du auf den Server und den Client, wenn Du was ändern/konfigurieren musst?

    Schau mal auf Server und Client nach, ob bei den Interfaces oder bei einem der Interfaces evtl. :

    Code
    ... <NO-CARRIER,...

    angezeigt wird.

    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

  • Aktuell habe ich die beiden noch hier, sie hängen mit eth0 in meinem Netzwerk. eth1 ist dann der Link zu den Geräten. Im laufenden Betrieb komme ich über einen PC auf den Server, auf den Client komme ich im laufenden Betrieb nur wenn der Tunnel steht über den Server.

    Server

    Client

    tap1 sollte da doch auch nicht sein...

  • Aktuell habe ich die beiden noch hier, sie hängen mit eth0 in meinem Netzwerk. .... I

    Können sich z. Zt. Server und Client, gegenseitig über das eth0-Interface per Ping erreichen?

    Was für einen Router hast Du?

    EDIT:

    Wo bzw. wie konfigurierst Du das eth1- und das br0-Interface, auf Server und Client?

    EDIT2:

    Hast Du z. Zt. bullseye, neu installiert auf beiden PI4s? D. h. kein release-upgrade?

    EDIT 3:

    Siehe auch: https://openvpn.net/community-resources/ethernet-bridging/

    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

    2 Mal editiert, zuletzt von rpi444 (23. November 2021 um 09:53)

  • Ja, über eth0 können sie sich erreichen. Ich verwende einen TL-R605, beide PI´s hängen im gleichen VLAN ohne irgendein Regelwerk dazwischen.

    Die Konfiguration habe ich vom alten übernommen und in /etc/network/interfaces vorgenommen.

    Server

    Client

    Ja, nachdem das upgrade nur bedingt lauffähig war habe ich über den Imager die SD-Karten frisch beschrieben. Beide auf bullseye

  • Die Seite über bridging bringt mich auch nicht zum Ziel - es gab in der alten Version auch definitiv keine Scripte die vorher durchlaufen mussten.

    Es gab nur ein Script auf beiden Seiten das prüfte ob die andere Seite erreichbar war und wenn nicht den Dienst beendet oder den ganzen Raspberry neu gestartet hat - ich erinnere mich das ich damals von Client aus nicht ins Internet gekommen bin wenn der Tunnel aktiv war. Das war problematisch, weil ich den ddns-Namen auflösen musste. Ich habe das Problem aber nicht weiter angeschaut, weil er durch den Neustart von ovpn ins Internet konnte - und damit war es aus dem Fokus... Aber das was jetzt ist hatte ich nie.

    Es sind doch insgesamt gar nicht so viele Schritte, gibt es wirklich keinen Leitfaden der einmal die Schritte durchgeht - so finde ich schlicht gar nichts. Ich bin kurz davor doch die alten Karten zu nehmen und hochzustufen - viel mehr Probleme kann ich damit ja auch bald nicht haben...

  • Die Seite über bridging bringt mich auch nicht zum Ziel - ...

    Die Scripte von der OpenVPN-Seite über ethernet bridging, sind für die generische Vorgehensweise beim erstellen einer ethernet bridge. Die interfaces-Datei soll man mit systemd, ja nicht mehr benutzen.

    Die Konfiguration der bridge sollte m. E. aber auch mit systemd-networkd möglich sein. Siehe z. B. auf deinem PI4 die manpages für systemd.netdev und für systemd.network.

    EDIT:

    BTW: Lass mal das virtuelle Interface eth1 weg und benutze für das bridge-Interface br0, als bridge_ports das physikalische eth0-Interface.

    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

    2 Mal editiert, zuletzt von rpi444 (24. November 2021 um 11:21)

  • Ok, ich denke so wird sich das bis ins unendliche ziehen. Ich habe noch einen Satz SD-Karten vom ursprünglichen Jessie die funktionieren. Ich besorge mir nachher noch ein paar größere SD-Karten und klone mir die. Danach versuche ich Schritt für Schritt zu aktualisieren bis es nicht mehr funktioniert, und dann suche ich was an der Stelle wohl verändert worden ist. /etc/systemd/network ist in der funktionierenden Brücke auf jeden Fall leer. In der Routing-Tabelle steht bei Jessie mehr, da taucht tap0 auch auf...

    SERVER jessie

    CLIENT jessie

    Das falsche Gateway war in der alten Version übrigens auch schon eingetragen (die 254). Ist keinem aufgefallen, lief halt. Habe das jetzt aber auch in der alten Version bereinigt...

    Vielleicht hilft das ja noch weiter...

  • eth1 ist nicht virtuell...

    Wie viele LAN-NICs hast Du auf deinem PI4?

    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

  • Zitat

    Wie viele LAN-NICs hast Du auf deinem PI4?

    Jeweils 2.

    eth0 geht zum Internet und eth1 (USB) zu den Geräten. Eines der Geräte hat eine Weboberfläche, dafür habe ich

    Code
    os.system("sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 10.10.10.10:80")
    os.system("sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.10.10.10:80")
    os.system("sudo iptables -t nat -A POSTROUTING -p tcp -d 10.10.10.10 --dport 80 -j MASQUERADE")

    gemacht wenn der Tunnel steht.

    Also an eth1 sind die Geräte im 10er Netz angeschlossen.

  • Jeweils 2.

    eth0 geht zum Internet und eth1 (USB) zu den Geräten.

    OK, dann poste mal die Ausgaben von:

    Code
    ip route show dev eth0
    ip route show dev eth1
    ip route show dev br0
    ip route g 1.1.1.1
    ip route g 10.10.10.253
    ip route g 10.10.10.252

    EDIT:

    Code
    Teste mal auf deinem PI4, ob der Ping von eth1-Interface als source-Interface, zur IP-Adresse des eth0-Interface funktioniert:
    Code
    ping -c 3 -I eth1 192.168.101.64

    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 (24. November 2021 um 12:46)

  • Ok, ich habe an den alten jetzt allerdings keine Netzwerkkarte dran. Die steckt verschraubt im Gehäuse mit den RP4ern. Aber das sollte auch nichts zur Sache tun - der Server soll ja den Client erreichen und andersrum...

    Server alt

    Server neu


    Client alt

    Client neu

  • Nachdem ich jetzt beide Seiten auf Buster aktualisiert habe ist der Tunnel wieder tot. Auf Stretch ging es, hilft mit für den RP4 ja aber leider nicht.

    Allerdings war die Arbeit nicht umsonst - denke ich. Denn die Fehlermeldung ist identisch mit der, die ich bei der frisch installierten Version hatte.

    Code
    Wed Nov 24 23:12:16 2021 us=125638 client1/192.168.101.105:42100 MULTI: Learn: 9e:24:c4:51:52:9a -> client1/192.168.101.105:42100
    Wed Nov 24 23:12:17 2021 us=127699 client1/192.168.101.105:42100 MULTI: Outgoing TUN queue full, dropped packet len=86
    RWed Nov 24 23:12:18 2021 us=130028 client1/192.168.101.105:42100 MULTI: Outgoing TUN queue full, dropped packet len=90

    Ich finde zu dieser Meldung nicht viel, aber ich denke genau da müsste man ansetzen. Was soll das sein und wie kann ich das ändern. Ist die "TUN queue" irgendein Systemwert, gehört das zu openVPN oder zu Linux. Ich bin mir sicher, dass der Rest ohne Probleme läuft, wenn dieser Fehler behoben ist. Nur wie...

    Nachtrag:

    Der "Fehler" ist gefunden. Es lag am up-Script. Ich habe bei der Suche nach dem Fehler eines gefunden das nicht dem meinen entsprach. Ich habe also

    Bash
    #!/bin/bash
    brctl addif br0 tap0

    ersetzt durch

    Bash
    #!/bin/bash
    brctl addif br0 $1
    ifconfig $1 up

    Und der Spuk ist vorbei.

    Jetzt muss ich nur noch zusehen, das ich die ganzen anderen Änderungen rückgängig gemacht bekomme - aber der Ping geht jetzt

    Nachtrag 2:

    Nachdem ich die "frische Installation" wieder in den Ursprungszustand gebracht und dort ebenfalls das up-Script verändert habe laufen die RP4er auch so wie sie sollen.

    Vielen Dank, besonders an rpi444!

    3 Mal editiert, zuletzt von matahari (25. November 2021 um 04:52) aus folgendem Grund: Lösung gefunden!

  • Nachtrag:

    Ich habe bei der Suche nach dem Fehler eines gefunden das nicht dem meinen entsprach. Ich habe also

    Bash
    #!/bin/bash
    brctl addif br0 tap0

    ersetzt durch

    Bash
    #!/bin/bash
    brctl addif br0 $1
    ifconfig $1 up

    D. h. dein Script hat tap0 angenommen. Mit $1 wird es als Parameter an das Script übergeben.

    Wie ist jetzt, nach dem es funktioniert, die Ausgabe von:

    Code
    ip a   # oder die von
    ifconfig

    ?

    EDIT:

    BTW: Wo (Link?) hast Du das Script gefunden, das nicht deinem entsprach?

    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

  • ip a kommt ;)

    Server

    Client

    Das Script habe ich hier gefunden. Tatsächlich vollkommen zufällig. Dieses zufällige war 2015 bei der letzten Installation allerdings auch das Problem. Irgendwann findet man die richtige Anleitung - das beinhaltet nicht das Verstehen dieser. Ich sehe in der ersten Zeile technisch eigentlich gar keinen Unterschied - aber ganz offensichtlich macht es einen ;)

Jetzt mitmachen!

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