DNS Tunnel Simple scripts for running an automated DNS Tunnel system. Project maintained by maxexcloo Hosted on GitHub Pages — Theme by mattgraham

Introduction

DNS Tunnel is a simple set of scripts to automate the setup and maintenance of a DNS Tunnel system. Use cases include proxying country restricted services such as Netflix or bypassing censorship.

Requirements

A clean Debian 7 install.

Full iptables support (note that some VPS providers do not offer this!)

Currently the script is best used alone as it uses port 80 (HTTP), 443 (HTTPS/SSL) and 53 (DNS).

For Netflix or Hulu forwarding, the VPS must have a US based IP.

Setup

Create a GitHub account if you do not have one already.

Go to Gist and create two files named host and user. It's recommended that you set the Gist to private. An example Gist can be found here.

The hosts file should contain a list of hosts to forward and the user file should contain a list of IPs or hostnames to allow through the firewall (Dynamic DNS works very well here and it's recommended). Ensure there is a newline at the end of each file.

Obtain the raw URL of your Gist and note it down. This can be found by clicking the "View Raw" icon on any file in your Gist and copying the URL with everything after /raw/ removed.

For example: https://gist.githubusercontent.com/maxexcloo/10565742/raw/7be4e1bd240341786011545363cf1604bc929495/host Becomes: https://gist.githubusercontent.com/maxexcloo/10565742/raw/

Log into your server as the root user and run the following commands, substituting in the raw Gist address you noted previously:

wget https://raw.githubusercontent.com/maxexcloo/DNS-Tunnel/master/install.sh bash install.sh NOTEDGISTURLHERE dnstun NOTEDGISTURLHERE

Restart your server to confirm everything works.

Finally, set the DNS of any machine allowed in the user file to your servers IP address. All hosts in the host file will be forwarded. A guide to changing your DNS server can be found here.

Credits

This project would not be possible without the excellent dnsmasq and sniproxy projects. Credit must also go to the Tunlr Clone documentation as it was instrumental in guiding me with setup.

Support

Feel free to post any issues you find in the project issue tracker and I'll attempt to work through it with you. Pull requests are also very welcome!