Como usar o openvpn para navegar

3

Eu estou apenas começando com VPN e OpenVPN. O que eu entendo é que quando eu tenho uma conexão vpn, é como se eu estivesse na mesma rede que o servidor. Então eu deveria ser capaz de se conectar ao servidor através do endereço local (10.8.x.x). Ao lado disso, eu deveria ser capaz de navegar na internet através do servidor.

Eu tenho meu próprio servidor na nuvem para coisas pessoais. Eu posso usá-lo para o que eu quiser. Ele roda no Debian 7. Eu instalei o openvpn e posso conectá-lo a partir do meu laptop. Achei que isso mudaria meu endereço IP para o do servidor, mas quando abro o whatismyip.com no navegador, ainda vejo meu IP normal.

Esta é a saída para o ifconfig:

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=27<RXCSUM,TXCSUM,VLAN_MTU,TSO4>
    ether 00:23:df:89:81:82
    media: autoselect
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:23:6c:8f:4f:47
    inet6 fe80::223:6cff:fe8f:4f47%en1 prefixlen 64 scopeid 0x5
    inet 192.168.1.22 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 02:23:6c:8f:4f:47
    media: autoselect
    status: inactive
tun0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 10.8.0.6 --> 10.8.0.5 netmask 0xffffffff
    open (pid 909)

Então estou um pouco perdido aqui. Eu tenho que configurar um proxy no navegador? Se assim for, isso é apenas o navegador. Existe uma maneira de definir um switch para se conectar via vpn apenas? E no caso de eu entender mal a maneira como funciona a vpn, por favor, explique.

SPRBRN
fonte

Respostas:

4

Em vez de usar o OpenVPN, use o tunelamento SSH. Isso funciona melhor e é muito mais fácil de configurar e também é criptografado. Um bônus adicional é que, ao contrário do OpenVPN, se a conexão for fechada, você não poderá mais navegar na Internet. Com o OpenVPN, se a conexão for fechada, você será automaticamente colocado em sua própria rede e poderá continuar navegando sem aviso prévio. Nada precisa ser alterado no seu servidor.

Se você executar o Windows no seu computador:

  1. Faça o download do PuTTY (se você ainda não o tiver)
  2. No painel lateral Categoria, vá para Conexão & gt; SSH e marque Ativar compactação
  3. No painel lateral Categoria, acesse Túneis de Conexão & SST & gt; e insira um número no campo da porta de origem. Eu normalmente uso 3456. Em seguida, selecione Dinâmico e, finalmente, clique em Adicionar.
  4. No painel lateral Categoria, volte para a sessão. Digite seu nome de usuário @ hostname (substituindo your_username por seu nome de usuário no sistema e hostname pelo domínio ou endereço IP do seu servidor) no campo hostname e salve a sessão.
  5. Clique em Abrir e insira sua senha.
  6. Baixe o Firefox se você ainda não tiver.
  7. No Firefox, no Firefox Gt; Opções e depois em Avançado Gt; Rede; Configurações.
  8. Selecione Configuração de proxy manual e exclua tudo em todas as caixas editáveis.
  9. Digite localhost como o host SOCKS e digite 3456 (ou qualquer porta que você usou na etapa 3) como a porta.
  10. Clique em Ok para as duas janelas de configuração abertas do Firefox.
  11. Digite about: config na barra de localização do Firefox e pressione enter. Diga ao Firefox que você será cuidadoso.
  12. Procure network.proxy.socks_remote_dns e clique duas vezes nele para defini-lo como true.

Se você executar o Linux ou o Mac OS em seu computador doméstico:

  1. Abra um terminal e digite ssh -CD: 3456 your_username @ hostname (substituindo your_username por seu nome de usuário no sistema e hostname pelo domínio ou endereço IP do seu servidor) e pressione enter.
  2. Baixe o Firefox se você ainda não tiver.
  3. No Firefox, vá em Edit & gt; Preferences e, em seguida, em Advanced & gt; Network & gt; Settings.
  4. Selecione Configuração de proxy manual e exclua tudo em todas as caixas editáveis.
  5. Digite localhost como o host SOCKS e digite 3456 (ou qualquer porta que você usou na etapa 3) como a porta.
  6. Clique em Ok para as duas janelas de configuração abertas do Firefox.
  7. Digite about: config na barra de localização do Firefox e pressione enter. Diga ao Firefox que você será cuidadoso.
  8. Procure network.proxy.socks_remote_dns e clique duas vezes nele para defini-lo como true.

Quando terminar, feche o PuTTY ou o terminal e configure o Firefox para usar No proxy em vez do manual que você configurou. Da próxima vez que você quiser se conectar, basta executar a sessão PuTTY salva ou executar o comando da linha de comando e configurar o Firefox para usar a opção Configuração manual de proxy. O Firefox vai lembrar suas configurações de proxy.

Ian
fonte
Eu usei túneis antes para conectar meu cliente de banco de dados local ao banco de dados no servidor. Eu criei um usuário especial no servidor para isso e posso fazer uma conexão. A navegação resulta no relatório do navegador que the connection is reset. Então isso não funciona. Eu posso pingar para yahoo.com quando conectado ao servidor via ssh, então o DNS funciona. Talvez seja o que o @davidgo diz, e eu tenho que configurar o iptables. Estou usando o UFW e prefiro evitar o iptables, se possível.
SPRBRN
Eu consegui trabalhar no meu telefone Android, usando o SSH Tunnel. Quando abro whatismyip.com, vejo o IP do servidor.
SPRBRN
1

(Note que onde eu dei exemplos eles são mínimos, e você precisa se satisfazer, você entende como eles funcionam, e você pode se trancar em sua caixa. Além disso, essas instruções não são permanentes - então você pode pelo menos reiniciar para fazer com que o problema desapareça se você fizer algo estúpido.) Não estou convencido de que uma proxy dessa natureza seja uma boa ideia como uma solução sempre ativa por causa da complexidade, da velocidade reduzida e dos problemas de bola curva que você lançará em você.

Você não precisa configurar um proxy. O que você precisa garantir é que o seu servidor OpenVPN forneça uma rota padrão (e com uma métrica mais baixa para que seja preferível) através do servidor OpenVPN.

 empurre "redirecionamento-gateway XXXX def1" 

Provavelmente, você também precisará informar ao servidor OpenVPN para NAT a conexão para que ele compartilhe o endereço IP do servidor - como 10.x.x.x não é roteado globalmente. Você pode fazer isso adicionando o comando (no servidor)

 iptables -t NAT -A POSTROUTING -o ethX -j MASQUERADE 

Se você quiser se conectar via OpenVPN, você deve colocar um firewall em seu cliente VPN impedindo o tráfego saindo pela interface normal (exceto tráfego para o servidor OpenVPN).

 iptables -I INPUT -j DROP
iptables -I INPUT -s SERVER.IP -j ACCEPT 
davidgo
fonte
Eu gosto da solução ssh-tunnel para começar. Ao usar isso eu tenho o mesmo problema, posso me conectar, mas não navegar. Esse é o mesmo problema?
SPRBRN
Acabei de fazer isso funcionar no meu telefone, usando o SSH Tunnel, então é ótimo.
SPRBRN