Este tutorial explica cómo configurar un túnel DNS utilizando iodine, que permite encapsular tráfico IP dentro de consultas DNS. Esto es útil para eludir restricciones de red o para acceder a recursos cuando otros protocolos están bloqueados. Utilizaremos Privoxy como proxy HTTP para navegar por la web a través del túnel de forma eficiente.
# Actualizar repositorios e instalar dependencias
sudo apt-get update && sudo apt-get install -y pkg-config zlib1g-dev
# Clonar repositorio de iodine
git clone <https://github.com/yarrick/iodine.git>
cd iodine
# Compilar e instalar
make
sudo make install
# Verificar si hay servicios usando el puerto 53
sudo netstat -tulpn | grep :53
Si systemd-resolved está usando el puerto 53, configuraremos iodined para usar un puerto alternativo (5353).
Abrir los puertos necesarios en el firewall local (UFW):
# Abrir puertos en UFW
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
sudo ufw allow 5353/udp
sudo ufw allow 5353/tcp
sudo ufw allow 8118/tcp # Para Privoxy
# Verificar reglas
sudo ufw status verbose
Si estás utilizando una instancia EC2 en AWS, solo necesitas configurar el Security Group para permitir el tráfico en el puerto 53: