Ubuntu/Dorky/Iodine
From charlesreid1
This page describes how to set up an Iodine server to tunnel IP traffic (SSH, SOCKS) over DNS.
This guide was helpful: https://calebmadrigal.com/dns-tunneling-with-iodine/
Contents
Server Side
DNS Records
Start by creating two DNS records, one NS record and one A record.
The NS record should have a host of "tunnel" and should point to "tunnelhost.example.com"
The A record should have a host of "tunnelhost" and should point to the IP of your iodine server.
Installing Iodine
This one is easy:
sudo apt-get -y install iodine
Starting Iodine
To start by hand, first check if you have the iodine daemon iodined
binary in your path:
which iodined
Now run the iodine daemon:
sudo iodined -c -f 10.200.0.1 -P YoUrSuPeRcOoLpAsSwOrD tunnel.example.com
You should see something like this:
$ sudo iodined -c -f 10.200.0.1 -P YoUrSuPeRcOoLpAsSwOrD tunnel.example.com Opened dns0 Setting IP of dns0 to 10.200.0.1 Setting MTU of dns0 to 1130 Opened IPv4 UDP socket Listening to dns for domain tunnel.example.com
Checking
If you run ifconfig
in another shell, you should see a dns0
network device show up:
dns0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1130 inet 10.200.0.1 netmask 255.255.255.224 destination 10.200.0.1 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
You can also visit http://code.kryo.se/iodine/check-it/ and have the site check your tunnel subdomain setup and verify iodine is set up correctly.