Pelicanux

Just A Few Random Words

Retrouver Une Connexion Internet Avec Iodine

Un peu de théorie

Utilisation de iodine

  • Côté serveur, il suffit de spécifier un port et un mot de passe, en plsu d’un sous-domaine :
1
root@dns:/etc/# iodined -c -p 5353 192.168.2.0/24 x.pelicanux.net -P s0m35+ron6P@55word
  • Par contre, il est parfois compliqué de le faire fonctionner sur la même machine qui héberge son serveur DNS!
  • Une solution est de rediriger le flux corresponsant aux requêtes vers le sous-domaine choisi vers le service iodine qui tourne sur un autre port
  • dans mon cas, cela donne :
1
2
3
4
5
6
7
8
9
root@dns:/etc/# iptables -t nat \
     -A PREROUTING \
     -p udp \
     --dport 53 \
     -m string \
     --hex-string '|82 09 70 65 6c 69 63 61 6e 75 78 03 6e 65 74|' \
     --algo bm \
     -j REDIRECT \
     --to-ports 5353
  • Côté client, on lance l’outil comme ceci :
1
root@client:/home# iodine -t d.pelicanux.net -P s0m35+ron6P@55word
  • Une interface dn0 se monte automagiquement :) Il suffit de vérifier que le Point-à-Point est joignable et associer une route vers le réseau où réside le serveur (on doit pouvoir joindre sa passerelle à lui pour accèder à Internet) :
1
route@client:/home# route add -host 172.30.20.23 gw 192.168.2.1
  • Le serveur iodine étant alors double attaché entre son réseau local et le réseau créé par le démon iodine.

  • Il reste à configurer SSH pour achever le tunnel :

1
2
3
4
5
6
7
root@client:/home# cat ~$user/.ssh/config
Host iodine
    User $user
    Hostname 172.30.20.23
    IdentityFile /home/$user/.ssh/id_rsa_iodine
    DynamicForward 9999
$user@client:/home/$user$ ssh iodine
  • On accède au tunnel à partir de firefox par exemple :
  • Préférences –> Avancé –> réseau –> Configuration –> Configuration manuelle du proxy
  • spécifier localhost:9999 comme hôte SOCKS, SOCKSv5 pour pouvoir insérer les requêtes DNS dans ce même tunnel, et DNS distant
  • Sinon, il suffit de configurer proxychains pour utiliser ce proxy pour des clients dont le support de proxy n’a pas été prévu (comme telnet)

Quelques liens