iodine logo

iodine

Website

IPv4-over-DNS tunneling server and client

7.9k stars 596 forks last commit first released ISC

Slowing down

No commits since 4 Sept 2025. Check the issue tracker before you rely on it.

iodine screenshot

iodine is a tunnel application that transports IPv4 traffic through DNS, using a client and server to create a virtual network interface and route IP packets over DNS queries and replies. It is commonly used in constrained networks where direct internet access is blocked but DNS is still permitted.

Key Features

  • Client/server IP-over-DNS tunnel using a TUN/TAP virtual interface
  • Works across multiple platforms (Linux, BSDs, macOS, and Windows)
  • Supports multiple DNS record types for transport, with autodetection for best throughput
  • Automatic probing of fragment/packet sizes to optimize performance
  • Challenge-response login and basic peer filtering to reduce unauthorized injection
  • Can fall back to raw UDP tunneling when direct UDP to port 53 is possible

Use Cases

  • Remote connectivity from restricted networks that only allow DNS traffic
  • Creating a temporary backchannel for administration and troubleshooting
  • Running a second-layer VPN or SSH-over-tunnel for more secure transport

Limitations and Considerations

  • Carries IPv4 payload only; tunneled traffic is not encrypted by default
  • Throughput is constrained and often asymmetric, depending on DNS relays and policies
  • Client and server typically need matching versions due to protocol compatibility

iodine is a pragmatic tool for establishing connectivity over DNS when other protocols are blocked, offering portability and performance-focused DNS transport choices. For security-sensitive scenarios, it is best used as a transport for an encrypted layer such as VPN or SSH.

Categories:

Tags:

Tech Stack:

Share:

Similar to iodine

OpenVPN logo

OpenVPN

Open-source VPN daemon for TLS-based secure tunneling

14.3k
3.4k
Last commit

OpenVPN is a widely used open-source VPN daemon providing TLS/SSL-based secure tunneling, flexible client-server and site-to-site modes, and cross-platform support.

Actively maintained
Alternative to:
OpenVPN CloudConnexa logo
OpenVPN CloudConnexa
+18
Amnezia logo

Amnezia

Cross-platform client to deploy and use your own VPN server

14k
1k
Last commit

Open-source VPN client for desktop and mobile that can automatically set up a private VPN server and connect using WireGuard, OpenVPN, IKEv2, and obfuscated modes.

GPL-3.0Actively maintained
Alternative to:
NordVPN logo
NordVPN
+15
ShellHub logo

ShellHub

Centralized SSH gateway for remote access and device management

2k
186
Last commit

Centralized SSH gateway to remotely manage Linux servers, containers and IoT devices via web or native SSH; offers key auth, firewall rules, audit logging and session recording.

Apache-2.0Actively maintained
Alternative to:
Teleport logo
Teleport
+14
Fail2Ban logo

Fail2Ban

Log-monitoring daemon that bans abusive IPs via firewall rules

18.3k
1.5k
Last commit

Fail2Ban monitors service logs for repeated failures and automatically bans abusive IP addresses by updating firewall rules for a configurable time.

Actively maintained
Alternative to:
CrowdSec logo
CrowdSec
wg-easy logo

wg-easy

WireGuard VPN server with a web-based admin interface

26.5k
2.5k
Last commit

Run a WireGuard VPN server with an easy web admin UI to manage clients, generate configs and QR codes, and monitor connections and traffic.

AGPL-3.0Actively maintained
Alternative to:
Tailscale logo
Tailscale
+14
Unbound logo

Unbound

Validating, recursive, caching DNS resolver

4.7k
445
Last commit

Standards-based validating recursive DNS resolver with DNSSEC validation, DNS-over-TLS/HTTPS support and configurable caching for privacy and performance.

BSD-3-ClauseActively maintained
Alternative to:
Cloudflare DNS logo
Cloudflare DNS
+9