===== Procedimento de instalação e configuração do OpenVPN no FreeBSD: ===== === 1 - Atualizar o PKG e o PORTs: === # pkg update # portsnap fetch extract === 2 - Instalar o pacote OpenVPN pelo pkg, e ativá-lo no rc.conf: === # pkg install openvpn # /usr/local/etc/rc.d/openvpn enable openvpn enabled in /etc/rc.conf === 3 - Após a instalação, vamos criar o diretório /usr/local/etc/openvpn: === # mkdir /usr/local/etc/openvpn === 4 - Feito isso, vamos copiar os arquivos de configuração de exemplo que vieram na instalação do passo 2: === # cp -r /usr/local/share/easy-rsa/ /usr/local/etc/openvpn/easy-rsa === 5 - Após o passo 4, vamos entrar no diretório criado: === # cd /usr/local/etc/openvpn/easy-rsa === 6 - Vamos precisar construir a infraestrutura de chaves, com o comando abaixo: === # easy-rsa init-pki === 7 - Depois de executar o comando acima, você verá que foi criado um diretório com o nome de "pki". Dentro do diretório "/usr/local/etc/openvpn/easy-rsa" você verá um arquivo chamado vars.example, vamos precisar copiá-lo e editá-lo: === # cp vars.example vars -- Vamos precisar apagar todas as linhas existentes nesse arquivo, e acrescentar as informações abaixo, de acordo com as informações da nossa VPN: # ee vars set_var EASYRSA_REQ_COUNTRY "BR" set_var EASYRSA_REQ_PROVINCE "Amapa" set_var EASYRSA_REQ_CITY "Macapa" set_var EASYRSA_REQ_ORG "Copyleft Certificate Co" set_var EASYRSA_REQ_EMAIL "seuemail@example.net" set_var EASYRSA_REQ_OU "MundoBSD" set_var EASYRSA_KEY_SIZE 2048 set_var EASYRSA_CA_EXPIRE 3650 set_var EASYRSA_CERT_EXPIRE 108 === 8 - Vamos precisar executar três comando abaixo, preste atenção ao "build-ca", pois será necessário definir uma senha, que será exigida posteriormente: === # easy-rsa build-ca # easy-rsa build-server-full openvpn-server nopass # easy-rsa gen-dh -- Execução de um por um:\\ -- Será necessário confirmar com um "YES", e inserir uma senha:\\ # easy-rsa build-ca -- Será necessário confirmar com um "YES", e inserir a senha cadastrada: # easy-rsa build-server-full openvpn-server nopass # easy-rsa gen-dh === 9 - Vamos precisar gerar o ta.key, para o comando abaixo, é preciso estar dentro do diretório /usr/local/etc/openvpn/easy-rsa: === # openvpn --genkey secret pki/ta.key === 10 - Criando as chaves de clientes: === # easy-rsa build-client-full dhiemeson === 11 - Após a criação dos usuários da VPN, vamos copiar as chaves do servidor. Teremos que estar dentro do diretório /usr/local/etc/openvpn/easy-rsa: === # cd /usr/local/etc/openvpn/easy-rsa # mkdir /usr/local/etc/openvpn/keys # cp pki/ta.key /usr/local/etc/openvpn/keys/ # cp pki/dh.pem /usr/local/etc/openvpn/keys/ # cp pki/ca.crt /usr/local/etc/openvpn/keys/ # cp pki/issued/openvpn-server.crt /usr/local/etc/openvpn/keys/ # cp pki/private/openvpn-server.key /usr/local/etc/openvpn/keys/ === 12 - Agora vamos configurar o servidor. Precisaremos editar o arquivo /usr/local/etc/openvpn/openvpn.conf: === # ee openvpn.conf -- Vamos apagar todas as linhas do arquivo e acrescentar as informações abaixo: local 10.0.0.2 # IP do seu servidor port 8080 proto udp dev tun # Localizacao das chaves ca /usr/local/etc/openvpn/keys/ca.crt cert /usr/local/etc/openvpn/keys/openvpn-server.crt key /usr/local/etc/openvpn/keys/openvpn-server.key # This file should be kept secret dh /usr/local/etc/openvpn/keys/dh.pem # Endereco da rede do servidor server 10.20.30.0 255.255.255.0 # Com essa opcao voce poder tornar a VPN o gateway de Internet dos clientes com a opcao abaixo push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" #push "dhcp-option DNS 108.61.10.10" keepalive 10 120 tls-auth /usr/local/etc/openvpn/keys/ta.key 0 # This file is secret max-clients 20 status openvpn-status.log === 13 - Agora vamos iniciar o serviço para ver se está subindo normalmente: === # # /usr/local/etc/rc.d/openvpn start Starting openvpn. # sockstat -4l USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root openvpn 12720 7 udp4 10.0.0.2:8080 *:* === 14 - Agora vamos efetuar a configuração do cliente (arquivo client.ovpn): === -- Abra um arquivo em bloco de notas, com a seguinte configuração: client dev tun proto udp remote 10.0.0.2 8080 # IP do seu servidor e porta configurada resolv-retry infinite nobind persist-key persist-tun # Seus arquivos de conexão ca ca.crt cert dhiemeson.crt key dhiemeson.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC verb 3 === 15 - No passo 10, criamos as chaves do cliente. Para acessar de um computador remoto, você precisará dos arquivos criados do cliente, que são os listados abaixo e, também, o client.ovpn, criado no passo anterior: === /usr/local/etc/openvpn/easy-rsa/pki/private/dhiemeson.key /usr/local/etc/openvpn/easy-rsa/pki/ca.crt /usr/local/etc/openvpn/easy-rsa/pki/issued/dhiemeson.crt /usr/local/etc/openvpn/easy-rsa/pki/ta.key === 15 - De posse de todos os arquivos, baixe o cliebte para windows ou linux do OpenVPN e configure sua conexão e faça os testes: === ----------------- ~~DISCUSSION|Deixe sua contribuição~~