Conexão VPN somente para serviço ou porta específica

1

Eu aluguei uma máquina virtual e quero usar um serviço VPN dentro de privacidade como Hidemyass & amp; Co.

Eu me conecto à VM via VNC, mas toda vez que eu ligo a VPN na VM, a conexão VNC falha. Eu uso o PPTP como VPN.

Existe uma maneira fácil de excluir o VNC da VPN. Existem alguns computadores que se conectarão à VM, portanto, excluir IPs únicos também funcionaria, mas eu prefiro a solução VNC ou Port.

Eu sou um noob no roteamento, então eu preciso de uma resposta bem acabada.

    
por user260324 20.03.2014 / 19:19

1 resposta

0

No script a seguir você pode adicionar o host / route que é roteado para vpn. O restante do tráfego estará indo para o gateway padrão

#!/bin/bash
function routeadd {
    route add -host xxx.xxx.xxx.xxx dev ppp0
    route add -net xxx.xxx.xxx.xxx/xx dev ppp0
}
function makepptp {
   echo pty \"pptp xxx.xxx.xxx.xxx --nolaunchpppd\" >> /etc/ppp/peers/vpn;
   echo remotename PPTP >> /etc/ppp/peers/vpn;
   echo require-mppe-128 >> /etc/ppp/peers/vpn;
   echo file /etc/ppp/options.pptp >> /etc/ppp/peers/vpn;
   echo ipparam vpn >> /etc/ppp/peers/vpn;
pppd call vpn &
}
if [ -a /etc/ppp/chap-secrets ];
        then
        rm /etc/ppp/chap-secrets
    echo $1 PPTP $2 '*' >> /etc/ppp/chap-secrets;
else
    echo $1 PPTP $2 '*' >> /etc/ppp/chap-secrets;
fi

if [ -e /etc/ppp/peers/vpn ];
    then
    rm /etc/ppp/peers/vpn;
    echo name $1 >> /etc/ppp/peers/vpn;
    makepptp;
    sleep 8;
    routeadd;
else
    echo name $1 >> /etc/ppp/peers/vpn;
    makepptp;
    sleep 8;
    routeadd;
fi

Uso:

sudo /path_to_script/vpn username password

nota: set execute permision to script

O tráfego é roteado via vpn somente se você adicionar rota, qualquer outra coisa vai para o padrão gw.

Editar 1

Na função routeadd você pode alterar

function routeadd {
        route add -host xxx.xxx.xxx.xxx dev ppp0
        route add -net xxx.xxx.xxx.xxx/xx dev ppp0
    }

para

function routeadd {
        route add -host ip_address_for_vnc dev eth0
        route add default dev ppp0
    }

Isto irá rotear o tráfego vnc para um endereço IP específico para eth0 int e todos os outros para ppp0 int. Experimente.

    
por 2707974 21.03.2014 / 09:51