====== OpenVPN ====== O OpenVPN é um software de código aberto que implementa técnicas de rede privada virtual (VPN) para criar conexões seguras de ponto a ponto ou site para site em configurações roteadas de bridge e instalações de acesso remoto. Ele usa um protocolo de segurança personalizado que utiliza SSL/TLS para troca de chaves. É capaz de atravessar tradutores de endereços de rede (NATs) e firewalls. Foi escrito por James Yonan e é publicado sob a Licença Pública Geral GNU (GPL). O OpenVPN permite que os pares se autentiquem usando uma chave secreta, certificados ou nome de usuário pré-compartilhados. Quando usado em uma configuração multiclient-server, ele permite que o servidor libere um certificado de autenticação para cada cliente, usando a assinatura e a autoridade de certificação. Ele usa a biblioteca de criptografia OpenSSL extensivamente, bem como o protocolo SSLV3/TLSV1 e contém muitos recursos de segurança e controle. ===== Como usar o OpenVPN ===== É muito simples se você já recebeu uma configuração pronta para qualquer provedor OpenVPN. # openvpn --config yourconfig.ovpn Se você não tiver uma configuração que você pode usar, você precisa dar uma olhada em /etc/openvpn. O Slackware tem um exemplo de configuração com algumas boas dicas lá. ==== Usando OpenVPN com a barra de status do i3 ==== Eu estou usando o [[howtos:window_managers:i3wm|i3 window manager]] com dmenu e i3statusbar. Você pode configurar a barra para mostrar se você está executando o OpenVPN ou não. O i3status.conf está em /etc se instalado com o Slackbuild. Você precisa iniciar o openvpn com a opção --writepid /path/to/your.pid. Por examplo: openvpn --config /etc/openvpn/vpn.ovpn --writepid /var/run/pid/openvpn.pid Para usar o este recurso por padrão, você deve editar o arquivo de configuração. Procure pelo bloco: run_watch VPN { pidfile = "/var/run/something.pid" } e mude "something" para o pid name escolhido. Neste caso: run_watch VPN pidfile = "/var/run/openvpn.pid" } ===== Recontruindo o OpenVPN para o login a partir de um arquivo ===== Como eu queria que minha conexão OpenVPN iniciasse automaticamente quando eu conectar meu ThinkPad ao dock, achei que seria útil adicionar o recurso 'password safe'. (A configuração de 'password safe' permite que você armazene seu nome de usuário e senha em um arquivo para script) Esse recurso não é instalado por padrão. Você tem que adicioná-lo ao slackbuild e recompilar o pacote. Comece pegando a fonte e Slackbuild de um dos mirrors do Slackware. [[http://mirrors.slackware.com/slackware/slackware64-14.0/source/n/openvpn/]] Altere o mirror para suas necessidades, por exemplo para o -current. Na próxima etapa, vamos alterar o arquivo OpenVPN.SLackBuild. Abra o arquivo Slackbuild com seu editor de escolha. Para vim, faça: $ vim openvpn.SlackBuild Agora, procure por esse bloco de código: ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc/openvpn \ --localstatedir=/var \ --docdir=/usr/doc/openvpn-${VERSION} \ --enable-lzo \ --enable-iproute2 \ --build=$ARCH-slackware-linux Acrescente a linha identificada: ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc/openvpn \ --localstatedir=/var \ --docdir=/usr/doc/openvpn-${VERSION} \ --enable-lzo \ --enable-iproute2 \ --enable-password-save \ #adicione essa linha! --build=$ARCH-slackware-linux Salve o arquivo, faça dele um executável e reconstrua o pacote com $ chmod +x openvpn.SlackBuild && ./openvpn.SlackBuild o novo pacote estará na pasta /tmp. Instale-o com: # upgradepkg --install-new /tmp/yourpackage.tgz Agora você deverá ser capaz de carregar seu login e senha de um arquivo. O arquivo deve conter duas linhas de texto: username password Salve o arquivo e faça ele legível apenas para o proprietário: $ chmod 700 yourfile Por fim, adicione a linha abaixo à sua configuração OpenVPN. auth-user-pass /path/to/your/passwordfile Agora você deve ser capaz de fazer login sem digitar sua senha toda vez. ====== Fontes ====== * Wikipédia: [[http://pt.wikipedia.org/wiki/Openvpn]] * Originalmente escrito por [[wiki:user:comfree | comfree]] {{tag>howtos openvpn slackbuild security translator_carriunix}}