Como forçar todos os pacotes a passar pelo túnel ssh?

4

Temos um túnel SSH ( ssh -ND 127.0.0.1:8080 [email protected] ), que funciona bem para navegadores, se apontá-los para 127.0.0.1:8080 como proxy socks5, mas outro tráfego ainda não está passando por este túnel.

Como eu faria absolutamente todo o tráfego passar pelo túnel SSH?

Quaisquer ferramentas, configurações que eu preciso para isso?

O sistema que estou usando é Debian e MacOS, então é melhor se a solução for mais ou menos geral para ambas as plataformas.

    
por Alexey Kamenskiy 11.12.2012 / 09:20

1 resposta

3

Você pode criar VPN usando o ssh. Aqui está a seção relevante de man ssh :

SSH-BASED VIRTUAL PRIVATE NETWORKS
    ssh contains support for Virtual Private Network (VPN) tunnelling using the tun(4) 
    network pseudo-device, allowing two networks to be joined securely.  The sshd_config(5)
    configuration option PermitTunnel controls whether the server supports this,
    and at what level (layer 2 or 3 traffic).

    The following example would connect client network 10.0.50.0/24 with remote network
    10.0.99.0/24 using a point-to-point connection from 10.1.1.1 to 10.1.1.2,
    provided that the SSH server running on the gateway to the remote network,
    at 192.168.1.15, allows it.

    On the client:

           # ssh -f -w 0:1 192.168.1.15 true
           # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
           # route add 10.0.99.0/24 10.1.1.2

    On the server:

           # ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252
           # route add 10.0.50.0/24 10.1.1.1

No final, você terá uma interface de túnel que poderá usar para encaminhar seu tráfego.

    
por 11.12.2012 / 09:47