Seite 1 von 1
[gelöst] Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 12:22
von /dev/null
Hallo Freunde,
Weil der RPI-Monitor ja auch ein Dienst ist, poste ich nach langem Suchen meine Frage mal hier.
Ich erwähne auch fairerweise, dass ich das gleiche Problem schon
im Raspi-Forum gepostet habe (dort gehört es ja eigentlich hin), aber bis jetzt noch keine Antwort erhielt.
Ich betreibe jetzt mittlerweile vier RasPi mit diversen Diensten (von pi-hole über Seafile, radicale ... bis KODI). Und auf allen Geräten läuft der RPI-Monitor. Für jedes der Geräte habe ich die Konfiguration des RPI-Monitors so angepasst, dass "nützliche" Sachen angezeigt und nicht zutreffendes ausgeblendet wird.
Ich betreibe schon viele Jahre ein dauerhaftes VPN-Dreieck per AVM-VPN zwischen drei entfernten Standorten ("Eifel" - "Leipzig" - "Dänemark") mit Clientanbindung von bis zu 10 Clients je Server. Nun läuft auf meinem vierten RasPi (und auch an den anderen Standorten) je ein Wireguard-Server und alles ist auf diese drei Server migriert, läuft prächtig und kann den Uplink auch voll auslasten.
Jetzt möchte ich gern die "Lebenszeichen" der anderen beiden Server und der insgesamt ca. 25 Clients auf dem RPI-Monitor angezeigt haben.
Intern funktioniert das so, dass zwischen allen Servern und Clients ein udp-Netz aufgebaut wird (bei mir: 192.168.42.0 mit :40404). Es reicht mir, wenn ich bspw. per "ping" diese je Gerät festen IPs anspreche. Es geht ja nur darum zu erkennen, ob eine bestimmte IP erreichbar ist, was so ziemlich identisch mit der Funktion des Tunnels zu diesem Gerät ist.
Und genau das möchte ich mit dem RPI-Monitor machen ... .
Die aktiven
Dienste werden bspw. per netstat ermittelt und grafisch angezeigt. Das Monitoring der Dienste (auch der WG-Port 40404) ist somit klar. Aber wie mache ich das mit der IP?
Beispiel für den DNS.Server:
Code: Alles auswählen
dynamic.9.name=DNS
dynamic.9.source=netstat -nlt
dynamic.9.regexp=tcp .*:(53).*LISTEN
Und hier die grafische Auswertung:
web.status.1.content.1.line.3= " <b>pi-hole DNS</b>: " +Label(data.DNS,"==53","OK","success")+Label(data.DNS,"!=53","KO","danger")
Ich würde mich über Denkanstöße sehr freuen. Weitere Informationen werden selbstverständlich gerne geliefert.
MfG Peter
(Und wie immer: Liebe Grüße nach Leipzig!)
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 13:36
von Gräfin Klara
/dev/null hat geschrieben: ↑15. Dez 2019, 12:22
... Aber wie mache ich das mit der IP?
Leider verstehe ich die Frage nicht. Ich habe nur einen Verdacht was du meinen könntest.
Wie wäre das:
Code: Alles auswählen
dynamic.x.source=ssh ip_server_oder_client netstat -tnalp
Gruß
Gräfin Klara
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 13:40
von /dev/null
Danke!
Ich glaube, dass ist der von mir benötigte Denkanstoß. Werde gleich mal testen
MfG Peter
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 13:56
von Gräfin Klara
Natürlich muß in ~/.ssh/config folgendes eingetragen sein:
Code: Alles auswählen
HOST klarissa
HostName ip_des_clients_mit_laufendem_sshd
Port 22
AddressFamily inet
ConnectTimeout 3
User root
IdentityFile ~/.ssh/name_des_keys_für_klarissa
Dann würde die Zeile folgend aussehen:
dynamic.x.source=ssh klarissa netstat -tnalp
Der key für klarissa sollte so erstellt worden sein, dass kein password notwendig ist.
Wenn das nicht der Fall ist, dann vorher:
Code: Alles auswählen
# ssh-add /root/.ssh/name_des_keys_für_klarissa
> password
Damit ist das password für diesen key dem System bekannt.
Gruß
Gräfin Klara
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 15:11
von /dev/null
Nein, ist es leider doch noch nicht.
Noch mal zum Ausgang.
Wenn der WG-Server gestartet wird, dann verbindet er sich per
udp mit seinen Gegenstellen. Mit dem Kommando "wg" kann man das wie folgt sehen (hier nur oben die Daten meines WG-Servers und darunter meines Smartphones):
Code: Alles auswählen
root@raspi-2:/etc/rpimonitor/template # wg
interface: wg0
public key: <Dummie .... 4=>
private key: (hidden)
listening port: 40404
peer:
preshared key: (hidden)
endpoint: 82.207.*.*:36093
allowed ips: 192.168.42.101/32, fd00:42::101/128
latest handshake: 1 minute, 28 seconds ago
transfer: 116.27 MiB received, 2.10 GiB sent
Ausgehend von meinem WG-Server (wo eben auch der RPI-Monitor läuft) kann ich die IPs (192.168.42.*) der drei WG-Server und auch der bei mir angeschlossenen und ggw. verbundenen Clients "anpingen". Von meinem PC aus geht das gewolltermaßen (Routing) nicht. Sonst könnte ich das ja mit dem dauerhaft laufenden Applett "Serverstatus" direkt vom PC machen. Der wertet selbst ICMP-Echos aus.
Code: Alles auswählen
root@raspi-2:/etc/rpimonitor/template # ping -4 192.168.42.101
PING 192.168.42.101 (192.168.42.101) 56(84) bytes of data.
64 bytes from 192.168.42.101: icmp_seq=1 ttl=64 time=102 ms
64 bytes from 192.168.42.101: icmp_seq=2 ttl=64 time=602 ms
64 bytes from 192.168.42.101: icmp_seq=3 ttl=64 time=41.5 ms
^C
--- 192.168.42.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 3ms
rtt min/avg/max/mdev = 41.540/248.531/601.987/251.149 ms
root@raspi-2:/etc/rpimonitor/template #
Mein Ziel ist also, die beiden dauerhaft mit meinem eigenen WG-Server per VPN verbundenen anderen WG-Server und die mit meinem eigenen WG-S. zu verbindenden/verbundenen Clients per RPI-Monitor grafisch darzustellen. Also wie bei allen anderen Diensten in einer kleinen Tabelle mit Name und Button "OK" oder "KO".
Per netstat habe ich keine entsprechende Ausgabe hinbekommen. Weder nach udp noch nach tcp gefiltert und auch nicht mit Beigabe der gesuchten IP:
Code: Alles auswählen
root@raspi-2:/etc/rpimonitor/template # netstat 192.168.42.101 -unalp
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:5353 0.0.0.0:* 223/avahi-daemon: r
udp 0 0 0.0.0.0:40404 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* 337/dhclient
udp 0 0 0.0.0.0:39019 0.0.0.0:* 223/avahi-daemon: r
udp6 0 0 :::5353 :::* 223/avahi-daemon: r
udp6 0 0 :::60280 :::* 223/avahi-daemon: r
udp6 0 0 :::40404 :::* -
root@raspi-2:/etc/rpimonitor/template # netstat -unalp
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:5353 0.0.0.0:* 223/avahi-daemon: r
udp 0 0 0.0.0.0:40404 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* 337/dhclient
udp 0 0 0.0.0.0:39019 0.0.0.0:* 223/avahi-daemon: r
udp6 0 0 :::5353 :::* 223/avahi-daemon: r
udp6 0 0 :::60280 :::* 223/avahi-daemon: r
udp6 0 0 :::40404 :::* -
root@raspi-2:/etc/rpimonitor/template # netstat -tnalp
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 713/sshd
tcp 0 0 192.168.188.160:22 192.168.188.10:45514 VERBUNDEN 7537/sshd: pi [priv
tcp 0 204 192.168.188.160:22 192.168.188.10:45210 VERBUNDEN 7395/sshd: pi [priv
tcp6 0 0 :::22 :::* LISTEN 713/sshd
Die einzigen IPs welche ich sehe, sind die der ssh-Verbindung mit ihren beiden Endpunkten PC und RasPi. Und ich sehe natürlich, dass auf dem RasPi die udp-Verbindung auf :40404 steht bzw. auf weitere Verbindungen lauscht. Das letztgenannte werte ich ja auch schon mit "Wireguard = OK" aus.
BTW:
Ich sehe gerade, dass du noch mal gepostet hast (ssh ...). Ich schicke erst mal ab und lese dann deinen Beitrag durch.
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 15:28
von /dev/null
ssh:
Ich will das ganze schon auf dem RasPi und mit dem RPI-Monitor machen. Deshalb ist der Zugang per ssh auch nicht erforderlich. (Mal ganz davon abgesehen, dass ich generell in der sshd_config den direkten Root-Zugang verbiete, ausschließlich PubkeyAuthentication zulasse und meine private-keys mit einem PW gesichert sind. JA, ich übertreibe eben ... .)
Wenn mir eine Lösung einfallen würde, mit welcher ich eine ICMP Anwort automatisiert auswerten und grafisch darstellen kann, wäre ich schon weiter.
BTW:
Das alles hier ist HOBBY eines IT-Rentners. Ich freue mich über jeden helfenden Hinweis - werde es aber auch überleben, wenn dieser Wunsch nicht in Erfüllung geht. Also ... vertretbarer Aufwand ...
MfG Peter
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 17:38
von Gräfin Klara
Das ist komplex und und es braucht schon eine Abbildung des Aufbaus um es wirklich zu verstehen.
Ich kann deshalb nur ahnen.
Probier das Problem auf den Kopf zu stellen.
Schau es dir nicht von der Netzwerk- sondern von der Prozessseite an, also von Innen und nicht von Außen.
Von Seite Netzwerk gesehen ist z.B. 0.0.0.0:68 eine korrekte Information, der udp listener hört an allen devices.
So hast du sie konfiguriert (was nicht gut ist)
Von Innen betrachtet (also aus Sicht des Prozesses) ist diese Information natürlich nicht korrekt.
Code: Alles auswählen
root@raspi-2:/etc/rpimonitor/template # lsof -a -c/.*$/ -i4 -nP
Was tut das?
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 15. Dez 2019, 21:25
von /dev/null
Es meckert, dass dieses Programm auf dem RasPi nicht installiert ist

Ich installiere das mal nach und teste.
Für heute mache ich aber erst mal Schluss. Noch eine Runde mit dem Hund und dann winkt der Bettzipfel. Ich war schon beim letzten Moderatorentreffen 2011 in Köln der Älteste - und jetzt erst ... .
Gute Nacht!
MfG Peter
edit:
Ich konnt's nicht lassen ...
Code: Alles auswählen
root@raspi-wgs:/etc/rpimonitor/template # lsof -a -c/.*$/ -i4 -nP
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
avahi-dae 231 avahi 12u IPv4 10077 0t0 UDP *:5353
avahi-dae 231 avahi 14u IPv4 10079 0t0 UDP *:60164
dhclient 339 root 7u IPv4 11437 0t0 UDP *:68
sshd 712 root 3u IPv4 12593 0t0 TCP *:22 (LISTEN)
sshd 936 root 3u IPv4 12919 0t0 TCP 192.168.188.160:22->192.168.188.10:45106 (ESTABLISHED)
sshd 964 pi 3u IPv4 12919 0t0 TCP 192.168.188.160:22->192.168.188.10:45106 (ESTABLISHED)
root@raspi-wgs:/etc/rpimonitor/template #
Aber nun endgültig weg ...
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 16. Dez 2019, 19:09
von Gräfin Klara
Schade!
Bleibt nur ICMP oder ein kleiner udp server.
Wie sollte der output bei ICMP für eine optimale Auswertung aussehen?
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 17. Dez 2019, 11:15
von /dev/null
Ich bin ja immer von der Voraussetzung ausgegangen: wenn die Gegenstelle (ein Client oder ein anderer WG-Server) aktiv und mit ihrer in der .conf vergebenen festen IP erreichbar ist (per ICMP oder meinetwegen erkennbar auf :40404 lauschend), dann steht auch der entsprechende VPN-Tunnel.
Die eigentliche Auswertung (die Anzeige) hätte ich dann schon irgendwie analog des geposteten Musters für den laufenden DNS-Server gemacht. Also wenn <was auch immer>, dann Anzeige "OK", wenn nicht, dann "KO" und damit eine grüne oder rote Fläche.
Letztendlich wollte ich im RPI-Monitor eine Anzeige erreichen, wie ich sie bei der Plasma-App "Serverstatus" habe.
Ist wohl doch schwieriger, als ich dachte (sonst hätte ich mich auch nicht hilfesuchend an zwei Foren gewandt). Vlt. werde ich mich auch noch einmal direkt an den Entwickler des RPI-Monitors wenden - wenn nur mein "im höheren Alter selbst beigebrachtes Englisch" (was mir allerdings bislang immer gereicht hat!) nicht hemmend wirken würde. Engl. Texte lesen und verstehen ist das eine, selbst welche verfassen das andere.
Vielen Dank für deine Hilfe und Unterstützung!
MfG Peter
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 17. Dez 2019, 13:36
von Gräfin Klara
Zur Zeit - so sieht es für mich aus - lauscht dieser udp Server auf Port 40404 an allen am System verfügbaren IPs, z.B. auch auf localhost:40404.
Wenn du diesen Server so einstellst, dass er nur auf EIN device bzw. eine IP lauscht, dann sollte diese IP auch gezeigt werden.
Probier es aus, zumindest für einen Test, die Konfiguration dieses Servers sollte das anbieten.
Wenn das funktioniert, dann hätte ich eine Lösung.
Gruß
Gräfin Klara
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 17. Dez 2019, 16:38
von /dev/null
Ich sehe, du bist genau so hartnäckig, wie ich
Vlt. noch einmal zur Definition meiner WG-Server:
- raspi-wgs ist der bei mir stehende WG-Server (
WG-Server
Sonne <= mein Heimnetz), auf dem auch der RPI-Monitor läuft
- raspi-wgh ist der in Leipzig stehende WG-Server (kommt von "h" wie harley, mein Sohn, der hier auch User ist)
- und ggw. noch einer in DK, der aber für unser Problem keine Rolle spielt bzw. die Ergebnisse einfach übergebügelt bekommt, (falls wir Erfolg haben).
Selbstverständlich lauscht jeder der ggw. 3 Server auf Verbindungen auf udp:40404 und nimmt auch alle Verbindungen an, welche aus dem internen Netz 192.168.42.0/24 (und dem entsprechenden IPv6-Netz) kommen und den passenden Schlüssel haben. Auf dem Server sind dann wieder deren pub-keys, der gemeinsame PSK + die IP des jeweiligen Clients/Servers gespeichert. Das Tripel aus IP, pub/sec-Key und PSK erledigt also die Authentifizierung.
Eine Festlegung auf eine IP ist also kaum möglich. Es würde natürlich gehen, wenn ich je Gegenstelle gezielt nach einer IP suche und diese dann auswerte.
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 17. Dez 2019, 18:54
von Gräfin Klara
/dev/null hat geschrieben: ↑17. Dez 2019, 16:38
Ich sehe, du bist genau so hartnäckig, wie ich

..
Selbstverständlich!
/dev/null hat geschrieben: ↑17. Dez 2019, 16:38
Eine Festlegung auf eine IP ist also kaum möglich....
Das verstehe ich. Es wäre auch nur - wie oben geschrieben - für einen Test gewesen.
Danach ein netstat und wir wüßten mehr
Re: Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 17. Dez 2019, 19:21
von /dev/null
Jetzt habe ich dich verstanden - und somit die Aufgabe erkannt, dieses zu realisieren.
Bis jetzt kenne ich nämlich beim WG-Server keinerlei Möglichkeit, dieses irgendwo einzustellen. Das ganze WG-VPN wird mit einer einzigen globalen .conf je Endpunkt konfiguriert. Muss jetzt mal sehen, ob ich da irgend eine Beschränkung rein bekommen.
Re: [gelöst] Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 1. Jan 2020, 10:54
von /dev/null
Problem gelöst!
Um über das WG-VPN telefonieren zu können, habe ich eine statische Route auf das interne udp-Netz eingerichtet.
Und damit erreichte ich den "Nebeneffekt", dass ich die Aktivität (= Erreichbarkeit) der jeweiligen WG-Server und -Clients mit dem schönen Tool "Server-Status" direkt auf dem Desktop monitoren kann.
Warum ist mir das nicht gleich eingefallen?
Ich wünsche allen Mitlesern und Aktiven hier im Forum ein zufriedenes, erfolgreiches und friedliches (!) Jahr 2020!
MfG Peter
Re: [gelöst] Raspberry Pi, RPI-Monitor, neue "Sensoren"
Verfasst: 4. Jan 2020, 11:46
von Gräfin Klara
Mit meinem Vorschlag hättest du einen "statischen UDP Listener" erreicht, der an einer IP hängt und den du deshalb monitieren kannst
ABER
deine Idee ist gescheiter.
Gratuliere zu 2019 und alles Gute für 2020
Gräfin Klara