Como faço para configurar o OpenVPN no CyanogenMod 7?


18

Quero rota todo o meu tráfego de rede através de uma conexão ISP da minha casa quando eu estou fora em cafés de Internet por isso não pode ser escutado / firesheeped .

Eu tenho um HTC G2 com CyanogenMod 7 , que possui suporte ao cliente OpenVPN embutido :

insira a descrição da imagem aqui

Em casa, tenho um roteador com o TomatoVPN , que inclui um servidor OpenVPN:

insira a descrição da imagem aqui

Agora, como faço para que o cliente de telefone se conecte ao servidor do roteador? Posso pesquisar no Google e encontrar um conjunto de instruções aparentemente relevantes , mas elas não são muito úteis:

Você precisa embalar seu certificado e chaves e colocá-lo no cartão SD

Onde eu os compro?

Copie o client.p12 para o diretório raiz do sdcard

Onde eu consigo isso?

adicione seus certificados e defina o tipo de interface e o protocolo de acordo.

Como, especificamente? Quais configurações devem ser o que? Usar configurações que não me protegem é pior do que nenhuma proteção, devido à falsa sensação de segurança.

Estou procurando instruções passo a passo para uma configuração "roadwarrior" que roteia todo o tráfego através da VPN.

Onde encontro as chaves? Preciso usar autenticação de nome de usuário / senha adicional? Quais domínios de pesquisa DNS? Quais configurações devo usar no menu OpenVPN Advanced do CM7? "Redirecionar gateway" precisa ser definido para rotear todo o tráfego, por exemplo, certo? Quais configurações para Básico e Avançado no TomatoVPN? "Direcionar clientes para redirecionar o tráfego da Internet"? "Responder ao DNS"?

Atualizar:

Eu tentei mais uma vez e não tive sucesso. Não acho que exista nenhuma maneira de gerar chaves no roteador ou no telefone, então tentei gerá-las no Ubuntu. Tentei seguir estas instruções para gerar chaves, mas elas não estão corretas. (A pasta é, em /usr/share/doc/openvpn/examples/easy-rsa/2.0vez de /usr/share/doc/openvpn-2.0/easy-rsa, por exemplo, e existe um vars, mas nenhum init-configscript.) Encontrei essas instruções , que são mais úteis, e geramos vários arquivos:

  • 01.pem
  • 02.pem
  • ca.crt
  • ca.key
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.key
  • server.crt
  • server.csr
  • server.key
  • ta.key

Os arquivos que copiei para o roteador são

  • ca.crt
  • server.crt
  • server.key
  • dh1024.pem

primeiro removendo tudo antes -----BEGIN, de acordo com estas instruções . O servidor roteador inicia agora e diz

Nome Valor Comprimento máximo da fila de bcast / mcast 0

em Status. Então eu acho que o servidor está funcionando?

Então eu copiei esses arquivos para o telefone:

  • ca.crt
  • htc_g2.crt
  • htc_g2.key
  • server.crt
  • ta.key

Diferentes direções discordam sobre quais arquivos copiar. Depois fui para Configurações → Localização e segurança → Instalar a partir do cartão SD e consegui instalar o certificado da CA, adicionei uma senha etc. A tentativa de adicionar o htc_g2 ou os certificados do servidor não funcionou, dizendo "sem certificado para instalar". Editei os arquivos e removi tudo antes -----BEGIN, e eles foram instalados. Em "Adicionar VPN OpenVPN", selecionei o certificado "ca" para "Definir certificado CA" e o certificado htc_g2 para "Definir certificado do usuário". Quando tento conectar, ele diz "Não é possível conectar à rede". O mesmo se eu tentar o certificado do servidor para o certificado do usuário.


Quais sistemas operacionais você está executando no (s) computador (es) doméstico (s)?
newuser 27/03

@ JonnyP: O computador doméstico é o Ubuntu, mas eu prefiro usar o roteador do que o computador.
Endolith 10/10

11
Nesta fase, eu recomendo que você tente fazer com que a instalação do OpenVPN funcione primeiro com um cliente de desktop OpenVPN comum e depois copie a mesma configuração no seu telefone.
onik 24/10/11

Não acredito que ninguém sabe como fazer isso. Por que a opção existe se ninguém nunca a usou?
endolith 25/10

