VPN para SSH, Internet para todo o resto

6

Introdução: Oi, Estou tentando fazer com que um comando VPN e ssh funcionem juntos. E fui bem-sucedido ao ponto de poder acessar o servidor com ssh user@hostname . Mas quando a VPN está ativa, toda a minha internet passa por essa VPN.

Alvo: gostaria de usar minha própria conexão com a internet para qualquer coisa que não seja aquela conexão SSH.

A opção quebra SSH > VPN: Percebi que há uma opção "Usar esta conexão somente para recursos em sua rede" na guia " Editando VPN" - "configurações IPv4" - Botão "Rotas ..." . Parecia a solução, mas se eu permitir isso, não consigo mais me conectar com o comando "ssh user @ hostname" , ele fica travado até expirar.

Pensamentos: Meus pensamentos até agora são de que não funciona porque o nome do host (do ssh username @ hostname) e o gateway (das configurações de VPN) são diferentes. Mas eu não sei o suficiente sobre ssh ou VPN para saber disso.

Idéias? Existe uma opção no ssh que estou negligenciando? Eu tentei ssh -b gatewayFromVPN username@hostname , mas isso não parece funcionar (e eu duvido que deveria). Ou existe uma opção nas configurações da VPN ou algo que possa resolver isso?

Obrigado antecipadamente.

Resumo

  • procurar etc > conexão com a internet
  • (simultaneamente com)
  • SSH > Conexão VPN

"Use esta conexão apenas para recursos em sua rede" intervalos SSH > VPN

    
por Tjen Wellens 23.08.2012 / 16:31

2 respostas

3

Eu queria fazer algo semelhante no passado. Eu tinha duas ideias: dividir as coisas com base na porta e dividir as coisas com base no proprietário do processo. O sistema de rede do Linux pode, por isso, lidar com esses dois cenários.

Eu fiz duas perguntas no Unix.SE. Eu não acompanhei particularmente bem, então se você brincar, me diga o que funciona para você.

Eu ouso dizer que há alguma sobreposição entre as duas técnicas e é por isso que eu menciono as duas aqui. Eu também coloquei uma grande recompensa no segundo para alguns exemplos sólidos. Acho que dividir as conexões de rede entre os usuários é provavelmente o cenário mais útil para nós dois.

Editar: acabei de criar um Google para iptables owner e encontrado isso . Isso parece sugerir que algumas linhas sujas do iptables consertariam isso. Eu ainda estou para testar, mas parece positivamente simples ...

Suponha que você tinha eth0 e eth1 conexões e queria que o usuário bob usasse eth1 e usasse apenas eth1 e force todo o restante para eth0 . Isso deve fazer isso ...

iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -m owner --uid-owner bob  -j DROP
iptables -A OUTPUT -o eth1 -m owner --uid-owner bob  -j ACCEPT
iptables -A OUTPUT -o eth1 -j DROP
iptables -A OUTPUT -o eth0 -j ALLOW

Estou assumindo que você pode apenas trocar o nosso eth1 pelo nome da sua conexão VPN e bob por um novo usuário que você criará para executar sua conexão ssh via: su -c ssh username@host bob .

    
por Oli 25.08.2012 / 01:54
1

Eu meio que consegui o que queria rodando o Ubuntu virtualmente no Windows 7 no momento. (Atualmente executando o VMware Player com o Ubuntu 12.04) Desta forma toda a minha internet no Ubuntu está passando pela VPN, mas posso usar o meu navegador etc no windows 7 o que não tem essa VPN.

Embora isso não seja o que eu pretendia, terá que fazer por enquanto.

Talvez eu possa rodar o Ubuntu virtualmente no Ubuntu ou algo assim, então eu não tenho necessidade de janelas no futuro ...

    
por Tjen Wellens 24.08.2012 / 21:38

Tags