Posts by opc241

    Der_Imperator

    Mein zweiter Gedanke war eben, dass es ausreichend ist, wenn beide Interfaces gebrückt werden.


    Gemäß dem Tipp von llutz hab ich den dnsmasq mit br0 konfiguriert. Damit habe ich mich über das WLAN nun ausgesperrt. Ich kann den RPI per wlan0 nicht mehr erreichen, es erscheint der AccessPoint aber ich erhalte keine IP aus dem konfigurierten Adressbereich 192.168.99.x

    sondern:


    Windows cmd eines Rechners im Access Point des RPI:

    Code
    Drahtlos-LAN-Adapter WLAN:
    
    Verbindungsspezifisches DNS-Suffix:
    Verbindungslokale IPv6-Adresse . : fe80::a48a:d48f:552e:9969%38
    IPv4-Adresse (Auto. Konfiguration): 169.254.153.105
    Subnetzmaske . . . . . . . . . . : 255.255.0.0
    Standardgateway . . . . . . . . . :


    /etc/dnsmasq.conf:

    Code
    interface=br0
    no-dhcp-interface=eth0
    dhcp-range=192.168.99.100,192.168.99.200,255.255.255.0,24h
    dhcp-option=option:dns-server,192.168.99.1


    /etc/dhcpcd:

    (hält ganz oben

    denyinterfaces wlan0 eth0

    Die restlichen Konfigurationen für die Interfaces habe ich auskommentiert.


    Code
    denyinterfaces wlan0 eth0
    ...


    Jemand noch einen Tipp warum der DHCP auf wlan0 so nicht funktioniert?

    Die systemd.network Konfigurationen habe ich gemäß Anleitung erstellt.


    Nachtrag: Auch wenn ich testweise einen Teilnehmer an eth0 hänge, erhalte ich dieselben wirren Verbindungsadressen wie beim Test an wlan0 (s.oben).

    Hallo liebe Community,


    zur Veranschaulichung meines Vorhabens bzw. Problems habe ich euch jenes mal skizziert (Aufbau.png im Anhang).

    Ich bräuchte Hilfe beim brücken einer Verbindung zweier IP-Netze mit jeweils eigenem DHCP Server aber unterschiedlichem Adressbereich.

    An eth0 hängt ein Switch mit Teilnehmern und wlan0 ist wie folgt als Access Point konfiguriert, so dass sich hier WLAN Teilnehmer verbinden können.

    Was ich bereits versucht habe: Etliche iptable Einträge zu schreiben um den Traffic durchzuleiten, was jedoch kläglich scheiterte. Ich denke eine Brücke ist hier

    das richtige, jedoch fehlt mir hier die Erfahrung, ob dem auch so ist und wie man dies angeht. Es gibt einige unterschiedliche Anleitungen im Internet, von denen ich auch

    eine bereits testete, jedoch ohne Erfolg. Teilnehmer der beiden Netze lassen sich vom RPi aus natürlich anpingen. Gewünschte Lösung: Der Ping funktioniert auch untereinander.


    NACHTRAG, Szenario2:

    (s. Szenario2.png)

    Als Alternative wäre es auch ausreichend wenn es an wlan0 einen DHCP Dienst gibt, welcher für Teilnehmer, die per Ethernet (Switch) an eth0 hängen eine IP Adresse des DHCP von wlan0 zugewiesen bekommen.




    Konfiguriert ist bisher folgendes (für Szenario 1 mit zwei mal DHCP):


    Code
    /etc/dhcpcd.conf: 
    
    interface wlan0
    static ip_address=192.168.99.1/24
    static routers=192.168.99.1
    nohook wpa_supplicant
    
    interface eth0
    static ip_address=192.168.88.1/24


    Code
    /etc/dnsmasq.conf
    
    
    interface=wlan0
    dhcp-range=192.168.99.100,192.168.99.200,255.255.255.0,24h
    dhcp-option=option:dns-server,192.168.99.1
    
    interface=eth0
    dhcp-range=192.168.88.100,192.168.88.200,255.255.255.0,24h
    dhcp-option=option:dns-server,192.168.88.1



    Schöne Grüße

    opc241

    Hallo liebe Leute,


    ein nginx Server ist als Reverse Proxy Server vorgeschaltet um SSH und SSL auf einem Port (12345) zu trennen. Der nginx erkennt das Datenübertragungsprotokoll und trennt den Datenverkehr hinter dem Proxy entsprechend auf zwei Ports auf --> SSH wird auf PORT 9999 weitergeleitet und SSL Anfragen auf PORT 8080 (Python-Webserver).


    Dazu ist der nginx wie folgt konfiguriert:

    /etc/nginx/nginx_conf



    Beim Aufruf des Webservers über http://localhost:12345 wird sauber auf den Port 8080 weitergeleitet und der Zugriff auf den Webserver läuft wunschgemäß ab.


    Das Problem liegt beim Versuch eine Verbindung via SSH herzustellen.

    Ich kann mich zwar lokal per ssh user@<ip-rpi> -p 9999 auf den Raspberry Pi verbinden - nicht aber über den nginx Port 12345.


    Anpassungen in /etc/ssh/sshd_config

    Code
    [...]
    
    Port 9999
    AddressFamily any
    ListenAddress 0.0.0.0
    #ListenAddress ::
    
    
    [...]



    Ein Aufruf von ssh user@<ip-rpi> -p 12345 -vvv bringt:




    An der Stelle hoffe ich auf euere Hilfe / Ideen zur Lösung meines Problemes.


    Vielen Dank an der Stelle und schöne Grüße :)


    opc241

    Hallo liebe RPi-Freunde,


    Ich habe ein Python-Skript für einen Flask-Server, welches ich per Remote Desktop Verbindung (Login per root) und der IDE Thonny starten kann.

    Gehe ich per python3 Flask_Server.py auf das Skript um jenes auszuführen über die Konsole, erhalte ich folgende Fehlermeldung:

    Python
    Traceback (most recent call last):
      File "Flask_Server.py", line 1, in <module>
        from flask import Flask, render_template, request, url_for, session, jsonify, send_file
    ImportError: cannot import name 'Flask' from 'flask' (unknown location)

    Das entsprechende Flask-Skript:


    Python
    from flask import Flask, render_template, request, url_for, session, jsonify, send_file
    from werkzeug.utils import redirect
    
    app = Flask(__name__)
    app.secret_key = "zISMDCwvfJY2TXHMKHrB"  # is used for hashing the session vars
    
    [...]
    
    if __name__ == "__main__":
        app.run(host='0.0.0.0', port=8080, threaded=True, debug=True)


    Python 3.7.4


    Könnte man meinen, man solle Flask installieren, also:

    pip3 install Flask

    führt zu:

    Code
    Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
    Requirement already satisfied: Flask in /usr/lib/python3/dist-packages (1.0.2)

    Flask 1.0.2

    Python 3.7.3 (default, Dec 20 2019, 18:57:59)

    [GCC 8.3.0]



    Mir fehlt es nun an Know-How um an der Stelle weiter zu debuggen.

    Rechercheergebnisse nach dem Fehler brachten den Hinweis, man solle per pip [..] Flask installieren.


    Ich freue mich über jede Hilfe.


    LG

    opc241

    Die Konfiguration funktioniert, wenn ich den Inhalt aus der custom_server.conf aus /etc/nginx/sites-enabled/custom_server.conf in die Hauptkonfiguration /etc/nginx/nginx.conf kopiere und den include auf die /sites-enabled auskommentiere:


    Sobald ich den include wieder einkommentiere, wirft es den bekannten Fehler.


    Schön, dass es so funktioniert, aber ich würde die Konfiguration doch gerne auslagern. Noch jemand eine Idee?


    Habe ich genau so durchgeführt und hatte ja im ersten Post schon erwähnt, dass ich per nginx -t prüfe ;)

    Danke, aber leider bleibt die Fehlermeldung die selbe:

    Code
    Sep 23 19:35:39 mm001 nginx[1075]: nginx: [emerg] "stream" directive is not allowed here in /etc/nginx/sites-enabled/custom_server.conf:1
    Sep 23 19:35:39 mm001 nginx[1075]: nginx: configuration file /etc/nginx/nginx.conf test failed
    Sep 23 19:35:39 mm001 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE

    Quatsch. Mit der Argumentation würden ja nicht mal Websockets funktionieren.


    Das genannte Modul (https://nginx.org/en/docs/stream/ngx_stream_core_module.html) ist schon der richtige Weg.


    opc241 neugestartet hast du nginx aber schon?

    Die Sache ist, wenn ich den service per systemctl restart nginx versuche neuzustarten, wird sogar der o.g. Fehler quittiert.


    Blödsinn^^ Ein Restart des nginx bringt folgendes mit sich:

    Code
    Job for nginx.service failed because the control process exited with error code.
    See "systemctl status nginx.service" and "journalctl -xe" for details.


    In den Ausgaben von journalctl -xe:

    Code
    Sep 23 16:51:47 mm001 nginx[1831]: nginx: [emerg] "stream" directive is not allowed here in /etc/nginx/sites-enabled/custom_server.conf:1
    Sep 23 16:51:47 mm001 nginx[1831]: nginx: configuration file /etc/nginx/nginx.conf test failed
    Sep 23 16:51:47 mm001 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE



    Danach habe ich aber als Notlösung dennoch einen RPi-Reboot durchgeführt.

    Hallo liebe RPi-Freunde,


    es handelt sich eigentlich um ein nginx - Problem, aber bevor ich mich nun irgendwo in einem nginx-Forum anmelde versuche ich hier mein Glück.


    Es läuft ein nginx-Server in Version 1.14.2 auf meinem RPi-Zero mit Raspbian Buster. Der nginx Server soll einerseits als Reverse Proxy auf den Port eines Webservers weiterleiten, andererseits auf den SSH Server des RPi auf Port 22.

    Da die Weiterleitung auf den Webserver funktioniert hatte, habe ich dazu alle Konfigurationen in nginx gelöscht um keine Verwirrung zu stiften.


    Die nginx-Konfiguration sieht dazu aktuelle folgendermaßen aus:

    custom_server.conf:


    Den Port des SSH Servers habe ich wie folgt von 22 auf den Port 9999 geändert und auch erfolgreich per Putty überprüft und funktioniert.

    Auszug aus /etc/ssh/sshd_config

    Code
    [...]
    Port 9999
    #AddressFamily any
    ListenAddress 0.0.0.0
    #ListenAddress ::
    [...]


    Problem:

    Führe ich zum Überprüfen der nginx-Konfiguration den Befehl nginx -t aus, so quittiert mir dieser:

    Code
    nginx: [emerg] "stream" directive is not allowed here in /etc/nginx/sites-enabled/custom_server.conf:1


    Selbst endlos wirkendes googlen und herumprobieren mit der .conf bringt mich an der Stelle nicht mehr weiter und ich hoffe hier auf Hilfe :)

    Das stream Modul musste ich vorab manuell laden, so viel hatte ich herausgefunden. Dieses manuelle laden ist in /etc/nginx/nginx.conf in Zeile 1 (oberste Zeile) eingetragen:

    Code
    load_module /usr/lib/nginx/modules/ngx_stream_module.so;
    [...]


    In diesem Sinne, bleibt gesund und schöne Grüße! :thumbup:

    Hallo zusammen,


    ich habe ein Verständnisfrage zur USART Schnittstelle am Raspberry Pi, in Verbindung mit der Bibliothek pyserial 3.4 (https://pypi.org/project/pyserial/).


    Nach dem Absetzen von Bytes am Raspberry Pi darf dessen ausgesendet Bytes nicht wieder eingefangen werden, da sonst Daten, die von anderen Steuerungen geschickt werden, fehlinterpretiert werden, da die eigenen Bytes des Raspberry Pi mit empfangen werden.


    Ich habe das Problem heruntergebrochen um zu zeigen worum es mir geht. Immer wenn die USART Schnittstelle ein Byte transmitted (TX), wird dieses Byte im nächsten Schritt direkt vom Empfänger wieder eingefangen (RX). Wie kann ich das verhindern?


    --> OUTPUT: 123


    Vielen Dank und schöne Grüße