Vom PC über LAN, Raspberry und WLAN ins Internet

  • Der Plan ist, dass der $provider immer das gleiche Interface ist, da ist das Internet.

    $inter kann verschieden sein, nur $provider muss nach meiner Strategie gleich sein überall, wenn man schon 2 Scripte haben will, dann den DNS-Server auslagern und und von den Anderen Script starten lassen, zuvor auch beenden und neu starten.

    *edit* bei mir gibt es einen USB-Wlan-stick der beim Anschluss den Hotspot startet, deshalb starte ich den DNS-Server neu :)

  • hehehe...

    ich glaub das Problem ist:

    ip addr flush $inter

    #beide male auskommentieren

    #ip addr flush $inter

    Wenn PROV_IP eingetragen wird als DNS-Server in Windos läuft es gar nicht über den DNS-Server dnsmasq sondern über iptables direkt zum Router.

    Ich hab ja 192.168.100.1 eingetragen in Windows :) dann dnsmasq.

    *edit* etwas besser geworden.

    :D

    2 Mal editiert, zuletzt von det_lev_da (19. Januar 2022 um 18:20)

  • hehehe.... eth0 macht mit Windows Probleme weil beim RaspberryOs 11 das eth0 nicht auf automatisch gestellt ist.

    Die Störungen mit dem ping im Windows-Terminal sind weg, weil Windows auf automatisch gestellt ist. Wie es genau funktioniert kann ich nicht sagen, was da abläuft.

    (nach diesem einfügen)

    ifconig $inter up

    #http://www.nwlab.net/tutorials/ethtool/ethtool.html

    ethtool -s eth0 autoneg on

    ....


    Hab auch eine schöne Vorlage für eine dnsmasq.conf gefunden, die dhcp-server und dns-server in einem vereint.

    https://psychogun.github.io/docs/linux/How…a-WiFi-hotspot/

    Das Problem ist einfach, das Script (Vorlage) war für einen Wlanhotspot gedacht.

    Der dhcp-server muss die dns-adresse offerieren.

    Früher ging das wohl noch, ich kann nicht sagen hab das Script angepasst.

    Es gibt jetzt nur noch ein dnsmasq pro Script (der neue Plan).

    Ps: Mein Monitor macht schlapp (besser gesagt das Netzteil, das muss ich mal Hacken) :) Windows starten, Ubuntu starten am Fleißband :D mal schauen ob Maske reicht, sonst wirds hier duster.

  • Also Leute, jetzt ist es glaub ich gut gelungen.

    Windows läuft sauber und bekommt die DNS-Adresse.

    Man muss die DNS-nicht selber eingeben auch die Störungen sind weg.

    Ps: Monitor läuft auch wieder :) :) (besser wie je zuvor)

    *installieren*

    sudo apt install dnsmasq

    sudo systemctl stop dnsmasq.service

    sudo systemctl disable dnsmasq.service

    sudo apt install iptables

    bis auf das resolvconf, ich dachte das wäre längst weg und mit systemd-resolved erzetzt worden sein :D

    Das alles muss weg :) :D (Wir machen die Bahn frei) .....

    *edit* ich hab natürlich bei mir noch: dnscrypt-proxy eingebaut weil der schnell ist und auch geht wenn es keinen DNS-Server geben sollte.

    Oder wie bei mit der "Telekom-Fon" Nameserver umgangen werden kann.

    2 Mal editiert, zuletzt von det_lev_da (24. Januar 2022 um 18:11)

  • Code
    function systemd_resolved_an_aus () {
            is_enabled=$(systemctl is-enabled systemd-resolved.service)
            if [[ "$is_enabled" != "disabled" ]];then
                    schalter="$1"
                    sna="\"systemd-resolved\""
                    status_systemd_resolved_an="/run/${scri_name}_status_systemd_resolved"
                    systemd_resolved=$(systemctl is-active systemd-resolved.service)
                    if [ "$schalter" == "an"  ] && [ "$systemd_resolved" == "inact

    bis auf das resolvconf, ich dachte das wäre längst weg und mit systemd-resolved erzetzt worden sein :D

    systemd-resolved hat sein eigenes resolvconf, dass man in der config auch deaktivieren kann:

    Code
    RESOLVCONF OPTIONS
         resolvconf
                 Set to NO to disable resolvconf from running any subscribers.  Defaults to YES.
    Code
    apt-cache policy resolvconf
    which resolvconf

    BTW: Statt den string kann man auch den Rückgabewert der service-unit, im Script benutzen.

    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

  • Hab die neue Version mal probiert und es tut ohne weiteres Eingreifen auf dem Win-PC genau was es soll. Super !!!

    Die Rechner an eth0 bekommen ihre IP und der Internetzugriff funktioniert. Zugriff auf mein normales LAN ist über den Router blockiert.

    Der Router selbst läßt sein UI in diesem Gastbereich auch nicht erscheinen - bin zufrieden.

    DANKE nochmals für Deine Mühe und die schnellen Anpassungen!!

  • Das letzte "r" ist rein gerutscht, das sollte auch weg :)

    Aber komischerweise geht es bei mir (Version1) und wlan-hostpot, echt komisch :) aber eigentlich connect ich da mit Android. Ich hör immer dann auf wenn es funktioniert. Was mir aufgefallen ist:

    "ifconfig eth0" zeigt nur eine IP an.

    Aber

    "ip addr show eth0" zeigt zwei IP's an :)

    Da läuft von Natur aus ein dhcp client.

    Das stört aber nicht, erstaunlicherweise, im Netzwerkanschluß herrschen andere Sitte ( :) ) wie im Wlan.

    Ausschalten geht auch, macht aber keinen Unterschied.

    Aber vielleicht geht es auch besser für mich reicht das.

    Was mir aufgefallen ist, dieser dnsmasq wird mit "nobody" user ausgeführt, obwohl es mit sudo gestartet ist. Sie werden wissen warum ich nicht :D

    *edit* Version1 unsauber ist und warum es überhaupt funktinierte, mir ist ein kapitaler Fehler aufgefallen, es hat aber funktiniert. Eigentlich kein Kaptialer Fehler aber unsinig. Vielleicht geht es besser und logischer. Im Heimnetzwerk sollte es keine Probleme geben :) :) :)

    Einmal editiert, zuletzt von det_lev_da (26. Januar 2022 um 17:26)

  • Hab die neue Version mal probiert und es tut ohne weiteres Eingreifen auf dem Win-PC genau was es soll. Super !!!

    Die Rechner an eth0 bekommen ihre IP und der Internetzugriff funktioniert. Zugriff auf mein normales LAN ist über den Router blockiert.

    Der Router selbst läßt sein UI in diesem Gastbereich auch nicht erscheinen - bin zufrieden.

    DANKE nochmals für Deine Mühe und die schnellen Anpassungen!!

    Der Router wird wohl auf Port 80 (http) eine "Webseite" bereitstellen.

    Man könnte diese Port auf sagen wir mal 11111 Port umleiten und per iptables auch durchschleifen :) ans eth0 des Raspberry: 192.168.100.1:11111 das ginge sogar :)

  • Also hab jetzt dieses systemd-resolved weggelassen, dass war nur wegen den loggen, aber wer schaut sich das log an :)

    Das erleichtert es auch, weil das /etc/resolv.conf keine Probleme macht.

    Wenn dieses /etc/resolv.conf beim start_internet() verschoben wird und nicht zurück geschoben und einfach die Stromversorgung unterbrochen wird, ohne stop_internet() bringt es auch nichts deshalb weggelassen. Loggen ginge dann schon aber nicht wenn im Rasberry selber jemand im Firefox was eingibt, das geht vorbei am log, aber wer schaut sich 130MB log file an :) :)

    Das vereinfacht es noch.

    Es wurde hier auch noch der Router Port auf 111111 gelegt.

    Also muss man nur $net.1:11111 im Browser eingeben und schon ist man im Router-Setup.

    http://192.168.100.1/11111

    Lassen wir einfach Raspberry Os die /etc/resolv.conf ausfüllen und benutzen wie es vorgesehen ist wir setzten den dnsmasq drauf ... fertig.

    4 Mal editiert, zuletzt von det_lev_da (2. Februar 2022 um 21:56)

  • systemd-resolved hat sein eigenes resolvconf, dass man in der config auch deaktivieren kann:

    Code
    RESOLVCONF OPTIONS
         resolvconf
                 Set to NO to disable resolvconf from running any subscribers.  Defaults to YES.
    Code
    apt-cache policy resolvconf
    which resolvconf

    BTW: Statt den string kann man auch den Rückgabewert der service-unit, im Script benutzen.

    Ich hab es gefunden :)

    https://wiki.archlinux.org/title/Dnscrypt…ound_to_port_53

    das steht ein Befehl:

    ss -lp 'sport = :domain'

    Dieser bring Licht ins Dunkel :)

    Ich hab bei mir dnscrypt-proxy im Script eingebaut und in der Art wie dnsmasq ausgeschaltet (disabled+stop). Bloß hat dnscrypt-proxy einen service unit die war nicht disabled und dnscrypt-proxy hat auch einen resoved :) hier:

    #systemctl list-unit-files |grep dns

    dnscrypt-proxy-resolvconf.service disabled enabled

    dnscrypt-proxy.service disabled enabled

    dnscrypt-proxy.socket disabled enabled

    der war nicht disabled (wie jetzt) der hat die /etc/resolv.conf ausgefüllt mit 172.0.2.1, ob es wirklich dieser war, jetzt wird dnscrypt-proxy gestartet wie ich das will und das ist wichtig.

    Ahso: der Befehl ss -lp 'sport = :domain'

    hat auch gezeigt,das dnsmasq per default auf 127.0.0.1 hört, das muss in der config abgeschaltet werden.

    so:

    echo "except-interface=lo" >> "$dnsmasqconf" #ss -lp 'sport = :domain'

    jetzt ist es verschwunden "127.0.0.1:53 dnsmasq (......) "

  • *grins*

    Addblock funktioniert wahlweise für dnsmasq mehr als 300.000 Adressen und auch in dnscrypt geht addblock, wobei dnscrypt-proxy meiner Meinung besser blockt.

    Das hat dnscrypt-proxy geblockt ( sort|uniq )


    Spoiler anzeigen

    ad.crwdcntrl.net

    adservice.google.com

    ads.pubmatic.com

    c.amazon-adsystem.com

    dpm.demdex.net

    incoming.telemetry.mozilla.org

    pagead2.googlesyndication.com

    securepubads.g.doubleclick.net

    secure-us.imrworldwide.com

    smetrics.cnn.com

    tags.crwdcntrl.net

    http://www.google-analytics.com

    http://www.googletagmanager.com

    z.cdp-dev.cnn.com

    kann man zufrieden sein :) :D die Chinesen sind auch dabei :) :D

  • Also wenn Interesse besteht, kann ich das fertige Script rein stellen.

    Hab die addblock liste von hier: https://firebog.net/

    Es sind 2.000.000 und geputzt bleiben noch 1.300.000 übrig :)

    Leider ist das Script jetzt so komplex, dass ich es spätestens in 3 Wochen nicht mehr verstehe, es gibt schlimmer Scripte :)

    Die Chancen stehen aber "noch" "noch" gut es in etwas brauchbares zu verwandeln :) :)

    Leider ist mir nicht bekannt das dnscrypt-proxy auch dns-server kann wie dnsmasq. Der Plan ist eigenlich immer noch ein Script für alles, es kann öffters gestartet werden, mit anderem $inter, der $provider (interface) soll bei allen "sipplings" des Scripte-s gleich bleiben, die Hoffnung besteht nocht :D

    Ansonsten geht es eben nur wlan0 --> eth0, man müsste es so hinbekommen, daß eine Kopie des Script mit einem ander $inter auch die Internetverbindung herstellt z.B wlan0 ----> eth1, oder wlan0 ---> wlan1 (hotspot).

    Aber dann wird es brutal lang :) :)

Jetzt mitmachen!

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