Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've seen a few guides out there, but I could not get any of them to work. I can point NS records to my domain, so it sounds like I should be able to do this. I tried setting up a DMZ for the server portion, no luck at all.

share|improve this question
please supply more information - "it didn't work" isn't enough to go on. – Alnitak May 25 '09 at 8:00
Am I the only one who's confused? How do you tunnel the transport layer TCP over the application DNS? Besides the layers being upside down, DNS is usually run over UDP. – nray May 25 '09 at 8:10
TCP over DNS is a way of getting free internet access if you're on a walled-garden network (e.g. pay wifi hotspot) that otherwise allows DNS queries to work. – Alnitak May 25 '09 at 8:35
@Alnitak: "it didn't work" is all that I have. There are multiple portions (router settings, domain settings, server portion, client portion, ssh) and all that I know is in the end, I set my browser to point to the proxy and it says the proxy refused the connection. – esac May 25 '09 at 16:18
up vote 4 down vote accepted

There is a Java implementation that works on Windows on tcp-over-dns.

tcp-over-dns contains a special dns server and a special dns client. The client and server work in tandem to provide a TCP (and UDP!) tunnel through the standard DNS protocol.

This is similiar to the defunct NSTX dns tunelling software. The purpose of this software to is succeed where NSTX failed. For me at least, all NSTX tunnels disconnect within tens of seconds in real world situations. tcp-over-dns was written to be quite robust while at the same time providing acceptable bandwidth speeds.

The programs require the Java runtime environment 6.0+. The server requires admin port 53 access.

There is a nice article from the same author which explains TCP over DNS very well.

share|improve this answer
the answer would be better without the quote from the tcp-over-dns article, because it's incomplete and doesn't in any way explain the problem... – Alnitak May 25 '09 at 8:34
@Alnitak you are right. I deleted that section from the answer. I initially thought that many readers aren't familiar with that "technology", so I tried to compensate that. But I didn't want to quote the whole article. – splattne May 25 '09 at 8:56
That guide is the one that doesn't work for me. It doesn't explain what ports I need to open on my home router (just 53?). I even setup DMZ and it didn't work. It says to use SSH to make a proxy, but i'm not sure that most users know what that means. I am pretty sure it means I set my browser to point to localhost:8080 but it still does not work. – esac May 25 '09 at 16:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.