Bei WireGuard (PiVPN) NAT deaktivieren

  • Code
    root@raspberrypi:# sudo arping -c 3 -I enxb827eb79298d 192.168.115.200
    ARPING 192.168.115.200 from 192.168.115.135 enxb827eb79298d
    Unicast reply from 192.168.115.200 [00:15:5D:73:B4:C1]  1.318ms
    Unicast reply from 192.168.115.200 [00:15:5D:73:B4:C1]  1.047ms
    Unicast reply from 192.168.115.200 [00:15:5D:73:B4:C1]  1.395ms
    Sent 3 probes (1 broadcast(s))
    Received 3 response(s)

    BTW: Wenn Du schon als root angemeldet bist, warum benutzt Du dann auch noch sudo?

    Wenn der arping (arp) funktioniert, sollte der ping (icmp) auch funktionieren. Wie ist die Ausgabe von:

    Code
    ping -c 3 192.168.115.200

    ?

  • BTW: Wenn Du schon als root angemeldet bist, warum benutzt Du dann auch noch sudo?

    weil ich die commands einfach kopiert habe, spielt das eine Rolle?

    Wenn der arping (arp) funktioniert, sollte der ping (icmp) auch funktionieren. Wie ist die Ausgabe von:

    Wie gehabt

    Code
    PING 192.168.115.200 (192.168.115.200) 56(84) bytes of data.
    From 10.199.89.1 icmp_seq=1 Destination Host Unreachable
    ping: sendmsg: Es ist eine Zieladresse notwendig
    From 10.199.89.1 icmp_seq=2 Destination Host Unreachable
    ping: sendmsg: Es ist eine Zieladresse notwendig
    From 10.199.89.1 icmp_seq=3 Destination Host Unreachable
    ping: sendmsg: Es ist eine Zieladresse notwendig
    192.168.115.200 ping statistics ---

    Wenn ich arping ohne interface ausführe, will er über wg0 pingen, ist da vllt der Hund begraben?

    Code
    arping -c3 192.168.115.200
    Interface "wg0" is not ARPable (no ll adress)
  • Wenn ich arping ohne interface ausführe, will er über wg0 pingen, ist da vllt der Hund begraben?

    Dann mach den Ping mit der source-IP des PI:

    Code
    ping -c 3 -I 192.168.115.135 192.168.115.200
  • Dann mach den Ping mit der source-IP des PI:

    Code
    ping -c 3 -I 192.168.115.135 192.168.115.200

    Geht auch nicht:

    Code
    PING 192.168.115.200 (192.168.115.200) 56(84) bytes of data.
    From 192.168.115.135 icmp_seq=1 Destination Host Unreachable
    ping: sendmsg: Es ist eine Zieladresse notwendig
    From 192.168.115.135 icmp_seq=2 Destination Host Unreachable
    ping: sendmsg: Es ist eine Zieladresse notwendig
    From 192.168.115.135 icmp_seq=3 Destination Host Unreachable
    ping: sendmsg: Es ist eine Zieladresse notwendig
  • Geht auch nicht:

    Code
    PING 192.168.115.200 (192.168.115.200) 56(84) bytes of data.
    From 192.168.115.135 icmp_seq=1 Destination Host Unreachable
    ping: sendmsg: Es ist eine Zieladresse notwendig

    Kannst Du auch dem Gerät mit der IP .200 (Server?) tcpdump starten? ... mit:

    Code
    sudo tcpdump -c 30 -vvveni <input-Interface> host 192.168.115.135 and icmp

    (input-Interface anpassen und ohne spitze Klammern) um zu sehen ob der Ping vom PI, dort ankommt.

  • (input-Interface anpassen und ohne spitze Klammern) um zu sehen ob der Ping vom PI, dort ankommt.

    Habe ich gemacht, da kommt nichts an.

    Wenn ich das richtig verstehe verschickt wireguard alles was in AllowedIps steht über den Tunnel, was für mich erklären würde, warum er dann nicht mehr dieses Netz erreichen kann, oder?

  • (input-Interface anpassen und ohne spitze Klammern) um zu sehen ob der Ping vom PI, dort ankommt.

    Habe ich gemacht, da kommt nichts an.

    Wenn ich das richtig verstehe verschickt wireguard alles was in AllowedIps steht über den Tunnel, was für mich erklären würde, warum er dann nicht mehr dieses Netz erreichen kann, oder?

    Naja, nicht Alles, denn der arping kommt ja an. Versuch mal mit:

    Code
    sudo tcpdump -c 30 -vvveni <input-Interface> host 192.168.115.135 and arp

    auf dem Server und mit dem arping vom PI.
    Poste vom PI auch die Ausgaben von:

    Code
    ip r g 192.168.115.200
    ip r

    EDIT:

    WireGuard gibt es für (fast) alle Betriebssysteme. D. h. jedes Gerät kann als WireGuard-peer konfiguriert und benutzt werden. Warum musst Du einen WireGuard-peer als gateway für den Zugang zu anderen Subnetzen, benutzen?

    Wi-Fi_Signal_Strength  txpower
    iptables chains order scheme iptables-diagram
    nftables-diagram

    Meine PIs

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

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

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

    Edited once, last by rpi444 (September 5, 2024 at 11:41 AM).

  • auf dem Server und mit dem arping vom PI.

    Arping läuft wie gehabt durch, tcpdump zeigt mit dem o.g. befehl aber nichts an.

    root@raspberrypi:# ip r g 192.168.115.200

    192.168.115.200 dev wg0 src 10.199.89.1 uid 0

    cache

    root@raspberrypi:# ip r

    default via 192.168.115.46 dev enxb827eb79298d proto static metric 100
    10.199.89.0/24 dev wg0 proto kernel scope link src 10.199.89.1
    192.168.115.0/24 dev wg0 scope link
    192.168.115.0/24 dev enxb827eb79298d proto kernel scope link src 192.168.115.135 metric 100

    WireGuard gibt es für (fast) alle Betriebsysteme. D. h. jedes Gerät kann als WireGuard-peer konfiguriert und benutzt werden.

    Wie meinst du das? Dass ich für jeden Dienst (Server) einen extra Tunnel anlege? Das wäre für mich keine Option.

    Warum musst Du einen WireGuard-peer als gateway für den Zugang zu anderen Subnetzen, benutzen?

    IPsec-PSK vom Lancom funktioniert nach Android-Updates nicht mehr und ist auch nicht so schön zu verwalten, wie PiVPN, deswegen wollte ich das damit ablösen.

    Lancom (LCOS) selbst unterstützt kein wireguard.

  • auf dem Server und mit dem arping vom PI.

    Arping läuft wie gehabt durch, tcpdump zeigt mit dem o.g. befehl aber nichts an.

    Zeige mal wie Du tcpdump auf dem Server benutzt hast.

    Wi-Fi_Signal_Strength  txpower
    iptables chains order scheme iptables-diagram
    nftables-diagram

    Meine PIs

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

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

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

    Edited once, last by rpi444 (September 5, 2024 at 12:03 PM).

  • Zeige mal wie Du tcpdump auf dem Server benutzt hast.

    So wie du es geschrieben hast:

    Code
    sudo tcpdump -c 30 -vvveni <input-Interface> host 192.168.115.135 and arp
    listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes

    Wenn ich in der wg0.conf wieder "AllowedIPs = 10.199.89.2/32" eintrage und der normale ICMP-Ping durchläuft, sehe ich das im tcpdump, nur den arping sehe ich nicht.

  • Zeige mal wie Du tcpdump auf dem Server benutzt hast.

    So wie du es geschrieben hast:

    Code
    sudo tcpdump -c 30 -vvveni <input-Interface> host 192.168.115.135 and arp
    listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes

    Wenn ich in der wg0.conf wieder "AllowedIPs = 10.199.89.2/32" eintrage und der normale ICMP-Ping durchläuft, sehe ich das im tcpdump, ...

    Siehst Du den icmp-Ping am eth0-Interface des Servers oder am wg0-Interface des Servers? Du benutzt tcpdump doch auf dem Server und nicht auf dem PI, oder?

  • Sorry hatte tatsächlich beim tcpdump hinten das icmp nicht mit arp ersetzt.

    Folgende ausgabe habe ich (nicht wundern ist ein anderer Server mit der ip 192.168.115.196, der andere läuft mit Windows)

  • Sorry hatte tatsächlich beim tcpdump hinten das icmp nicht mit arp ersetzt.

    Folgende ausgabe habe ich (nicht wundern ist ein anderer Server mit der ip 192.168.115.196, der andere läuft mit Windows)

    Ich habe aber geschrieben, dass Du tcpdump auf dem Server (.200) und nicht auf dem PI starten sollst. Denn wir wollen ja, auf dem Server sehen ob der Ping dort ankommt (und aus welchen Gründen auch immer) ein icmp-reply zum PI nicht ankommt.
    Wenn Du Windows hast, kannst Du wireshark mit dem richtigen Filter benutzen, statt tcpdump.

  • Bei beiden geht ARP durch und ICMP nicht.

    Dann liegt es evtl. an deinem Router (oder gleichwertig).

    EDIT:

    Kann es evtl. sein, dass Du ein arp-proxy in deiner Konstellation benutzt?

  • Dann liegt es evtl. an deinem Router (oder gleichwertig).

    Warum sollte das am Router liegen? Wo kommt der zum Einsatz?


    So verstehe ich das (korrigiere mich wenn ich falsch liege):

    Der Raspi möchte zu einem Host per ICMP pingen im gleichen Netz, was ohne "allowedips=[eigenes Netz]"ganz normal funktioniert.

    MIT "allowedips=[eigenes Netz]" funktioniert arping nach meinem Verständnis deswegen, weil das auf OSI-Schicht 2 läuft, wireguard läuft auf OSI-Schicht 3.

    Wireguard schickt alles (ab Schicht 3, also auch ICMP) was zu "AllowedIps" will über den Tunnel, dort gibt es das netz nicht.

    Kann es evtl. sein, dass Du ein arp-proxy in deiner Konstellation benutzt?

    Tatsächlich ist die Option aktiviert im Lancom, ist mir neu.

    Edited once, last by jojohannes (September 6, 2024 at 10:44 AM).

  • So verstehe ich das ...

    Solche Tests funktionieren m. E. nur dann richtig, wenn die Kommunikation richtig funktioniert und das ist in diesem Thread nicht der Fall.

  • Ich habe jetzt im Lancom den Proxy-ARP deaktiviert und am Raspi den ARP-Cache gelöscht, ändert aber nichts.

    Immernoch "ping: sendmsg: Es ist eine Zieladresse notwendig" beim ICMP-Ping.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!