Zuletzt geändert von Tobias Wintrich am 2026/09/24 10:06

Verstecke letzte Bearbeiter
Tobias Wintrich 2.1 1 Bei einem Kunden trat das Problem auf, dass der TCMS bei aktiver OpenVPN-Verbindung über eine andere IP-Adresse angesprochen werden musste als ohne aktive VPN-Verbindung.
Tobias Wintrich 1.1 2
Tobias Wintrich 2.1 3 Generell wäre die Standardlösung hierfür die Einrichtung eines Split-DNS, sodass der Hostname des TCMS extern anders aufgelöst wird als über einen internen DNS-Server. Dieser DNS-Server müsste dann lediglich auch in der VPN-Verbindung genutzt werden. Dies war im vorliegenden Fall jedoch nicht umsetzbar.
Tobias Wintrich 1.1 4
Tobias Wintrich 2.1 5 Als alternative Lösung wurde ein Skript installiert, welches in regelmäßigen Abständen prüft, ob eine IP-Adresse per Ping erreichbar ist. Ist dies der Fall, wird ein passender Eintrag in die lokale Hosts-Datei des Thin Clients geschrieben. Ist die IP-Adresse nicht erreichbar, wird der Eintrag wieder entfernt.
Tobias Wintrich 1.1 6
7 = Skript einrichten =
8
Tobias Wintrich 2.1 9 Das Skript kann über **Werkzeuge** -> **Skripte** -> **Neue Verbindung** angelegt und konfiguriert werden. Folgende Optionen müssen gesetzt sein:
Tobias Wintrich 1.1 10
Tobias Wintrich 2.1 11 * **Name:** Frei wählbar
12 * **Als root ausführen:** Aktiviert
Tobias Wintrich 1.1 13 * (((
Tobias Wintrich 2.1 14 **Skript:** 
Tobias Wintrich 1.1 15
16 (% class="box infomessage" %)
17 (((
Tobias Wintrich 2.1 18 "TARGET_IP" und "HOSTNAME" müssen noch entsprechend angepasst werden.
Tobias Wintrich 1.1 19 )))
20
21 {{{# --- KONFIGURATION ---
22 TARGET_IP="192.168.222.254" # Ersetze dies mit der gewünschten IP
23 HOSTNAME="tcms.rangee.com" # Ersetze dies mit dem gewünschten Hostnamen
24 # ---------------------
25
26 HOST_ENTRY="$TARGET_IP $HOSTNAME"
27
28 echo "Überwachung gestartet für $HOST_ENTRY... " >> $log_file
29
30 while true; do
31 # Ping senden (1 Paket, 2 Sekunden Timeout)
32 if ping -c 1 -W 2 "$TARGET_IP" > /dev/null 2>&1; then
33 # IP ist erreichbar -> Eintrag hinzufügen, falls noch nicht vorhanden
34 if ! grep -Fxq "$HOST_ENTRY" /etc/hosts; then
35 # Sicherstellen, dass die Datei mit einer neuen Zeile endet, bevor wir anhängen
36 if [ -n "$(tail -c1 /etc/hosts)" ]; then
37 echo "" >> /etc/hosts
38 fi
39 echo "$HOST_ENTRY" >> /etc/hosts
40 echo "[$(date '+%T')] IP erreichbar: Eintrag hinzugefügt." >> $log_file
41 fi
42 else
43 # IP ist NICHT erreichbar -> Eintrag entfernen, falls vorhanden
44 if grep -Fxq "$HOST_ENTRY" /etc/hosts; then
45 # Löscht genau die Zeile mit dem Eintrag aus /etc/hosts
46 sed -i "\|_MARKER_|!{/\<${TARGET_IP}\>.*\<${HOSTNAME}\>/d}" /etc/hosts 2>/dev/null || sed -i "/$TARGET_IP $HOSTNAME/d" /etc/hosts
47 echo "[$(date '+%T')] IP NICHT erreichbar: Eintrag entfernt." >> $log_file
48 fi
49 fi
50
51 # 5 Sekunden warten
52 sleep 5
53 done}}}
54 )))
Tobias Wintrich 2.1 55 * **Automatischer Start:** Aktiviert
56 * **Desktop-Verknüpfung erstellen:** Deaktiviert
57 * **Verknüpfung im Startmenü erstellen:** Deaktiviert
58 * **Zeige Benachrichtigung beim Start:** Deaktiviert
Tobias Wintrich 1.1 59
Tobias Wintrich 2.1 60 Hierdurch startet das Skript beim Gerätestart vollkommen unsichtbar und übernimmt im Hintergrund automatisch die Namensauflösung.