Das TeamSpeak Domain Name System (TSDNS)

    • Official Post

    Hallo,


    hier erkläre ich euch, was dieses ominöse "TSDNS" von TeamSpeak ist und wie ihr es benutzen könnt.


    TSDNS ist veraltet! Wir empfehlen die Verwendung von SRV DNS Einträgen anstelle von TSDNS: TS3 SRV DNS Einträge statt TeamSpeak Domain Name System (TSDNS)


    Verzeichnis

    • Was ist das TSDNS?
    • Wie verwende ich das TSDNS?


    • Was ist das TSDNS?
      Das "TSDNS", also "TeamSpeak Domain Name System" ist eine Art Verzeichnisdienst, welcher auf dem TCP/IP Port 41144 lauscht. Es ordnet wie ein normales DNS-System einfach nur eine Domäne zur dazugehörigen IP-Adresse zu. Das kann man sich letztendlich wie die nachfolgende Tabelle vorstellen:


      Code
      Domäne             | IP-Adresse--------------------------------------------------example.com        | 93.184.216.119example.org        | 93.184.216.119pc1.deineDomain.de | 192.168.0.134www.google.de      | 173.194.32.216


      Wie hier gut zu sehen ist, können auch mehrere verschiedene Domains gleichzeitig auf die selbe IP-Adresse zeigen. :)


      Der ein oder andere denkt sich jetzt: "Toll! Und was bringt mir das jetzt?"


      Mehr oder weniger viel! Nehmen wir an, wir haben 3 verschiedene virtuelle TeamSpeak 3 Server auf dem selben Server laufen:

      Quote

      192.168.0.35:9987
      192.168.0.35:9992
      192.168.0.35:9999


      Dann müssten wir allen Menschen, die darauf zugreifen sollen, jeweils die IP-Adresse und den dazugehörigen Port mitteilen. Bei dem Port 9987 ist das eine Ausnahme. Das ist der Default Port und kann daher auch weggelassen werden.


      Um das ganze jetzt für die Benutzer jedoch einfacher zu gestalten, kann man für die Verbindungen (= IP-Adresse inkl. Port) einen Namen, also eine Domain benutzen. Wir entscheiden uns zum Beispiel so:

      Quote

      192.168.0.35:9987 => srv1.example.com (oder nur example.com)
      192.168.0.35:9992 => srv2.example.com
      192.168.0.35:9999 => srv3.example.com


      Namen können sich Menschen einfacher merken, als irgendwelche Zahlenkombinationen. ;)


    • Wie verwende ich das TSNDS?
      Um das TSDNS verwenden zu können, muss man die "tsdns_settings.ini.sample" Datei nach "tsdns_settings.ini" umbenennen und sie entsprechend editieren/bearbeiten.



      Wenn ihr diese Datei öffnet, findet ihr auch gleich einige Informationen zur Benutzung des TSDNS:

      Code
      #public.teamspeak.com=12.13.14.15:10000#test.teamspeak.com=12.13.14.15:12000#private.teamspeak.com=12.13.14.15:14000#*.teamspeak-systems.de=1.2.3.4:15000


      Alle Zeilen, die mit einer Raute (#) anfangen werden vom TSDNS ignoriert und zählen als Kommentare. Somit könnt ihr zum Beispiel eure Konfigurationen gut sortieren und entsprechend "beschriften":

      Code
      # Public TS Server auf Port 10000public.teamspeak.com=12.13.14.15:10000# Test TS Server auf Port 12000test.teamspeak.com=12.13.14.15:12000# Privater TS Server auf Port 14000private.teamspeak.com=12.13.14.15:14000# Alle anderen Subdomains weiterleiten auf den Port 15000*.teamspeak-systems.de=1.2.3.4:15000


      Eine kleine Erklärung zum Aufbau der Konfiguration:
      Ihr schreibt als erstes eure Domäne, die vom Benutzer zum verbinden genutzt werden soll und schreibt dann ein Ist-Gleich-Zeichen (=). Dahinter folgt dann die IP-Adresse eures Servers mit dem entsprechenden Port. Zusätzlich könnt ihr das ganze noch mit Kommentaren versehen, indem ihr eine Raute am Anfang der Zeile schreibt.


      Beispiel:

      Code
      # Server 1srv1.example.com=192.168.0.35:9987# Server 2srv2.example.com=192.168.0.35:9992# Server 3srv3.example.com=192.168.0.35:9999


      IPv6 Adressen können hier ebenfalls verwendet werden, müssen aber aufgrund von den Portangaben in einfache eckige Klammern geschlossen werden:

      Code
      ipv4.example.com=[2001:db8:10:::6:1f]:9995


      Möchte man einen Eintrag über mehrere IPs (z.B. IPv4 und IPv6) erreichen, muss man einfach die weiteren Ziele (IP + Port) mit einem Komma getrennt dahinter aufzählen:

      Code
      srv4.example.com=192.168.0.35:9995,[2001:db8:10:::6:1f]:9995


      Wenn ihr euren TSDNS konfiguriert habt, müsst ihr die Datei nur noch speichern und schließen. Danach führt ihr einfach noch die ausführbare Datei "tsdnsserver" bzw. "tsdnsserver.exe" aus dem Verzeichnis "tsdns/" aus und schon sollte euch eine ähnliche Meldung wie hier ausgegeben werden:

      Quote

      Scanned tsdns_settings.ini, number of entries ipv4: 3 normal and 0 wildcards; ipv4+6:1 normal and 0 wildcards.


      Tipp für Linux-Systeme: Startet diese Datei wie folgt im Hintergrund:

      Code
      ./tsdnsserver &


      Natürlich kann man die Datei auch im laufenden Betrieb einfach abändern. Um den Prozess jedoch nicht manuell zu stoppen und wieder zu starten, gibt es einen Parameter, der dem TSDNS sagt, dass er einfach nur die Konfiguration neu einlesen soll:

      Code
      ./tsdnsserver --update


      Vielen Dank für diesen Tipp an K3Ksi! :)


    Das war es dann auch schon wieder. Ich hoffe, ich konnte euch helfen. :)


    // 2016-10-14 Edit by Sebbo: IPv6 Informationen hinzugefügt

  • Ich würde sogar noch was hinzufügen.


    Wenn man im laufe der Zeit, im laufenden TSDNS Betrieb noch weitere Einträge hinzufügen will, kann man das ohne weiteres machen und dann einfach den TSDNS mit ./tsdnsserver_linux_amd64 --update neu starten bzw. aktualisieren.


    Dies ermöglicht dass der TSDNS Dienst nicht erst manuell gestoppt und anschließend wieder gestartet werden muss.




    Liebe Grüße

  • Guten Morgen zusammen
    Ich habe hierzu nochmal eine Verständnisfrage.
    Mein 32-Slot-Server habe ich über Port-Freigaben in der Fritzbox so eingerichtet das er über eine DynDNS erreichbar ist, ohne das ich wie oben beschrieben in der tsdns_settings.ini eingetragen habe.
    Allerdings dauert es beim Connect vom Internet aus ein paar Sekunden (5-10) bis man verbunden ist.
    Ändert die Nutzung von TSDNS was daran oder liegt es einfach an DynDNS?

    • Official Post

    Hallo @Boddschamberle,
    wenn du TSDNS nicht selbst eingerichtet hast, kann das auch nicht die Ursache sein, da es ja weder vorhanden ist, noch verwendet wird. Was man nicht hat, kann bekanntlich nichts verursachen. ;)


    Das kann viele Gründe haben: DNS/DynDNS Geschwindigkeit und Auslastung, Route vom Client zum Server, Probleme mit dem Router, Netzwerkauslastung, Serverauslastung, Auslastung der Firewall,...


    Ich denke, da müsste man schon alles mögliche prüfen, um auf die Ursache zu kommen. So einfach kann man das denke ich nicht sagen. Tut mir Leid. :(


    Du kannst aber gerne ein neues Thema aufmachen und mit unserer Community das Problem genauer anschauen, wenn du möchtest. :)

  • This threads contains 14 more posts that have been hidden for guests, please register yourself or log-in to continue reading.