Openvpn on docker

Configuração do Servidor OpenVPN com Docker

Para começar, clone o repositório Git em seu servidor:

git clone https://github.com/kylemanna/docker-openvpn.git

Em seguida, mude para o diretório clonado:

cd docker-openvpn/

Construa uma nova imagem Docker a partir desses arquivos. Vamos chamá-la de myownvpn neste exemplo:

docker build -t myownvpn .

Depois, precisamos de um volume ou diretório para armazenar nossos arquivos de configuração e chaves. Este é um passo significativo, pois nossas chaves serão colocadas nesse diretório. Por isso, sugiro que você mantenha esse diretório seguro:

cd .. mkdir vpn-data && touch vpn-data/vars

Finalmente, podemos começar a gerar o arquivo de configuração do OpenVPN. Certifique-se de que o endereço IP esteja escrito no comando abaixo. Você pode alterar sua porta nessa etapa. Neste exemplo, usamos UDP 3000:

docker run -v $PWD/vpn-data:/etc/openvpn --rm myownvpn ovpn_genconfig -u udp://IP_ADDRESS:3000

Agora, vamos inicializar nossa Autoridade de Certificação (CA). Isso inclui a geração do certificado CA e teremos uma chave privada pertencente à CA. Será solicitada uma senha para proteger a chave privada:

docker run -v $PWD/vpn-data:/etc/openvpn --rm -it myownvpn ovpn_initpki

Finalmente, podemos executar o servidor VPN com base nessa configuração:

docker run -v $PWD/vpn-data:/etc/openvpn -d -p 3000:1194/udp --cap-add=NET_ADMIN myownvpn

Agora que o servidor está configurado, você pode criar usuários para se conectar ao servidor OpenVPN. Por exemplo, para criar um usuário chamado user1 sem senha:

docker run -v $PWD/vpn-data:/etc/openvpn --rm -it myownvpn easyrsa build-client-full user1 nopass

Por fim, para gerar um arquivo de configuração que será enviado ao usuário, execute o seguinte comando:

docker run -v $PWD/vpn-data:/etc/openvpn --rm myownvpn ovpn_getclient user1 > user1.ovpn

Você pode copiar o arquivo user1.ovpn usando SCP, SFTP ou qualquer método que preferir. Os usuários podem se conectar ao seu servidor com esse arquivo de configuração.

Este é um exemplo básico para configurar um servidor OpenVPN usando Docker. Lembre-se de ajustar os comandos e configurações de acordo com suas necessidades específicas.

Você achou esse artigo útil?