Disclaimer

The following post has to be seen as my personal opinion based on my personal experience in my particular setup, and can not be seen or used as a general statement about the TeamSpeak Client or any other TeamSpeak software. Even though I did my best to ensure proper testing the following data can not be taken as defacto evidence. My observations might be wrong and you are strongly encuraged to verify them yourself. I can not be made liable for any conclusion you might draw from this post. Again, this is my observation that might be wrong.

Context 1 - Problem/Observation

I have a rather restrictive DNS sinkhole setup at home. Meaning no DNS queries are getting through the firewall except to my own DNS server. Also every request to another DNS server will be rewritten to my internal one. All test have been made with the latest version of iOS and TeamSpeak (See version screenshots below). Test were done on 29.09.2023.

Problem: I noticed that my teamspeak app on my iPhone couldn’t connect to my selfhosted server. Only if I turn of wifi/ and/or VPN, so I started digging and looking for an error in my setup. Turns out, I’m not the problem (this time)

Context 2 - Setup

iPhone is connected to my travel router (Mikrotik WaP). I setup the router to stream the package-sniffer data from the router to wireshark on my laptop, and filtered the package output for dns. (tcp:853 and 443) I looked only at the packets coming from my phone. In this scenario I configured a manual DNS server on my phone, but the results were the same when the DNS server was pushed by DHCP.

Wireshark dump

I traced all packets as described above. I did not yet dig into the last lines where something tries to connect to an ip address and port 443. As you can see, the teamspeak app completely ignores the system DNS settings, and uses only the google DNS.

Solution

Since the traffic is routed through the firewall I just rewrote all outgoning DNS request to my local dns server. This is fairly simple and effective. Secondly I droped all unwanted DNS traffic. Done.

Personal thoughts

I don’t see any reason for the devs of the Team Speak App to do this. In my eyes this is a violation of privacy. The system (phone) allows me to change how it handles DNS which creates the illusion that I can control something. So far I haven’t noticed any other Apps behaving like this. I’d like to choose who tracks my DNS requests…

I briefly tested the Team Speak desktop app on linux which does not show this behaviour. I don’t have an Android phone at hand at the moment. Since my gaming rig sits behind the same firewall, and DNS sinkhole, I would have noticed if the windows version does ignore the system DNS settings.

Versions

Versions of teamspeak app and iOS version