RPI mit 4G als LAN-Internetrouter

  • Guten Morgen,

    ich hab hier zwei RPI 4B.

    Einer der beiden verfügt über einen Waveshare 4G-HAT mit einer funktionierenden Internetverbindung.

    Von außen kann dieser verwaltet werden.

    Jetzt möchte ich, dass beide separat aus dem Internet erreichbar sind...wie muss ich hier vorgehen?

    Beide RPI 4B sind per Switch miteinander verbunden. Feste IP Adressen sind definiert.

    Der zweite PI kann vom ersten aus gepingt werden.


    Danke& Grüße

    Christoph

  • ... mit einer funktionierenden Internetverbindung.

    Jetzt möchte ich, dass beide separat aus dem Internet erreichbar sind...wie muss ich hier vorgehen?

    Was genau meinst Du mit "separat erreichbar"? Beschreibe das mal etwas genauer, evtl. mit Hilfe eines Beispiels/Szenarios.

    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-p6 (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

  • Auf beiden läuft bspw Openhab, Motion und SSH

    RPI 1

    SSH: Port 22

    Openhab: Port 8080

    Motion: Port 7071

    RPI 2

    SSH: Port 2222

    Openhab: Port 8081

    Motion: Port 7073

    Jetzt möchte ich von zu Hause auf die beiden jeweils direkt zugreifen können....


    und dieses enable net.v4... habe ich versucht. reicht nicht.

  • Naja, von zu Hause ist nicht aus dem Internet, oder?

    Willst Du evtl. von zu Hause, mit der externen/öffentlichen IPv4-Adresse des einen PI der als Internetrouter fungieren soll, zugreifen?

    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-p6 (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

  • es geht um den Zugriff übers internet

    OK, dann versuche ich mal so: Wo befindet sich der Internetanschluss, über den Du zugreifst?

    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-p6 (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

  • Also, wie gesagt, habe ich 2x RPI 4B

    RPI 1 mit 4G HAT ist über das Internet zu erreichen, hat eine externe und eine interne IP.

    Zugriff funktioniert weltweit, alles kein Problem.

    RPI 2 soll jetzt ebenfalls die Internetverbindung nutzen. Beide RPIs sind mit einem Switch verbunden.

    RPI 1 kann RPI 2 anpingen.

    Ferner möchte ich über das Internet, analog RPI 1, direkt auf die offenen Ports von RPI 2 zugreifen können.

  • RPI 1 mit 4G HAT ist über das Internet zu erreichen, hat eine externe und eine interne IP.

    Zugriff funktioniert weltweit, alles kein Problem.

    RPI 2 soll jetzt ebenfalls die Internetverbindung nutzen. Beide RPIs sind mit einem Switch verbunden.

    RPI 1 kann RPI 2 anpingen.

    Poste mal von beiden PIs, die Ausgaben von:

    Code
    ip a
    route -n
    arp -av

    und vom RPI 1 zusätzlich die Ausgabe von:

    Code
    sysctl net.ipv4.ip_forward

    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-p6 (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

  • RPI #1, der mit dem 4G HAT

    Code
    ip -a
    
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    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 mq state UP group default qlen 1000    link/ether dc:a6:32:73:23:c4 brd ff:ff:ff:ff:ff:ff    inet 192.168.2.29/24 brd 192.168.2.255 scope global noprefixroute eth0       valid_lft forever preferred_lft forever    inet6 fe80::7191:8334:fb79:f634/64 scope link       valid_lft forever preferred_lft forever
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether dc:a6:32:73:23:c5 brd ff:ff:ff:ff:ff:ff    inet 192.168.1.29/24 brd 192.168.1.255 scope global noprefixroute wlan0       valid_lft forever preferred_lft forever    inet6 fe80::8ed0:8100:8e27:9920/64 scope link       valid_lft forever preferred_lft forever
    4: wwan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000    link/none    inet meine.öffentliche.4G.IP/30 scope global wwan0       valid_lft forever preferred_lft forever
    Code
    route -n
    
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         aa.bb.cc.ddd    0.0.0.0         UG    0      0        0 wwan0 <= korrekte öffentl. IP 
    37.84.24.184    0.0.0.0         255.255.255.252 U     0      0        0 wwan0
    192.168.1.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0
    192.168.2.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
    Code
    arp -av
    
    ? (192.168.2.39) at <incomplete> on eth0
    ? (192.168.2.30) at 00:24:6d:01:73:96 [ether] on eth0
    ? (192.168.2.28) at e4:5f:01:a3:92:40 [ether] on eth0
    Entries: 3      Skipped: 0      Found: 3
    Code
    sysctl net.ipv4.ip_forward
    net.ipv4.ip_forward = 1


    RPI #2

    Code
    route -n
    
    Kernel-IP-Routentabelle
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.2.29    0.0.0.0         UG    202    0        0 eth0
    192.168.2.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
    Code
    arp -av
    
    ? (192.168.2.29) auf dc:a6:32:73:23:c4 [ether] auf eth0
    Eintr▒ge: 1   Ignoriert: 0   Gefunden: 1
  • RPI #1, der mit dem 4G HAT

    Code
    ip -a
    
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000    link/ether dc:a6:32:73:23:c4 brd ff:ff:ff:ff:ff:ff    inet 192.168.2.29/24 brd 192.168.2.255 scope global noprefixroute eth0       valid_lft forever preferred_lft forever    inet6 fe80::7191:8334:fb79:f634/64 scope link       valid_lft forever preferred_lft forever


    Code
    sysctl net.ipv4.ip_forward
    net.ipv4.ip_forward = 1


    RPI #2

    Code
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether e4:5f:01:a3:92:40 brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.28/24 brd 192.168.2.255 scope global noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::68df:41da:82d8:1c63/64 scope link
           valid_lft forever preferred_lft forever

    Das wäre OK.

    Hast Du auf deinem RPI1 auch source-NAT (MASQUERADE)-Regeln konfiguriert?

    Versuch mal als Test (d. h. nicht persistent) auf dem RPI1:

    Code
    sudo iptables -t nat -I POSTROUTING 1 -o wwan0 -j MASQUERADE
    sudo iptables -t nat -I POSTROUTING 2 -o eth0 -j MASQUERADE
    sudo iptables -t nat -I POSTROUTING 3 -o wlan0 -j MASQUERADE

    und danach vom RPI1 die Ausgabe von:

    Code
    sudo iptables -nvx -L -t nat

    posten, nach dem Du auf dem RPI2:

    Code
    mtr -4nr -c 2 1.1.1.1

    ausgeführt und hier gepostet hast. Evtl. musst Du mtr-tiny vorher noch installieren.

    EDIT:

    BTW: Anonymisiere auch dein öffentliches Subnetz/netmask, denn mit der Subnetzmaske kann man leicht deine externe IPv4-Adresse bekommen:

    Code
    :~$ sudo scanssh -s ssh -n 22 -i wlan1 37.###.###.###     
    37.###.###.###:22 SSH-2.0-OpenSSH_8.4p1 Raspbian-5+b1
    Effective host scan rate: 1.52 hosts/s

    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-p6 (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 (15. Juni 2022 um 10:27)

Jetzt mitmachen!

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