Pesquisas de DNS em todo o sistema sobre o túnel SSH

2

A TI tem o laboratório bloqueado, então não consigo fazer atualizações do apt-get ou instalar qualquer pacote na máquina do Ubuntu. Temos uma área de trabalho do Windows RDP que tem acesso limitado à Internet. Eu tenho um servidor SSH em execução na caixa do Windows e posso tunelamento SSH para ele da máquina Ubuntu com o seguinte

ssh -CND localhost:1080 me@windowsbox

O problema é que ainda não consigo resolver nenhum DNS da máquina Ubuntu. Então, o que eu gostaria de fazer também é configurar o DNS para também passar pelo túnel SSH. E sim, tenho visto muitos outros posts sobre como configurar o firefox ou qualquer navegador para fazer isso, mas isso não se aplica aqui. Eu estou procurando DNS no nível do sistema ou, no mínimo, a capacidade de o apt-get resolver através do túnel.

Obrigado

    
por omencat 20.03.2015 / 02:31

1 resposta

1

Você tem controle total sobre o cliente, isso é bom. Você não menciona quanto controle você tem sobre o servidor SSH. Se você controlar o lado do servidor, você poderá iniciar um proxy UDP-para-TCP no seu cliente, conforme indicado aqui :

socat -T15 udp4-recvfrom:53,reuseaddr,fork tcp:localhost:5353

Em seguida, encaminhe a conexão TCP via SSH para o seu servidor, onde você inicia um daemon TCP-para-UDP:

socat tcp4-listen:5353,reuseaddr,fork UDP:nameserver:53

existe SSHuttle (por exemplo, mencionado aqui ). Existe um patch para encaminhar consultas DNS facilmente.

YMMV, mas Eu tive sucesso com o seguinte :

#!/bin/bash
# Taken from http://stackoverflow.com/questions/4594319/shell-replace-cr-lf-by-comma
DNSSERVERS=$(nmcli d show | grep DNS | awk '{print $2}' | sed -e 'H;${x;s/\n/,/g;s/^,//;p;};d' )
sshuttle  \
    -vvv                \
     --dns-hosts ${DNSSERVERS}   \
    -r server   \
    254.254.254.254/32
    
por 20.10.2016 / 05:53