I

iodine

Tunnel IPv4 data over DNS by encoding it in queries and responses, bypassing restrictive firewalls.

About iodine

Iodine lets you create an IPv4 tunnel through DNS requests. It works by encoding your traffic into DNS queries and responses, which almost no firewall blocks. The server runs on your own domain and the client sends everything through the DNS resolver, making it useful for getting online from networks that only allow DNS traffic.

The server listens on UDP port 53 and handles the decoding. The client daemon splits your data into DNS packets and sends them to your nameserver, which forwards them to the server. Iodine supports both authoritative and recursive DNS setups. It can tunnel up to 4 Mbps under good conditions. The software runs on Linux, BSD, macOS, and Windows (via Cygwin). It is written in C and was originally created by Bjorn Andersson.

This tool is for sysadmins or anyone who needs a data channel out of a locked-down network. It is open source under the ISC license and has been maintained since 2010. The current stable release is 0.8.0. Iodine does not encrypt traffic on its own, so pairing it with SSH or a VPN is a common practice for security.
Server Software

Quick Facts

Pricing
Free
License
Proprietary
Platform
Any Platform