Eu configurei uma conexão OpenVPN com a configuração route-nopull
.
Portanto, agora nenhuma rota especial foi adicionada à configuração do cliente e apenas um dispositivo TUN é criado, assim:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:13.0.9.88 P-t-P:13.0.9.88 Mask:255.255.255.224
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:150 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:12498 (12.4 KB) TX bytes:2520 (2.5 KB)
Como resultado, nenhum tráfego passa pela VPN por padrão. Ótimo, porque eu só preciso disso para certos pedidos.
E aí está o meu problema: como faço isso?
Eu vou principalmente usar isso em node.js.
No próximo exemplo, criei uma solicitação GET simples usando http.request, mas especifiquei o endereço atualmente fornecido à interface TUN.
var http = require('http'),
url = require('url');
var options = {
localAddress: '13.0.9.88',
hostname: 'www.google.be',
path: '/',
method: 'GET',
port: 80
};
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('Body: ' + chunk);
});
});
req.end();
O problema é: essa solicitação nunca passa ou recebe uma resposta.
Eu também tentei um teste mais simples, usando apenas ping
na interface tun0
para um dos servidores do Google:
ping -I tun0 173.194.112.24
Isso, mais uma vez, não dá resultados.
Fyi: Quando eu configuro o OpenVPN para criar uma interface TAP (em vez de um TUN), recebo um erro 'Destination Host Unreachable'
As informações do netstat do ip da vpn:
# netstat -rn | fgrep 13.0.9
13.0.9.88 0.0.0.0 255.255.255.224 U 0 0 0 tun0
Que rotas devo adicionar para ativar isso?