Redirecionar tráfego através da vpn conforme necessário

6

Meu problema é realmente simples, mas parece complexo, mas não tenho nenhuma experiência com isso.

Eu configurei uma caixa usando o gentoo que tem sua própria WAN-IP semi-estática e atua como roteador para minha LAN. Eu tenho acesso a um roteador em outro lugar na web, que tem um IP dinâmico e está registrado no dyndns. Meu plano é redirecionar o tráfego específico do meu gentoo-box para o roteador para fazer uso do túnel e do IP dinâmico.

Minha idéia era instalar um proxy no meu gentoo-box que usa uma conexão VPN com o roteador como padrão. Todo computador na LAN e computadores específicos na WAN (que têm acesso direto ao proxy) devem ter permissão para usar esse proxy, mas nenhum tráfego deve ser forçado a passar pelo roteador. O que exclui a idéia de usar o iptables.

Exemplo: desejo redirecionar o tráfego do Firefox por meio da VPN, mas não do tráfego do Opera. Eu configurei o Firefox para usar o proxy local, ele obtém o IP dinâmico do roteador distante, o Opera ainda navega com meu IP semi-estático.

Isso é possível? Qual software usar? Alguma idéia adicional?

btw: o roteador suporta PPTP, IPSec e L2TP

Editar: Se você tiver ideias melhores para o título, por favor edite ou sugira, não tenho idéia de como chamar o meu problema: (

    
por Baarn 07.01.2012 / 23:52

3 respostas

2

Não há maneira prática de selecionar rotas diferentes em uma base aplicativo por aplicativo ou processo a processo. (O Linux tinha um por vez: iptables --cmd-owner , mas isso desapareceu no kernel 2.6.14). Consulte Linux: restringindo a saída com base em um aplicativo .

Você pode selecionar rotas diferentes, usuário a usuário, com iptables --uid-owner ou selecionar rotas diferentes para máquinas virtuais diferentes. Assim, dados seus requisitos, você pode usar iptables , contanto que você execute o proxy como um usuário dedicado.

ip rule add fwmark 1 table 1
ip route add 0.0.0.0/0 table 1 dev tun0
iptables -t mangle -A OUTPUT -m owner --uid-owner proxy -j MARK --set-mark 1

Consulte Conexão de rede dupla para obter explicações.

    
por 08.01.2012 / 03:21
1

Pelo que entendi, parece que você precisa do servidor socks 5 .

O servidor Socks pode ser facilmente executado com o servidor SSH com um comando:

ssh -D 8080 [email protected]

você pode usar socksify para linux ou sockscap para que o windows aplique configurações de proxy especificadas a qualquer aplicativo em seus computadores.

    
por 08.01.2012 / 07:59
0

Se você (apenas) quiser fazer isso para o tráfego HTTP, use privoxy .

Assim, todos os dispositivos (nos aplicativos que precisam) configurariam o servidor pré-proxy na caixa do gentoo como proxy. Eu acredito que você poderia usar o {+forward-overwrite {127.0.0.1:9876}} (veja man ) e usar uma regra do iptables que tudo em :9876 é encaminhado através da VPN para uma nova instância de privoxy que não faz nada.

    
por 08.01.2012 / 07:57