Iodine is a powerful open source application that allows you to tunnel IPv4 data through a DNS server.
It can be usable in different situations where internet access is firewalled, but DNS queries are allowed.
It works smoothly on Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD and Windows.
Higher performance: Iodine uses the NULL type that allows the downstream data to be sent without encoding. Each DNS reply can contain over a kilobyte of compressed payload data.
Portability: Iodine runs on many different UNIX-like systems as well as on Win32. Tunnels can be set up between two hosts no matter their endianness or operating system.
Security: Iodine uses challenge-response login secured by MD5 hash. It also filters out any packets not coming from the IP used when logging in.
Less setup: The program handles setting IP number on interfaces automatically, and up to 16 users can share one server at the same time. Packet size is automatically probed for maximum downstream throughput.