Perguntas Frequentes
Introdução
Nós iremos instalar e configurar o OpenVPN em um servidor CentOS 7. Também discutiremos como conectar um cliente para o servidor no Windows, OS X, e Linux.
OpenVPN é uma aplicação VPN de código aberto que permite criar e participar de uma rede privada de forma segura através da Internet pública.
Pré-requisitos
Você deve concluir estes pré-requisitos:
- CentOS 7 Droplet
- Root acesso ao servidor (vários passos não pode ser concluídos com acesso sudo apenas)
- Domínio ou subdomínio que resolve para o servidor que você pode usar para os certificados
Antes de começar, precisamos instalar o repositório Extra Packages for Enterprise Linux (EPEL). Isso ocorre porque o OpenVPN não está disponível nos repositórios CentOS padrão. O repositório EPEL é um repositório adicional gerenciado pelo Fedora Project (Projeto Fedora) contendo pacotes não-padrão mas populares.
|
---|
Etapa 1 - Instalando o OpenVPN
Primeiro precisamos instalar o OpenVPN. Também instalaremos o Easy RSA para gerar nossos pares de chaves SSL, que protegerão nossas conexões VPN.
|
---|
Etapa 2 - Configurando o OpenVPN
OpenVPN tem arquivos de configuração de exemplo em seu diretório de documentação. Vamos copiar o arquivo de exemplo server.conf como um ponto de partida para nosso próprio arquivo de configuração.
|
---|
Vamos abrir o arquivo para edição.
|
---|
Aqui estão algumas linhas que precisamos mudar neste arquivo. A maioria das linhas só precisa ser não comentado (remover o " ; "). Outras alterações são marcadas em vermelho.
Quando geramos as chaves mais tarde, o comprimento padrão de criptografia Diffie-Hellman para o Easy RSA será 2048 bytes, portanto, precisamos alterar o nome do arquivo dh para dh2048.pem.
|
---|
Precisamos descomentar a linha "redirect-gateway def1 bypass-dhcp", que informa ao cliente para redirecionar todo o tráfego através de nosso OpenVPN.
|
---|
Em seguida, precisamos fornecer servidores DNS ao cliente, pois não será capaz de usar os servidores DNS padrão fornecidos pelo provedor de serviços de Internet. Vamos usar os servidores de DNS públicos do Google, 8.8.8.8 e 8.8.4.4.
Faça isso descomentando o push "dhcp-option DNS lines" e atualizando os endereços IP.
|
---|
Queremos que o OpenVPN seja executado sem privilégios uma vez iniciado, por isso precisamos dizer-lhe para executar com um usuário e grupo de ninguém. Para ativar isso, você precisará descomentar essas linhas:
|
---|
Salve e saia do arquivo de configuração do servidor OpenVPN.
Etapa 3 - Gerando Chaves e Certificados
Agora que o servidor está configurado, precisamos gerar chaves e certificados. O Easy RSA instala alguns scripts para gerar essas chaves e certificados.
Vamos criar um diretório para as chaves para entrar.
|
---|
Também precisamos copiar os scripts de geração de chaves e certificados para o diretório.
|
---|
Para tornar a vida mais fácil para nós mesmos, vamos editar os valores padrão do script,
usado para não ter que digitar nossa informação em cada momento. Essas informações são armazenadas
No arquivo vars então vamos abrir isso para edição.
|
---|
Vamos mudar os valores que começam com KEY_. Atualize os seguintes valores para serem precisos para sua organização.
Os que mais importam são:
KEY_NAME
: Você deve entrar no servidor aqui; Você poderia inserir outra coisa, mas então você também teria que atualizar os arquivos de configuração que fazem referência a server.key e server.crtKEY_CN
: Digite o domínio ou subdomínio que é resolvido para o servidor
Para os outros valores, você pode inserir informações para sua organização com base no nome da variável.
|
---|
Também vamos remover a chance de nossa configuração do OpenSSL não carregar devido à versão ser indetectável. Vamos fazer isso copiando o arquivo de configuração necessário e removendo o número da versão.
|
---|
Para começar a gerar nossas chaves e certificados, precisamos entrar no nosso diretório easy-rsa e fonte em nossas novas variáveis.
|
---|
Então vamos limpar todas as chaves e certificados que já podem estar nesta pasta e gerar nossa autoridade de certificação.
|
---|
Quando você cria a autoridade de certificação, você será solicitado a inserir todas as informações que colocamos no arquivo vars, mas você verá que suas opções já estão definidas como as predefinições. Então, você pode simplesmente pressionar ENTER para cada um.
./build-ca |
---|
As próximas coisas que precisamos para gerar a chave e o certificado para o servidor. Novamente, você pode simplesmente passar pelas perguntas e pressionar ENTER para cada um usar seus padrões. No final, responda Y (sim) para confirmar as alterações.
|
---|
Também precisamos gerar um arquivo de troca de chave Diffie-Hellman. Este comando levará um ou dois minutos para ser concluído:
|
---|
É isso para as nossas chaves de servidor e certificados. Copie todos no nosso diretório OpenVPN.
|
---|
Todos os nossos clientes também precisarão de certificados para poder autenticar. Essas chaves e certificados serão compartilhados com seus clientes e é melhor gerar chaves e certificados separados para cada cliente que você pretende conectar.
Certifique-se de que, se fizer isso, dê-lhes nomes descritivos, mas, por enquanto, teremos um cliente para que o chamemos de cliente.
|
---|
É isso para chaves e certificados.
Passo 4 - Encaminhamento
Para manter as coisas simples, vamos fazer nosso roteamento diretamente com o iptables, em vez de um novo firewall.
Primeiro, verifique se o serviço iptables está instalado e ativado.
|
---|
Em seguida, adicionaremos uma regra ao iptables para encaminhar nosso roteamento para a nossa sub-rede OpenVPN e salvar essa regra.
|
---|
Então, devemos ativar o encaminhamento IP no sysctl. Abra sysctl.conf para edição.
|
---|
Adicione a seguinte linha na parte superior do arquivo:
|
---|
Em seguida, reinicie o serviço de rede para que o encaminhamento de IP entre em vigor.
|
---|
Etapa 5 - Iniciando o OpenVPN
Agora estamos prontos para executar o nosso serviço OpenVPN. Então vamos adicioná-lo ao systemctl:
|
---|
Inicie o OpenVPN:
|
---|
Certo; Essa é toda a configuração do lado do servidor feita para o OpenVPN.
Em seguida, falaremos sobre como conectar um cliente ao servidor.
Etapa 6 - Configurando um Cliente
Independentemente do sistema operacional da máquina cliente, você precisará definitivamente de uma cópia do certificado CA do servidor, juntamente com a chave do cliente e o certificado.
Localize os seguintes arquivos no servidor. Se você gerou várias chaves de cliente com nomes descritivos exclusivos, os nomes de chave e certificado serão diferentes. Neste artigo usamos o cliente.
|
---|
Copie esses três arquivos para sua máquina cliente. Você pode usar SFTP ou seu método preferido. Você poderia até mesmo abrir os arquivos em seu editor de texto e copiar e colar o conteúdo em novos arquivos em sua máquina cliente.
Apenas certifique-se de fazer uma nota de onde você salvá-los.
Vamos criar um arquivo chamado client.ovpn. Este é um arquivo de configuração para um cliente OpenVPN, dizendo-lhe como se conectar ao servidor.
- Você precisará alterar a primeira linha para refletir o nome que você deu ao cliente em sua chave e certificado; No nosso caso, este é apenas cliente
- Você também precisa atualizar o endereço IP de seu ip do servidor para o endereço IP do seu servidor; A porta 1194 pode permanecer a mesma
- Certifique-se de que os caminhos para a chave e os arquivos de certificado estão corretos
client dev tun proto udp remote your_server_ip 1194 resolv-retry infinite nobind persist-key persist-tun comp-lzo verb 3 cipher AES-256-CBC
ca /path/to/ca.crt
cert /path/to/client.crt
key /path/to/client.key
Este arquivo pode agora ser usado por qualquer cliente OpenVPN para se conectar ao seu servidor.
Windows:
No Windows, você precisará dos binários oficiais do Edição OpenVPN comunitários que vêm com uma GUI. Em seguida, coloque o arquivo de configuração .ovpn no diretório apropriado, C:\Program Files\OpenVPN\config e clique em Conectar na GUI. A OpenVPN GUI no Windows deve ser executada com privilégios administrativos.
OS X:
No Mac OS X, o aplicativo de código aberto Tunnelblick fornece uma interface semelhante à GUI OpenVPN no Windows, e vem com OpenVPN e os motoristas TUN / TAP necessárias. Tal como acontece com o Windows, o único passo necessário é colocar o seu arquivo .ovpn
de configuração para o diretório. Ou, você pode clicar duas vezes em seu arquivo.~/Library/Application Support/Tunnelblick/Configurations
.ovpn
Linux:
No Linux, você deve instalar o OpenVPN de repositórios oficiais da sua distribuição. em seguida, você pode invocar OpenVPN executando:
|
---|
Conclusão
Parabéns! Agora você deve ter uma rede virtual totalmente operacional em execução no seu servidor OpenVPN.
Depois de estabelecer uma conexão de cliente bem-sucedido, você pode verificar se o tráfego está sendo encaminhado através da VPN pela verificação do Google para revelar o seu IP público .