Eu tenho um amigo que configurou ... no CM 6 . Ele precisou reemitir todos os certificados de VPN depois de descobrir que o cliente CM exigia a definição de determinados campos. Vou ver se consigo obter mais informações dele.
Broam 23/11

Respostas:


1

Primeiro, verifique a Keysguia no TomatoVPN para ver se você já possui algumas chaves padrão definidas. Caso contrário, consulte o OpenVPN HOWTO para obter informações sobre como gerar as chaves. Em seguida, copie as duas primeiras chaves (certificado da CA e do servidor) das áreas de texto para um editor de texto, salve-as com .cersufixo e transfira-as para o telefone. O CM7 deve poder importar .cercertificados diretamente, mas versões mais antigas podem precisar usar arquivos .p12 (consulte este link para obter informações sobre como converter .crt -> .pem ->.p12). Depois disso, vá para Settings -> Security -> Install from SD Cardcarregar os certificados no telefone.


Esse link tem 14.000 palavras. Você pode me apontar diretamente para as partes relevantes? A geração de chaves é diferente se eu quiser conectar outros computadores ao meu roteador além do telefone? Eu adicionei mais detalhes à pergunta.
endolith 10/10

11
As mesmas chaves também são usadas em clientes normais. Não tenho experiência com o TomatoVPN, mas você deve poder definir pelo menos algumas chaves de cliente diferentes. Além disso, pode ser possível usar as mesmas teclas simultaneamente em dispositivos diferentes, mas isso depende da configuração do OpenVPN. A criação da chave é descrita no título "Configurando sua própria Autoridade de Certificação (CA) e gerando certificados e chaves para um servidor OpenVPN e vários clientes". Se você usar chaves e mantê-las seguras, nenhuma autenticação de usuário / senha será necessária em circunstâncias normais. Redirect gateway`should ser o único ...
Onik

... um que você precisa alterar nas configurações do CM7.
Onik 10/10/11

Motivo para voto negativo?
Onik 23/10/11

1

OK, então vamos esclarecer o problema.

Você pode explicar para qual arquivo? Por exemplo, para que serve "ta.key"?

Normalmente, há a lista de arquivos no lado do servidor:

  1. server.conf (a configuração do servidor parecia não ter esse arquivo?)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

e o servidor também deve conter um conjunto de chaves do cliente.

Para o lado do cliente, ele deve ter:

  1. client.crt
  2. client.key
  3. ca.crt
  4. client.ovpn (ou client.conf)

Não vejo por que você tem ta.key?

para saber como criar os arquivos p12, aqui está a instrução:

Abra um terminal Linux (NOTA: você deve ter o OpenSSL pré-instalado), digite

openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] - fora certs.p12

(você deve substituir o conteúdo dos colchetes pelo seu e não é necessário mantê-los.)

o arquivo p12 chamado certs.p12 será gerado.

Espero que ajude.


Não sei o que é ta.key. O servidor parece estar funcionando bem. Só não sei como me conectar a ele. /tmp/etc/openvpn/server1tem esses arquivos nele: ca.crt config.ovpn dh.pem server.crt server.key status. Talvez config.ovpnseja o mesmo que server.conf?
endólito

@ endolith sim, config.ovpn é o mesmo que sever.conf. Pode ser necessário editar o config.ovpn antes de iniciar o OpenVPN.
dumbfingers

@ endolith você deseja se conectar ao OpenVPN a partir de um telefone Android CM7 ou em outro lugar?
dumbfingers

O roteador está executando um servidor OpenVPN e quero conectar-me a ele com meu telefone CM7, sim.
endolith

@ endolith Primeiro, use o comando que forneci para gerar o arquivo p12, copie-o para o cartão SD do seu telefone. Siga isto no menu do telefone: Configurações-Redes sem fio e redes-Configurações de VPN-Adicione VPN, escolha OpenVPNAdd VPN e preencha as opções: [Nome da VPN] como desejar [Definir servidor VPN] preencha o endereço IP da mesma forma que o "remote" em client.ovpn [Autenticação do usuário] se você usar usuário / senha, preencha-o. [Definir certificado CA] toque e importe o certificado ca [Definir certificado do usuário] toque e importe o certificado do usuário (client.crt) Pode ser necessário verificar as opções avançadas. Isso é tudo.
dumbfingers
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.