Agora eu tenho uma VPN PPTP configurada no meu VPS ubuntu remoto. Eu gostaria que certos aplicativos usassem a VPN para acessar a internet (rtorrent, irssi, entre outros). Atualmente, é configurado assim:
eth0 Link encap:Ethernet HWaddr 00:16:3e:94:38:ce
inet addr:66.xxx.xxx.xxx Bcast:66.xxx.xxx.xxx Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr 00:16:3e:d7:58:a1
inet addr:10.2.0.111 Bcast:10.255.255.255 Mask:255.0.0.0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.10.244 P-t-P:192.168.9.1 Mask:255.255.255.255
Essencialmente, a maneira como eu vi esse problema é assim.
Quando eu corro
curl --interface eth0 checkip.dyndns.com
Eu obtenho
<html><head><title>Current IP Check</title></head><body>Current IP Address: 66.xxx.xxx.xxx</body></html>
E quando eu corro
curl --interface ppp0 checkip.dyndns.com
Eu obtenho
<html><head><title>Current IP Check</title></head><body>Current IP Address: 95.xxx.xxx.xxx</body></html>
O que está correto.
No entanto, quando eu corro
curl --interface 192.168.10.244 checkip.dyndns.com
isso acaba e eu não recebo nada. O que não parece fazer qualquer sentido, já que 192.168.10.244 é o endereço IP de ppp0, e não me parece que deva ser diferente do comando acima. Estou esquecendo de algo? Se eu puder fazer isso funcionar, eu vou conseguir trabalhar no rtorrent e no irssi como eu gostaria, o curl é mais fácil de testar para esse tipo de coisa. Existem bons pontos de partida para resolver este problema?
EDITAR:
Corrigido! Aqui está como eu fiz isso.
Primeiro, criei uma nova tabela de roteamento:
# echo "200 vpn" >> /etc/iproute2/rt_tables
Em seguida, criei uma regra para solicitações provenientes do meu endereço IP ppp0 para pesquisar a partir dessa nova tabela
# ip rule add from 192.168.10.244 table 200
Em seguida, criei uma regra nessa tabela para usar o ppp0.
# ip route add default dev ppp0 table 200
Funciona perfeitamente! Agora, quando eu tento o comando de falha anterior:
# curl --interface 192.168.10.244 checkip.dyndns.com
<html><head><title>Current IP Check</title></head><body>Current IP Address: 95.xxx.xxx.xxx</body></html>