ZeroPi Travelbox mit raspap und dietpi

  • Guten Tag,

    Ich beschäftige mich seit einiger Zeit mit einen kleinen Projekt,

    doch leider komme ich bei einer Sache nicht weiter und ich habe bisher noch keine Lösung dafür finden können.

    Die Ausgangslage:

    Hardware: RPi Zero W,

    Externe Hardware: USB WLAN Dongel (Edimax EW-7612UAn),Waveshare Ethernet/USB HUB HAT

    Image: Dietpi v6.28.0 (Buster)

    Software: raspap+ OVPN-client , Webmin

    Netzwerk-Konfiguration:

    WAN<----WLAN0(Intern)<-----RPi Zero w<----- WLAN1(Edimax)<-----AP

    ____DHCP192.168.178.0/24________________Static10.3.141.0/24DHCP

    ^-------------------------------------OVPN-------------------------I

    Ziel:

    Eine Travelbox: RPi Zero mit zwei Wlan Schnittstellen die eine Verbindung über eine VPN zu meinem Zielsystem aufbaut.

    quasi ein VPN/Hotspot für die Hosentasche + Linux.

    Problem:

    Ich bekomme die Verbindung zwischen WLAN1 ---> WLAN0 nicht hin. D.h die Packetweiterleitung funktioniert nicht obwohl sie unter

    /etc/sysctl.conf aktiviert ist.

    Frage:

    Was Übersehe ich ?


  • Ohne jetzt die Configs zu kennen wird es schwer.

    Aber erst einmal generell :

    Alles was sich am WLAN1 anmeldet wird zum OVPN Zielsystem getunnelt. Die einzige Verbindung zum WLAN0(WAN) hat der OVPN Client.

    Dann gibt es keinen Zugriff vom WLAN1 auf WLAN0.

    Oder willst du Split-Tunneling ?

    Das wird dann im OVPN angepasst durch setzen von PUSH einzelner Routen statt push "redirect-gateway local def1"

    Oder du hast NAT via iptables am laufen ?

    oder?

    oder?

    oder?

    PS: das mit der 192.168.178.0/24 auf dem WLAN1 ist eine schlechte Idee. Geh da besser auf irgend etwas Exotisches wie 192.168.144.0/24 oder so.

    192.168.178.0/24 ist default bei Fritzboxen, im ungünstigsten Fall hat WLAN0 und WLAN1 das gleiche Subnet.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Hi, :)

    Das mit dem VPN ist erstmal nur als Zielsetzung.

    Ich habe den VPN Client noch nicht im Betrieb.

    wlan0 ist nicht statisch, sondern bekommt vom DHCP aus dem WAN eine IP zugewiesen.

    In meinem Fall ist es es wie du schon gesagt hat das 192.168.178.0/24 Netz.

    Kann aber auch ein x beliebiges sein.

    Ist aber auch im Schaubild gut erkennbar

    "WAN(DHCP)<----(dynamic)WLAN0---RPi(static)(DHCP)<-----(dynamic)CLIENT

    Ich habe es bereits mit NAT auf Iptables versucht, jedoch ohne Erfolg.

    Bridge würde ich gerne vermeiden damit die beiden Netze physikalisch getrennt sind.

    Welche Konfiguration wäre denn von Interesse?

    So viel habe ich am System nicht geändert ^^

    Wie schon gesagt , mein Problem ist

    Wenn ich mich AP anmelde habe ich kein Internet.

    Doch leider fehlt mir tieferes Verständnis wie ich die beiden Netze zum Sprechen bringe.

    Bzw. Wieso es nicht funktioniert trotz Iptables Eintragung :/

    Hier meine Einträge für Iptanle :

    Code
    echo 1 > /proc/sys/net/ipv4/ip_forward    
    iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT 
    iptables -A FORWARD -i wlan1 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    Einmal editiert, zuletzt von ivery (5. Februar 2020 um 20:38)

  • Wenn du auf dem WLAN0 von deiner Fritzbox per DHCP eine Adresse aus dem 192.168.178.0/24 bekommst dann kannst du dem WLAN1 nicht auch das Netz 192.168.178.0/24 verwenden.

    FB(WAN) -- 192.168.178.0/24 -- WLAN0--(DHCP) PIZERO--WLAN1--192.168.5.0/24--AP--(DHCP)Client

    Erst mal zum 1. Teil, routing .

    Der DHCP des Accesspoint läuft auf WLAN1. Wlan1 hat z.b. Fest die IP 192.168.5.1/24, kein GW

    Der Client verbindet sich mit dem hostapd des WLAN1 und bekommt eine IP, sagen wir die 192.168.5.100/24 mit GW 192.168.5.1

    Jetzt läuft eine Anfrage nach z.B. 8.8.8.8 auf foilgendem Weg :

    Client -> nicht local also ab ans GW 192.168.5.1

    GW keinnt die IP auch nicht, schaut in die Routingtabellen und findet den Eintrag 0.0.0.0 welcher auf die FB zeigt (Durch den DHCP der FB gesetzt)

    das GW schickt das Paket also zur FB, die ins Internet.

    Soweit so gut.

    Du hast NAT, maskierst also die IP des Clienten mit der des WLAN0 vom PI. Das sorgt dafür das die Pakete auch ihren weg zurück finden.

    Wenn du jetzt aber auf dem WLAN0 und dem WLAN1 das selbe Subnet (192.168.178.0/24) verwendest dann weis der Pi nicht mehr welches Netz zu welcher Karte gehört und kann nicht mehr routen. Ebenso wenn du mehrere default Gateways angibst, welches soll er nehmen ? (OK es gibt da Möglichkeiten aber die stehen erst mal außen vor).

    Also, erst mal deine Netzwerk Config:

    WLAN0

    DHCP

    WLAN1

    IP : 192.168.5.1

    netmask : 255.255.255.0

    Dann den DHCP Server (dnsmasqd?) auf 192.168.5.1 laufen lassen.

    Die Clients bekommen z.B. vom DHCP Server :

    IP: 192.168.5.100-199

    Netmask : 255.255.255.0

    Gateway : 192.168.5.1

    Dazu dein NAT, das sieht auf den ersten Blick gut aus, und es müsste laufen.

    Du hast einen kleinen Router gebaut.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Die Sache ist: mein wlan1 befindet sich im 10.3.141.0/24 Netz ist das ein Problem für NAT?

    Sollte ja eigentlich funktionieren, oder müssen die beiden Netze (wlan0 , wlan1) im selben Subnetzt sein?.

    dnsmasqd hat folgende Config:

    Code
    # IPv4-Adressbereich und Lease-Time
    domain-needed
    interface=wlan1
    dhcp-range=10.3.141.2,10.3.141.254,255.255.255.0,24h

    Und hier nochmal meine Interface-Config:

    Danke noch mal für die Hilfe :)

  • Das passt soweit.

    Ich denke du hast bei den IPTables noch einen dreher.

    Code
    echo 1 > /proc/sys/net/ipv4/ip_forward    
    iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT 
    iptables -A FORWARD -i wlan1 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    Von WLAN1 (LAN) nach WLAN0 (WAN) alles erlauben.

    iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT

    von WLAN0 (WAN) nach WLAN1 (LAN) nur erlauben wenn ausgehend besteht.

    iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED -j ACCEPT

    Mach NAT zu WLAN0

    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    Also eher so :

    Code
    echo 1 > /proc/sys/net/ipv4/ip_forward    
    iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT 
    iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE


    Zitat


    oder müssen die beiden Netze (wlan0 , wlan1) im selben Subnetzt sein?

    Nein, das dürfen die eben beim Routing auf keinen Fall.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Code
    echo 1 > /proc/sys/net/ipv4/ip_forward    
    iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT 
    iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    Das war es !! Danke noch mal :D jetzt läuft die Sache ^^

    Kannst du mir viellleicht noch paar Tipps geben bezüglich Netzwerk Archetiktur und Absicherung? wenn es nich zu viel verlangt ist

Jetzt mitmachen!

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