Setting up iodine for windows, worked partially with a workaround

ramik

Neuer User
Mitglied seit
3 Mai 2007
Beiträge
168
Punkte für Reaktionen
0
Punkte
16
I've been trying to configure a DNS tunnel between my work pc which runs Win7 and my home fritz (7140), and here is what i've did till now:

0- Setup a subdomain with NS record to point to home ip:
this is done by adding a subdomain record of type NS that points to another A-type record on the same domain, which point to my home ip address
Code:
tunnel1host	IN	A	1.2.3.4
nssub		IN	NS	tunnel1host.mydomain.com.

1- Include iodine in the freetz firmware

2- I added a forward rule to the fritz from UDP port 53 outsite to the 0.0.0.0:10053 (as port 53 is already in use by the fritz itself).

3- run iodined as follow:
Code:
iodined -P mypassword -c -p 10053 192.168.180.1 nssub.mydomain.com
result is:
Code:
ALERT! Other dns servers expect you to run on port 53.
You must manually forward port 53 to port 10053 for things to work.
Opened dns0
Setting IP of dns0 to 192.168.180.1
Setting MTU of dns0 to 1200
Opened UDP socket
Listening to dns for domain nssub.mydomain.com
Detaching from terminal...

4- Install latest OpenVPN RC build on my windows machine (needed only because it's the official source for a signed driver for tun/tap, on XP you can put any other tap driver), and after installing it goto the Networks section and rename the openvpn virtual adapter to "dns" (needed by iodine).

5- Download and extract the iodine package for windows.

6- instead of using the unxtools shell sh script, i executed the commands manually:
Code:
route delete 0.0.0.0
route add [current system dns] [current system gateway]
where [current system dns] [current system gateway] are those currently assigned to your computer from the NAT, in my case, being behind an IP Cop machine both where 192.168.111.254, which is the address of the IPcop itself.

7- run the iodine client:
Code:
C:\Folder>iodine.exe -f nssub.domain.com
Enter password: [type password]
Opening device \\.\Global\{763305AF-47E5-4A6D-8BF1-0A87FB3BCC16}.tap
Opened UDP socket
Opened UDP socket
Opened UDP socket
Version ok, both using protocol v 0x00000500. You are user #0
Enabling interface 'dns'
Setting IP of interface 'dns' to 192.168.180.2 (can take a few seconds)...
OK.

Switching to Base64 codec
Server switched to codec Base64
Autoprobing max downstream fragment size... (skip with -m fragsize)
768 ok.. no query or answer in reply packet
.no query or answer in reply packet
.no query or answer in reply packet
.1152 not ok.. 960 ok.. no query or answer in reply packet
.no query or answer in reply packet
.no query or answer in reply packet
.1056 not ok.. no query or answer in reply packet
.no query or answer in reply packet
.no query or answer in reply packet
.1008 not ok.. 984 ok.. no query or answer in reply packet
.no query or answer in reply packet
.no query or answer in reply packet
.996 not ok.. will use 984
Setting downstream fragment size to max 984...
Sending queries for nssub.domain.com to 192.168.111.254

here i was able to ping the fritz ip address [in my case: 192.168.180.1], and even open the freetz GUI on http://192.168.180.1:81, but i was unable to access external internet... :confused:

for now i launched also on my freetz the Polipo-Proxy, and set my browser to use the polity proxy on the 192.168.180.1 and i can navigate through the DNS tunnel (whatsmyip.org gives the home ip) :p

so is this the right method to make it work or i should be able to access without an http polipo proxy?

on the local machine, when i do "ping www.google.com" i get the resolved correct ip address but the result is that the destination is unreachable....
 
Aus der Readme:

Finally start iodined on your server. The first argument is the IP address
inside the tunnel, which can be from any range that you don't use yet (for
example 192.168.99.1), and the second argument is the assigned domain (in this
case t1.mydomain.com).

Musstest Du noch OpenVPN fürs TUN/TAP Interface in Freetz hinzufügen oder läuft iodine auch so unter Freetz. In Windows braucht es ja noch zusätzlich das Interface.

Was mich etwas stört ist die Tatsache, dass mit Port 53 nach außen nicht nur der DNS offen sein muss, sondern auch dass man sofort Netzwerkzugriff bekommt wenn man bei Iodine das Passwort weiß.

Da finde ich die Lösung mit dns2tcp besser, wo ein Portforward auf sichere Varianten stattfinden kann/muss (ssh). Letzteres gibt es nur leider nicht für Windows.
 
