dns2tcp

Posted on Jan 1, 0001

SSH Tunneling via DNS DNS-tunneling via dns2tcp kan een manier van toegang tot een shell server zijn als je bijvoorbeeld achter een zeer strikt ingestelde firewall zit, die zowel poort 22 als poort 443 (waarop de shell server ook bereikbaar is) blokkeert. Probeer dus altijd eerst of je ‘normaal’ ssh toegang kunt krijgen via poort 22 of 443, voordat je het onderstaande ‘paardemiddel’ inzet voor ssh toegang.

Om dns2tcp te gebruiken die je eerst de dns2tcp client te installeren. Als je een Debian / Ubuntu systeem gebruikt kan dit door simpelweg de dns2tcp package te installeren met het commando:

# sudo apt-get install dns2tcp 

Kijk wat je caching dns-server ip adres is door het volgende commando op te geven:

# grep '^nameserver' /etc/resolv.conf 

Controleer of je onze dns2tcp server kan bereiken door je lokale nameserver met :

# dns2tcpc -z dnstunnel.bikkel.org   [het-ip-adres-van-je-caching-dns-server] 

Dit hoort dit terug te geven :

Available connection(s) : ssh 

Je kan nu een tunnel naar onze ssh-server opzetten met :

# dns2tcpc -r ssh -l 6666 -z dnstunnel.bikkel.org   [het-ip-adres-van-je-caching-dns-server] 

Let erop dat je de client in de voorgrond laat draaien, en open een nieuwe terminal. Controleer of de verbinding werkt. :

telnet localhost 6666 Trying 127.0.0.1… Connected to localhost. Escape character is ‘^]’. SSH-2.0-OpenSSH_5.1p1 Debian-5 Connection closed by foreign host.

Je kan nu een ssh verbinding maken met :

# ssh user@localhost -p 6666 

Portforwarding kan natuurlijk ook over de verbinding.