iodine lets you tunnel IPv4 data through a DNS server. This can be usable in different situations where internet access is firewalled, but DNS queries are allowed. It runs on Linux, Mac OS X, FreeBSD, NetBSD and OpenBSD and needs a TUN/TAP device. The bandwidth is assymetrical with limited upstream and up to 1 Mbit/s downstream. Compared to other DNS tunnel implementations, iodine offers: * Higher performance: iodine uses the NULL type that allows the downstream data to be sent without encoding. Each DNS reply can contain nearly a kilobyte of payload data. * Portability: iodine runs on many different UNIX-like systems. 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 and port used when logging in. * Less setup: iodine handles setting IP number on interfaces automatically, and up to 8 users can share one server at the same time.