Ubuntu/Dorky/Iodine: Difference between revisions
From charlesreid1
(Created page with "Iodine https://calebmadrigal.com/dns-tunneling-with-iodine/ Category:DNS Category:Dorky") |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Iodine]] | This page describes how to set up an [[Iodine]] server to tunnel IP traffic (SSH, SOCKS) over DNS. | ||
https://calebmadrigal.com/dns-tunneling-with-iodine/ | This guide was helpful: https://calebmadrigal.com/dns-tunneling-with-iodine/ | ||
=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: | |||
<pre> | |||
sudo apt-get -y install iodine | |||
</pre> | |||
==Starting Iodine== | |||
To start by hand, first check if you have the iodine daemon <code>iodined</code> binary in your path: | |||
<pre> | |||
which iodined | |||
</pre> | |||
Now run the iodine daemon: | |||
<pre> | |||
sudo iodined -c -f 10.200.0.1 -P YoUrSuPeRcOoLpAsSwOrD tunnel.example.com | |||
</pre> | |||
You should see something like this: | |||
<pre> | |||
$ 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 | |||
</pre> | |||
==Checking== | |||
If you run <code>ifconfig</code> in another shell, you should see a <code>dns0</code> network device show up: | |||
<pre> | |||
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 | |||
</pre> | |||
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. | |||
=Client Side= | |||
[[Category:DNS]] | [[Category:DNS]] | ||
[[Category:Dorky]] | [[Category:Dorky]] | ||
Latest revision as of 16:11, 11 July 2020
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/
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.