Sicher, dass es nichts für Windows gibt? Hier steht nämlich was bzgl. Windows. Oder bin ich da komplett falsch?
 
das ist eine java app, die läuft tatsächlich auch auf windows und sogar sehr ansprechend, hab's selbst getestet. unter windows gibt's eine .bat fürs starten von server/client, portforward eintragen und dann beim server auf einen sshserver weiterleiten.

nur hat dns-over-tcp nix mit dns2tcp zu tun ;-)
 
Hallo zusammen!

Und? Gibt es denn keine Anleitung für DUMMIES für dns2tcp?
Oder jemanden, der so nett ist, eine solche zu verfassen?
Ich - und sicher auch ein paar andere wenn man das alles so liest - würden sich sicher riesig freuen!

Gruesse,

Nelix
 
Fang doch an? ;)
 
Hi!

Würde ich, wenn ich könte! Und wenn ich könnte, würde ich nicht fragen, oder? ;)

Grüße,

Nelix
 
Also ich habe mal soeben mit iodine rumexperimentiert. Einfach das gemacht, was da in der Anleitung steht und schon funzt es (fast). Ich habe den Server einfach auf meinem Vserver installiert, wo schon seit Jahren asterisk läuft.
Client ist mein Windows-PC. Ich kann nun die gegenstelle (10.0.0.1) anpingen oder auch gleich meinen vserver, aber sonst nichts. Irgendwie sieht es so aus, als müsste ich irgendwie noch meinem vserver sagen, dass er die Packete ins Internet leiten soll. Bloß wie?
 
Das deckt sich mit der Erfahrung aus dem ersten Post. Andererseits sollte man doch sowieso die Verbindung eher verschlüsselt ablaufen lassen, ssh/vpn/proxy.

Kannst ja mal nen ssh Tunnel aufbauen und messen wir performant das ganze läuft.

Ich hab mit dns-over-tcp von ganz ganz wenig 3 kB/s bis mittelprächtig 7 kB/s bis phänomenal 55 kB/s alles dabei gehabt (Heimanschluss 16 Mbit download /800 kbit upload)
 
Also es funzt nun. Wie schon vermutet, musste ich einfach meinem Vserver sagen, dass er die Packete auch ins Internet leiten soll. Und zwar so:
Code:
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o venet0 -j MASQUERADE
Die Geschwindigkeit ist zwar nicht so pralle, aber diesen Beitrag habe ich über den dnstunnel geschrieben.
 
Gibt's eine Möglichkeit die aktuelle iodine Version einzuchecken?

Latest (from 2010-02-06): 0.6.0-rc1
 
Ja, iodine 0.6.0 läuft soweit.

Allerdings schieße ich damit meiner Fritzbox (Routerbetrieb) sofort die Lichter aus.

Auf einem WDS Repeater läuft's jedoch. Die früheren Versionen 0.5.0/0.5.1 liefen im Routerbetrieb auch schon nicht stabil, jedoch ging's nach dem Starten. Mit dem Connect kam dann eine hohe CPU Auslastung des multid bis die Box weg war. Mit Version 0.6.0 sofort tot.

Habe nur die AVM Firewall, Dropbear und PPTP. Port 53 ist von extern auf intern udp/tcp auf einen höheren Port weitergeleitet und wird mit iodined mit -p auch korrekt ausgeführt.
 
Kannst du bitte mal den Eintrag im Trac für iodine etwas erweitern. Dann schau ich mir an wo es klemmt.

MfG Oliver
 
inwiefern erweitern? habe ich überhaupt die rechte um das zu erweitern?

habe jetzt den tunnel mit unterschiedlichen parametern getestet (-m-M-I) und zwischen 0-15 kB/s war bei mir alles drin. ein zusätzlich aufgebauter ssh tunnel verlangsamte bei mir das ganze, deshalb würde ich gern wissen wie man bei der fritzbox eine route nach draußen mit bordmitteln legt. iptables und dnsmasqu. sind nicht als paket vorhanden, nur die avm firewall.

auf der kryo.se seite gibt es bereits eine sehr gute readme und ein manual und sogar eine test-site zum checken ob alles von außen erreichbar ist :)
nur an die werte, welche im manual unten angegeben sind, komme ich noch nicht ganz aber da spielen wie gesagt verschiedene parameter & faktoren eine rolle.
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,056
Beiträge
2,245,208
Mitglieder
373,480
Neuestes Mitglied
Skyscraperfan
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.