Vom PC über LAN, Raspberry und WLAN ins Internet

  • Hallo,

    es ist bei mir jetzt 2 Tage gut gelaufen (das Script ist gemeint) stabil + zuverlässig.

    Da es in RaspberryOs zum Glück noch /etc/rc.local gibt, kann man es sehr einfach automatisch starten lassen wenn der Pi neu gebootet wird und es wird dann immer gestartet solange dieser Befehl vor den "exit 0" steht (nicht nach "exit 0" schreiben, sonst wird der Befehl nie erreicht).



    /home/pi/Documents/WLAN-LAN.sh start

    exit 0


    *eventuell eine Zeitverzögerung von 20 Sekunden kann auch ohne glatt hochfahren*


    /usr/bin/sleep 20

    #oder nur:

    #sleep 20

    /home/pi/Documents/WLAN-LAN.sh start

    exit 0



    Die DNS-Adresse ändert sich ja nicht und bleibt fest in Windows eingestellt, auch nach reboot.

    Sollte sich das Wlan (ip-Adresse) ändern muss man eben PROV_IP neu eingeben in Windows.

    Wlan ist auf dem PC bei mir komplett deaktiviert und es gibt nur Ethernet.

    Dann hat es nach reboot von Windows auch wieder funktioniert.


    *edit*

    Zur Sicherheit (nicht getestet, aber schadet nicht) das Script nochmal ausführbar machen

    sudo chmod +x /home/pi/Documents/WLAN-LAN.sh

    (kann sein wenn es nicht ausführbar ist, es nicht startet :) :) )


    Vielleicht gibt es auch bessere Lösungen, da offensichtlich Windows den dnsmasq nicht automatisch akzeptieren will.

    Das ist aber das schnellste, was geht, meiner Ansicht nach ohne zig config files zu ändern.

    Ob es besser geht? Ich denke schon, wenn man den 2.ten dnsmasq im Script ersetzt, ich hab aber nichts gefunden.


    Rechtschreibung ist Glücksache (wenigstens ein Wort richtig geschrieben)

    Windows Firefox ist gleich alles rot :)

  • Hallo!


    Hier hänge ich mich jetzt mal mit rein weil das zu 95% meinem aktuellen Problem entspricht.

    Ich habe im Büro genau diese Konfiguration im Gäste-WLAN am Router. Das Gäste-WLAN bekommt vom Router immer IP_Adressen

    aus dem gleichen Bereich wie das normale LAN, ich kann allerdings später die Kommunikation zwischen den beiden Bereichen blockieren.


    Meine Frage:


    Ich habe auf dem RPi4 pivpn laufen und kann mich auch aus dem Internet auf den PI verbinden. Zugriff auf andere Server im normalen LAN funktioniert aktuell auch.


    Der Unterschied bei mir ist der, das ich auf Seite des WLAN am RPI4 ja nun das tun0-Interface habe. Alles was durch den Tunnel kommt, also vom vpn-Client, soll über die eth0-Schnittstelle des RPI4 geleitet werden. Über den Tunnel soll letztlich der Win10-PC hinter dem eth0-Interface per RDP bedient werden können.

    Ich kann eure Vorschläge erst morgen im Büro probieren, aber sollte das generell auch funktionieren?

    Reicht es wlan0 durch tun0 zu ersetzen?


    Gruß!

    Edited once, last by bax5000 ().

  • Reicht es wlan0 durch tun0 zu ersetzen?

    Was du noch brauchst ist:

    Code
    net.ipv4.ip_forward = 1

    in der /etc/sysctl.conf.

    Wie ist jetzt die Ausgabe von:

    Code
    sysctl net.ipv4.ip_forward

    ?

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

  • Danke für die schnelle Antwort!


    Das ip_forward ist zu 100% schon aktiviert. Ich habe heute schon mehrere Stunden rumexperimentiert und sehe inzwischen schon den Baum vor lauter Bäumen nicht mehr.


    Habe mir gerade mal das Script angesehen - kann aber nicht behaupten Alles zu verstehen ;)


    Ich werde das zunächst mal so versuchen wie es aktuell ist, also wlan0 -> eth0 -> LAN mit 1 oder 2 PC's.


    Den Schritt zum tun0 auf dem wlan0 werde ich versuchen wenn es so erstmal funzt.


    Danke!!

  • Habe mir gerade mal das Script angesehen - kann aber nicht behaupten Alles zu verstehen

    Dann solltest du vielleicht einen anderen Weg einschlagen. Unsichere Geräte haben wir im Netz schon genug von Admins die nicht wissen was sie da eigentlich tun :)


    Was spricht gegen ein OpenWRT als System? Dort hast du mit LuCi ein Webinterface wie auf einem normalen Router und das ganze kommt schon sinnvoll vorkonfiguriert für die meisten Anwendungsfälle.

  • Dagegen spricht das ich mein "gewachsenes" System in der Firma nicht einfach mal eben so komplett umstellen kann/will.

    Ich suche nach einer einfachen Möglichkeit einen vpn-Zugang in der bestehenden Situation zu ermöglichen.

    Das ist heute ja nun kein Hexenwerk mehr.


    Mein Problem ist eigentlich "nur" das Routing zwischen den beiden Interfaces des RPI4.

    Und dazu bietet das Script schon viele interessante Punkte. Es trifft eben genau mein Problem!


    Und was man nicht kennt lernt man nicht kennen indem man es ignoriert.

  • Finde den Beitrag von InterGeek ziemlich arrogant.

    Warum Arrogant? Ich habe nur darauf hingewiesen dass es auch Alternativen gibt die für den der Netzwerkkonfiguration nicht beherrscht.


    Ob er es nutzt oder nicht und ob er über mögliche Sicherheitsprobleme/Gefahren nachdenkt ist seine Sache. Ich wäre in einer Firma nur sehr vorsichtig, da die Existenz der Firma im Zweifel dabei auf dem Spiel steht wenn etwas schief geht. Wenn jemand eine Lösung nutzen möchte die er nicht versteht, dann bin ich der letzte der ihn davon abhalten würde. Ich weiße nur auf mögliche Probleme hin.

  • Ob er es nutzt oder nicht und ob er über mögliche Sicherheitsprobleme/Gefahren nachdenkt ist seine Sache. Ich wäre in einer Firma nur sehr vorsichtig, da die Existenz der Firma im Zweifel dabei auf dem Spiel steht wenn etwas schief geht.

    Und genau das ist der Punkt warum ich hier die Frage gestellt habe.

    Ich bin in meiner Firma seit mehr als 20 Jahren für die Technik eigenverantwortlich unterwegs, bin aber kein Sys-Admin weil ich sowas auch kaum brauche.

    Ich möchte aber eben den Zugang von außen auf diesen einen PC und den Zugang zum Server über eigene Netzwerkkarte beschränken.

    Wenn das soweit funzt kümmert sich dann wirklich ein IT-Profi um die Konfiguration von Server und Client in diesem Teilnetz.

    Den Zugang bis dahin hab ich mir aber auf die Fahne geschrieben.....weil es mich auch einfach interessiert.

  • Ich möchte aber eben den Zugang von außen auf diesen einen PC und den Zugang zum Server über eigene Netzwerkkarte beschränken.

    Dafür wäre wie gesagt ein OpenWRT auf dem Raspberry Pi eine gute Alternative. Damit wird dein Raspberry Pi quasi zu einem Router der alles wie Firewall, Routings von den Schnittstellen und so weiter mitbringt. Steuerbar über ein Webinterface. Das wäre in meinen Augen die beste Methode um schnell das gewünschte Ziel zu erreichen.


    Das Thema ist eben sehr komplex. Ich selber würde es mir ohne Hilfsmittel auch nicht zutrauen oder hinbekommen. Schau dir die Möglichkeit doch einfach mal an, wenn es dich weiter bringt ist es gut, wenn nicht, dann wird sich ein anderer Weg finden.

  • Hallo!


    Ich habe das jetzt auch probiert und bekomme beim Start folgende Ausgabe:

    Code
    Internet: für eth0 starten
     interface = eth0 --> listen-address=192.168.100.1
     interface = lo --> listen-address=127.0.0.1
     interface = wlan0 --> provider: wlan0 nicht!    "192.168.1.110"
     PROV_IP für DNS == "192.168.1.1"
    
    dnsmasq: Konnte Empfangs-Socket für 192.168.100.1: Die Adresse wird bereits verwendet nicht erzeugen

    DNS klappt also noch nicht.

    Ein Win10-PC am Ethernetkabel bekommt per DHCP seine Einstellungen mitgeteilt und das Netzwerk-Icon zeigt auch an das eine Verbindung zum Internet besteht. Ich kann allerdings keine Seite anpingen weil DNS scheinbar nicht funktioniert.


    Erst wenn ich in den Adaptereinstellungen per Hand die 192.168.100.1 eintrage funktioniert es.


    Allerdings kann ich danach den PC vom RPi4 aus nicht anpingen. Soll das so sein oder stimmt hier was noch nicht?


    Danke!

  • Ich glaub mit Windows als Client am Pi, irgend etwas muss Windows überlegen, ob es wirklich den DNS-Server benutzen will.

    Startet man die Pi neu (ich hab die 20 Sekunden sleep nicht drin in /etc/rc.local Wlan ist zu dem Zeitpunkt schon da!) und startet Windows ist es ganz schlimm.

    Im Windows-Terminal "ping google.de" Zeitüberscheitung, dann geht der ping auf einmal und verschlückt 3, dann wieder gar nichts und dann wieder.

    Irgendwann geht es aber dann doch auf einamal.

    Ubuntu keine Probleme hab da nie Windows betreiben. Windows hab ich neulicht wieder installiert weil ich ""ausversehen"" die Platte mit dd gelöscht hab :) :) :)

    Windows akzeptiert es auf einmal.

    Zumindest auch wenn man den die DNS-Server Adresse eingeben hat, dass muß man. An Windows hab ich nie gedacht, es so zu betreiben :)

  • So.. ich hab noch ein kleines nie gebrauchtes nagelneues 60 cm Netzwerkkabel angeschlossen, das Selbe, irgendwann wird ping ohne Fehler ausgeführt. Nach dem Wechsel zum alten Kabel 3 Meter lang mach ping nichts mehr außer Fehler und wird nicht mehr besser. Wenn aber das nagelneue 60cm Netzwerkkabel angeschlossen wird läuft ping ohne Fehler und die Internetverbindung steht :)

    Nach dem Reboot von Windows, das Selbe, ping funktioniert nicht :) :) :)


    *edit* Windows mit dem kleinen Kabel ein Weile gewartet und ping ging auf anhieb wieder.

  • Schöne Windows-Welt! ;)


    Ich hatte hier jetzt mal pivpn installiert und danach bei existierendem tun0-Interface nochmal das Script gestartet - dann geht allerdings garnichts mehr weil irgendwie auch das tun0-Interface mit "verarbeitet" wird und am Ende soll die tun0-IP als DNS gesetzt werden, genau wie oben in Zeile 7 bei der Info von dnsmasq, nur eben mit der tun0-IP..........ich setz nochmal sauber neu auf......Kannst Du das irgendwie integrieren das bei vorhandenem tun0 der Traffic dann nur zwischen tun0 <-->eth0 läuft??

    Gruß!

  • bax5000

    Also ich schätze es kann nur hier dran liegen, weil da eigentlich was passiert, was eine Auswirkung haben könnte, alle andere ist eigentlich iptables zwischen eth0 wlan0. Man sollte oben auch nur das eingeben ... nur mein Tipp.


    Hier Passiert was:


    Also "while read z;do" müsste besser "while read interface;do" heißen, war nur zu faul die übrigen "z" in "interface" umzubennen.

    Unten in (Fußgesteuerten) while Schleife wird das Interface reingeschoben wie eth0 wlan0.

    man muss also interfaces unten außschließen.


    done <<< $(echo "$IFCONFIG"|grep -v ^" "|grep -v '^$'|awk '{print$1}'|awk -F':' '{print$1}'|grep -v tun0)


    Aber "ifconfig -a" ist ja ein Konsolenbefehl, kennt man ja "ifconfig" zeigt nur die aktiven an. Aber mit -a werden auch die ausgeschalteten Angezeigt.

    Eigentlich wird einfach diese Ausgabe von "ifconfig -a" """"zerhackt"""


    *edit* OpenVPN daran hab ich nicht gedacht und kann jetzt nicht sagen wie das funktioniert. Das ist die Stelle wo man es ausschließen könnte :)

  • Schöne Windows-Welt! ;)


    Ich hatte hier jetzt mal pivpn installiert und danach bei existierendem tun0-Interface nochmal das Script gestartet - dann geht allerdings garnichts mehr weil irgendwie auch das tun0-Interface mit "verarbeitet" wird und am Ende soll die tun0-IP als DNS gesetzt werden, genau wie oben in Zeile 7 bei der Info von dnsmasq, nur eben mit der tun0-IP..........ich setz nochmal sauber neu auf......Kannst Du das irgendwie integrieren das bei vorhandenem tun0 der Traffic dann nur zwischen tun0 <-->eth0 läuft??

    Gruß!

    Ich überlege ... diese Zeile 7 Fehler kann nur passieren wenn das Script 2mal gestartet wurde. Es müssen also 2 Scripte da sein. eins davon läuft schon. Ein Zweites Script (identisch) mit einem anderen Dateinamen wird gestartet und es kommt der Fehler Ja???


    Dann muss man den DNS-Server in beiden Scripten auskommentieren und in ein Extra Script packen, dann gibt es 3 Scripte, wo bei in den Scripten, wo der DNS-Server auskommentiert wurde, das 3te Script mit dem alleinigen DNS-SERVER beinahaltet ist, gestartet werden.

    Es darf nur ein DNS-Server vorhanden sein.


    Der DNS-Server Teil müsste eigentlich in ein Extra Script.

    Das ist bei mir So in Wirklichkeit, ich hab den DNS-Server dnsmasq zu diesem einzigen Script HIER nur hinzugefügt damit nur eins da ist.

    Ich hab aber kein VPN deshalb kann ich nicht sagen wie der funktioniert, echt nicht :)

    Bei mir gibt es ein Script für eth0->wlan0 Hotspot, eth0->b0 Bluetooth (ja). Diese Scripte Starten den DNS-Server (dnsmasq). (vorher vielleicht noch beenden.


    Das ist so weit alles was ich sagen kann.

    *edit*

    Wobei wlan0->eth0 und tun0->eth0 meineier Ansicht nach nicht geht.

    Ich geh da im Baukasten Prinzip vor, aber da braucht man einen guten Tag :)

  • Auf jeden Fall erstmal vielen Dank das Du das überhaupt gepostet hast!


    Ich habe vorher diverse (!!) Anleitungen für Wlan-Hotspot auf dem Raspi durchprobiert und wollte jeweils nur die Interfaces tauschen, bin aber immer spätestens dann wenn eine Brücke (br0) zwischen eth0 und wlan0 erstellt werden soll gescheitert. Das geht scheinbar nur in eine Richtung.


    Momentan geht es erstmal ohne vpn so wie ich das brauche. Aber das läßt sich sicherlich auch noch irgendwie reinbastel....


    Danke Dir!