Um aplicativo usa VPN, enquanto outros não usam o Linux?

5

Eu quero que um aplicativo use uma conexão VPN, enquanto outros não.

Estou usando o Xubuntu (assim, XFCE), mas gostaria de uma solução de linha de comando / configuração estática, se possível.

É possível realizá-lo e, em caso afirmativo, como?

    
por Deleted 20.08.2009 / 13:42

6 respostas

4

Depois que eu quis fazer isso, executei o aplicativo em uma máquina virtual (gosto do VirtualBox) e configurei a instância do sistema operacional guest para que todo o tráfego fosse totalmente roteado pela VPN. Indiscutivelmente um pouco exagerado, mas significa que você se preocupa muito menos sobre se todos os pacotes do aplicativo (e qualquer coisa que ele gerou) estão sendo roteados como você queria. As janelas contínuas e os recursos de pastas compartilhadas da VM moderna significam que o uso do aplicativo em uma VM também pode ser bastante indolor.

    
por 20.08.2009 / 14:25
2

A maneira mais fácil seria usar uma VPN que pudesse se expor como um servidor SOCKS, então qualquer uma das ferramentas de envolvimento de meias (por exemplo, tsocks) poderia fazer isso.

Caso contrário, o iptables poderia ser feito usando a marcação de pacotes e usando isso para seleção de caminho.

Se for apenas para um destino específico, isso é facilmente conseguido se a VPN adicionar apenas a rota relevante para essa e nenhuma outra.

É claro que, se for apenas um aplicativo, eu tentarei usar o SSL para que nenhuma VPN seja necessária.

    
por 20.08.2009 / 14:00
2

Se o aplicativo que você precisa usar estiver conectado apenas a um endereço específico (por exemplo: uma sessão RDP para uma máquina de trabalho), você poderá usar a tabela de roteamento para forçar o destino desse tráfego a passar pelo link da VPN ou use iptables como sugerido.

    
por 20.08.2009 / 15:34
1

Você pode tentar jogar com o iptables owner module se puder fazer o aplicativo em questão ser executado como um usuário em particular ( man iptables , pesquisar por owner e pensar no que você pode fazer a partir disso, eu não tenho solução pronta, nem me lembro de sintaxe além do que usa a opção de linha de comando --uid-owner ).

A solução proposta pelo timday (deve ter o aplicativo em execução na instância guest com openvz, xen ou virtualbox) também deve funcionar, mas se você puder, provavelmente poderá restringir o processo em questão a um usuário específico. / p>     

por 20.08.2009 / 14:41
0

Todos os recursos necessários ao aplicativo personalizado estão na mesma rede (sub-rede)? Se você pudesse colocar os recursos necessários para o seu aplicativo personalizado em um novo trabalho por si mesmo, então, usar uma VPN troncalizada seria fácil. Como o único recurso sobre o link da VPN seria o aplicativo personalizado. Assim, apenas o tráfego para esse aplicativo passaria pela VPN, e todo o tráfego restante seria eliminado.

    
por 20.08.2009 / 15:41
0

Se você estiver usando o IPSEC, será possível adicionar uma política de segurança que corresponda a uma porta TCP ou UDP específica. Para o Xubuntu você teria que instalar o ipsec-tools e colocar algo como

spdadd 10.1.1.0/24 10.2.2.0/24[4000] tcp -P in ipsec esp/tunnel//require;

em /etc/ipsec-tools.conf. O exemplo (totalmente inventado, não testado) acima força o tráfego para a porta TCP 4000 através da VPN.

    
por 20.08.2009 / 18:22