Inhaltsverzeichnis
Langzeit Trace einrichten
Damit das Langzeit Trace den Satelliten nicht vollschreibt, empfehlen wir dringend nach diesen Einstellungen die Schritte unter „Wireshark Traces auf ein Netzlaufwerk speichern“ durchzuführen.
Im Laufe der Anleitung müssen Befehle und Anpassungen an verschiedenen Stellen in der Shell ausgeführt werden. Die folgenden, farblichen Markierungen sollen dabei helfen, zu zeigen was in welcher Stelle eingegeben werden muss:
Windows CMD
SSH-Terminal Verbindung zum XCC Satelliten
SSH Verbindung vom XPhone Server zum XCC herstellen
Verbinden Sie sich via SSH mit dem Satelliten. Öffnen Sie auf der Maschine des XPhone Connect Servers die CMD und geben folgenden Befehl ein:
ssh root@[IP-Adresse Satellit]
Beispiel: ssh root@10.10.10.10
Wireshark Filter testen
Zu Beginn muss der Wireshark Filter an die Umgebung angepasst werden. Für den Cronjob (siehe Unterpunkt „Aufgabenplanung einrichten (Cronjob)“ wird der Befehl noch weiter ergänzt, zu Testzwecken sollte der Befehl wie folgt aussehen:
usr/bin/tcpdump -Z root -i any -s0 -vv -U -G 10 -w /var/log/freeswitch/rtp_trace_\%Y-\%m-\%d_\%H-\%M-\%S.pcap portrange 30000-33000
Der Befehl überwacht sämtlichen Netzwerkverkehr auf allen Interfaces, speichert nur die Pakete, die den VoIP-Verkehr (RTP) im Portbereich 30000–33000 (Default) betreffen und schreibt sie alle 10 Sekunden in eine neue .pcap-Datei.
|
Wichtig: Passen Sie dabei die Portrange unbedingt so an, dass sie mit Ihrer Satelliten Konfiguration (Adminoberfläche > Telefonie & Meetings > SIP > XCC) übereinstimmt. Weitere, spezifische Ports oder Port-Ranges können einfach angehangen werden (u.a. SIP-Gateway Ports oder Verbindungsports zwischen XPhone Server und Satellit) Beispiel: […] portrange 30000-33000 or port 5060 or portrange 5061-5065 or port 3280 or port 8021 Ändern Sie an dieser Stelle keinen der anderen Parameter. |
Testen Sie den Befehl via verbundener Shell auf dem Satelliten.
Die Aufzeichnung kann mit STRG+C abgebrochen werden.
Wireshark Traces auf ein Netzlaufwerk speichern
Damit der begrenzte Speicher des XCC-Satelliten nicht vollgeschrieben wird, müssen die Logs vom Satelliten auf eine Netzwerkfreigabe verschoben werden, hierfür wird das SMB Protokoll, sowie der Aufgabenplaner von Linux (Crontab) verwendet. Die einzelnen Aufgaben im Planer werden als "Cronjob" bezeichnet.
Sobald die Logs erfolgreich übertragen wurden, löscht das Skript die Dateien vom Satelliten.
Anpassen des Skripts
Laden Sie im ersten Schritt das Skript "movelogs.sh" herunter. Nach dem Download muss dieses an Ihre Umgebung angepasst werden. Im Skript finden Sie folgende Abschnitte:
DEST
Dieser Abschnitt gibt den Netzwerkpfad zur Netzwerkfreigabe an, auf den die Dateien vom Satelliten geschoben werden sollen:
DEST="//[SERVER_IP]/[SHARE_NAME]"
Beispiel: DEST="//10.10.10.10/tmp"
USER
Hier muss der Benutzer angegeben werden, welcher Zugriff auf die Freigabe besitzt, dieser kann ein Domänen- oder Lokaler-Benutzer sein
Domänen Benutzer: USER="DOMÄNE\\Benutzername%Passwort" Lokaler Benutzer: USER="Benutzername%Passwort"
Beispiel: USER="c4b\\anna%passwort123" oder USER="anna%passwort123"
EXTRA_DIRS
Im Standard werden lediglich die Dateien auf dem Satelliten unter /var/log/freeswitch verschoben, sollen jedoch auch Ordner (wie z.B. die der SIP-Gateways) auf dem Netzlaufwerk gesichert werden, müssen diese unter EXTRA_DIRS spezifisch angegeben werden.
Beispiel der vorhandenen Ordner:
|
Hinweis: Um sich die vorhandenen Ordner anzusehen kann man folgende Befehle eingeben:
|
Soll nur der XCC Ordner gesichert werden, könnte der EXTRA_DIRS Parameter wie folgt aussehen:
EXTRA_DIRS="XCC"
Um beide Ordner zu sichern, muss der Parameter wie folgt ausgefüllt werden:
EXTRA_DIRS="XCC Anynode"
Nach den Anpassungen könnte das Skript wie folgt aussehen:
Wenn die Anpassungen erfolgt sind, speichern Sie das Skript.
Skript auf den Satelliten verschieben
Das Skript muss nun auf dem Satelliten in den "root/" Ordner verschoben werden. Zur Übertragung eignen sich SCP-Tools wie z.B. WinSCP. Sollte dieses nicht installiert sein, kann man das File auch via CMD übertragen.
Öffnen Sie dazu eine zusätzliche CMD, da anschließend wieder in der SSH Verbindung gearbeitet und der folgende Befehl auf Windows-Ebene ausgeführt werden muss:
scp C:\Users\[User]\[LokalerOrdner]\movelogs.sh root@[IP-Adresse des Satelliten]:/root
Beispiel: C:\Users\anna\Downloads\movelogs.sh root@10.10.10.20:/root
Schließen Sie danach die CMD auf Windows Ebene und navigieren Sie zurück in die CMD mit der SSH Verbindung zum Satelliten.
Nun muss die Datei noch ausführbar gemacht werden:
chmod +x /root/movelogs.sh
Um zu überprüfen, ob die Netzwerkfreigabe erreichbar ist, geben Sie Folgendes ein:
smbclient //IP-Adresse/Share-Name -U Benutzername%Passwort
bzw. bei einem Domänen User:
smbclient //IP-Adresse/Share-Name -U DOMÄNE\\Benutzername%Passwort
Beispiel: smbclient //10.10.10.10/tmp -U anna%passwort123 ODER smbclient //10.10.10.10/tmp -U c4b\\anna%passwort123
Sollte der Login fehlschlagen kann es helfen Sonderzeichen mit einem \ auszukommentieren.
Verlassen Sie die smb-Shell mit Hilfe von STRG+C.
Testen des angepassten Skripts
Bevor das Skript in die Aufgaben-Planung als Cronjob eingetragen wird, testen Sie dieses manuell:
/usr/bin/env bash /root/movelogs.sh
Anschließend sollten die Wireshark Traces aus dem vorherigen Test, sowie die EXTRA_DIR Ordner auf der Netzwerkfreigabe erscheinen.
Aufgabenplanung einrichten (Cronjob)
Um die Aufgaben-Planung zu starten, muss folgender Befehl in der SSH Shell ausgeführt werden:
crontab -e
Bei Erstausführung erscheint folgender Dialog, bei dem der Editor ausgewählt werden muss, welcher verwendet werden soll:
In dieser Anleitung verwenden wir "nano" als Editor, entsprechend gibt man die "1" ein und bestätigt mit ENTER.
Cronjob anpassen
Öffnen Sie sich bei Bedarf nun ein Notepad und bereiten den Filter für den Cronjob vor. Nach Fertigstellung dieses Filters wird er in die Shell kopiert.
Folgender Filter wurde unter Punkt „Wireshark Filter testen“ getestet:
/usr/bin/tcpdump -Z root -i any -s0 -vv -U -G 10 -w /var/log/freeswitch/rtp_trace_\%Y-\%m-\%d_\%H-\%M-\%S.pcap portrange 30000-33000
Zu ergänzen und gemäß unten stehender Tabelle anzupassen sind die folgenden, fett gedruckten Parameter. Die Werte können bei Bedarf auch individuell festgelegt werden:
0 8 * * 1-5 /usr/bin/timeout -k 10s 9h /usr/bin/tcpdump -Z root -i any -s0 -vv -U -G 900 -w /var/log/freeswitch/rtp_trace_\%Y-\%m-\%d_\%H-\%M-\%S.pcap portrange 30000-33000
*/30 * * * * /usr/bin/env bash /root/movelogs.sh
Hinweis: Die letzte Zeile ist der Cronjob für das Verschieben der Logs alle 30 min.
Diese Parameter müssen angepasst / ergänzt werden:
| Parameter | Erläuterung |
| 0 8 * * 1-5 | 0 8 * * 1-5 bedeutet in diesem Fall, dass die Aufgabe jeden Werktag um 8 Uhr ausgeführt wird. |
| /usr/bin/timeout -k 10s 9h | /usr/bin/timeout -k 10s 9h bedeutet, dass der Wireshark Trace 9‑Stunden lang aufzeichnet (also von 08:00 – 17:00 Uhr). |
| -G 900 | Im ursprünglichen Filter wurde zu Testzwecken alle 10 Sekunden eine neue Datei erzeugt (-G 10), dieser Parameter muss für das Live‑Tracing angepasst werden. |
| portrange 30000-33000 |
Portrange die getraced werden soll. Wenn noch nicht erfolgt: Passen Sie diese unbedingt so an, dass sie mit Ihrer Satelliten Konfiguration übereinstimmt (Admin-Oberfläche > Telefonie & Meetings > SIP > XCC). Weitere spezifische Ports oder Portbereiche können einfach hinzugefügt werden (z.B. SIP-Gateway Ports oder Verbindungsports zwischen XPhone Server und Satellit). Beispiel: [...] Portbereich 30000-33000 oder Port 5060 oder Portbereich 5061-5065 oder Port 3280 oder Port 8021 |
| */30 * * * * | */30 * * * * bedeutet, dass die Aufgabe alle 30 Minuten ausgeführt wird. |
Fügen Sie nun den fertigen Befehl in den Cronjob ein, anschließend sollte die Konfiguration wie folgt aussehen:
Nun müssen die Änderungen mit "STRG+O" und darauf mit "ENTER" bestätigt und somit gesichert werden.
Mit "STRG+X" verlässt man den Editor wieder.
Um den Cronjob zu beenden, müssen lediglich die beiden hinzugefügten Zeilen gelöscht oder mit einem "#" am Anfang der Zeile aus kommentiert werden.
Geben Sie „exit“ ein, um ssh-Shell wieder zu verlassen.
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.