Iodine
Autor
Rait Haavel [AK31]
Viimati muudetud: 10.06.2015
Kirjeldus
Iodine abil on võimalik luua IPv4 tunnelit kasutades DNS päringuid. Kui võrgus on kasutuses tulemüür mis plokeerib ära enamus tunneli loomise võimalustest, siis üldjuhul on DNS päringud lubatud ning Iodine võimaldab just seda ära kasutada IPv4 tunneli loomiseks.
Keskkonna nõuded
Toetatud OP süsteemid: iodine töötab nii linux , mac kuid ka windows operatsioonisüsteemidel.
Et luua iodine IPv4 tunnelit, siis peavad olema tagatud vastavad eeltingimused:
1. Komponendid
1.1 Klient masin (windows, linux) - See tööjaam, millega soovitakse tunneli teenust kasutama hakata.
1.2 DNS server - DNS server (NT: asutuse sisene DNS), mis teenindab iodine serverit ning kuhu tuleb luua IPv4 tunneli tarvis alamdomeeni NS kirje ning iodine serveri A kirje.
1.3 Iodine Server - Server kuhu paigaldatakse iodine teenus, mis töötleb alamdomeenile suunatud DNS päringuid.
2. Üldised nõuded
2.1 Kui soovite kasutada iodine teenust üle interneti, siis peab lahendama väline teenusepakkuja (väline DNS server) teie sisemist domeeni nimi.
Seadistus
NB! Antud seadistuste näited sobivad ubuntu laadset linux-t kasutades.
iodine seadistus - DNS server
DNS serveris (iodine serverit teenindav) tuleb lisada tsoonifaili NS kirje alamdomeenile. Lisaks tehakse A kirje iodine teenuse serverile.
Tsoonifaili kirjed on näevad välja sellised:
tunnel IN NS iodine.domeen.zz. iodine IN A IP_aadress
tunnel = see on alamdomeen tunnel.domeen.zz
iodine.domeen.zz = A kirje serverile kus on iodine teenus, mis kuulab DNS päringuid.
IP_aadress = iodine serveri IP aadress (sisevõrgu IP).
[1]
iodine seadistus - server
Nüüd kui on alamdomeeni kirje tehtud, tuleb seadistada iodine server, mis hakkab DNS päringuid kuulama ning tekitab IPv4 tunneli.
Paigaldus
1. Uuenda oma repositoorium.
sudo apt-get update
2. Installeeri iodine
sudo apt-get install iodine
3. loo IPv4 tunnel ning anna tunnelile virtuaalne IP aadress.
sudo iodined 10.0.10.1 tunnel.domeen.zz
10.0.10.1 = tunneli virtuaalne IP aadress.
tunnel.domeen.zz = tunneli jaoks loodud alamdomeen.
[2]
iodine seadistus - klient
Kui iodine server on seadistatud kuulama alamdomeeni DNS päringuid, siis nüüd saab paigaldada kliendi tööjaama iodine teenuse ning teenuse tekitama IPv4 tunnelit üle DNS-i.
Paigaldus
1. Uuenda oma repositoorium.
sudo apt-get update
2. Installeeri iodine
sudo apt-get install iodine
3. Seadista iodine looma IPv4 tunnelit eelseadistatud aladomeeni pihta.
sudo iodine tunnel.domeen.zz
tunnel.domeen.zz = On eelseadistatud alamdomeeni nimi, kuhu iodine hakakb DNS päringuid saatma.
4. Nüüd võid kasutada IPv4 tunnelit. Näiteks proovi pingida kliendi arvutist serverit.
ping tunnel.domeen.zz
[3]
Atribuudid
Iodine on küll lihte ülesse seada, kuid võimalusi seda seadistada on mitmeid. Toon välja võimalused nii serveri pool kui ka kliendi poole seadistamiseks.
Klient
-r Ei kasuta raw UDP reziimi. Vaikimisi iodine saadab liikluse otse serverisse, mitte ei kasutada DNS relay-d. -m fragsize Seab maksimaalse kasutatava allalaadimis fragmendi suuruse. Vaikimise kasutaba iodine kõige suuremat võimalikku allalaadimis fragmendi suurust. -M namelen Maksimaalse üleslaadimise serveri hostinime pikkuse määramiseks. Vaikeväärtus on 255, kuid selle abil saab määrata vahemikku 100-255. -T dnstype Saab määrata DSN päringu tüübi. Võimalikud tüübid on: NULL, TXT, SRV, MX, CNAME and A (returning CNAME) -O downenc Saab määrata kodeerimiseks. Kui vaike seade ei toimi, siis peab muutme kodeeringut kuna on võimalik, et see on nõutud. Võimalused on : Base32, base64, base128, base64u. Base32 on kõge madalam koodek ning see toimib alati. -L 0|1 Lazy-mode reziim. Selle abil on võimalik tõsta jõudlust ning vähendadada võrgu viidet. -I interval Maksimaalne DNS päringu intervall. Kasutada selleks, et piirata DNS päringute liiasust võrgus. Maksimaalne väärtus on 59 kuna 60 peal juba iodine ise lõpetab ühenduse kliendiga.
[4]
Server
-c Ei küsi iga päringu peale kliendi IP aadressi. Kui kasutatakse DNS serverite klustreid, siis võib esineda probleeme. -s Ei ürite konfigureerida IP aadressi või MTU-d. Kasuta kui on juba seadistatud millist seadet kasutada. -D Saab suurendada debug taset. Tase 1 väljastab kõik RX/TX paketid. -l listen_ip Saab piirata sissetulevat liiklust IP põhiselt. Vaikimisi on lubatud liiklus kõikidelt IP-delt. -p port Saab määrata pordi, mida teenus kuulab. Ka DNS peab saatma päringud sinna porti! -n external_ip Saab määrata IP aadressi kuhu suunatakse NS päringud edasi. -b dnsport Kui see port on määratud, siis kõik sissetulevad päringud va tunneli domeeni omad, suunatakse edasi sinna määratud porti et kasutada päris DNS serverit.
[5]
Kokkuvõte
Iodine on väga hea vahend kui sul on vaja mööda saada tulemüüri keelavatest reeglitest, et saada ligi tulemüüri taga asuvasse serverisse.
Iodine on võimalik kasutada ainult siis kui sul endal on võimalik lisada DNS kirjeid DNS serverile, mis haldab sinu serveri kirjet ning kui sinu serveri domeen on avalikus DNS-s.
Selle teenusega on võimalik ka ligi saada lihtsalt oma kodusele arvutile, serverile kaugelt. Isegi ebaturvalistest internetiühendustest (lennujaamad, lahtine WIFI) on võimalik luua DNS tunnelit üldjuhul isegi siis kui ei saa internetigi kuna DNS päringud on alati lahti.
Kasutatud kirjandus
[1] https://github.com/yarrick/iodine
[2],[3] https://grahamedgecombe.com/blog/ip-over-dns-with-iodine
[4],[5] http://linux.die.net/man/8/iodine