Neste tutorial, irei configurar um servidor Open VPN no Docker com a CloudSigma. Com as localizações de nuvem da CloudSigma espalhadas por todo o globo, você pode criar um servidor em qualquer uma delas e acessar o conteúdo a partir de lá.
Criando a máquina
Primeiro, estou criando uma máquina com os seguintes recursos:
20 GHz CPU
16 GB RAM
20 GB SSD
Estou montando o disco com a imagem do Ubuntu 18.04 disponível na biblioteca da CloudSigma.
Ubuntu 18.04 : Pré-instalado de 64 bits com drivers VirtIO, superusuário, Python 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init e atualizações mais recentes até 30-09-2018.
Atualizando todos os repositórios e pacotes existentes na máquina.
|
1 2 |
sudo apt update sudo apt upgrade |
Agora que o nosso sistema está atualizado, irei avançar para a instalação do Docker. Para mais informações sobre o Docker, por favor verifique aqui.
Instalando o Docker
Posso instalar o Docker executando os seguintes comandos:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce |
OpenVPN
Agora que o Docker foi instalado com sucesso, posso começar a colocar o OpenVPN Access Server para funcionar nele. A seguir está o comando para criar um novo container Docker do OpenVPN Access Server com a configuração especificada.
|
1 2 3 4 5 6 7 8 |
docker create \ --name=openvpn-as \ -v <path to data>:/config \ -e PGID=<gid> -e PUID=<uid> \ -e TZ=<timezone> \ -e INTERFACE=<interface> \ --net=host --privileged \ linuxserver/openvpn-as |
Os seguintes comandos são mencionados na página da imagem do Docker.
Onde o openvpn-as deve armazenar os arquivos de configuração:
|
1 |
-v /config |
Para GroupID:
|
1 |
-e PGID |
Usado para UserID:
|
1 |
-e PUID |
Para a configuração de fuso horário:
|
1 |
-e TZ |
Definindo a interface para o openvpn-as, o padrão é eth0:
|
1 |
-e INTERFACE |
IMPORTANTE, para a maioria dos usuários, precisa operar no modo host:
|
1 |
--net=host |
IMPORTANTE, não funcionará a menos que esteja no modo privilegiado:
|
1 |
--privileged |
Para obter o ID do grupo e o ID do usuário, execute o seguinte comando:
|
1 |
id |
Estou definindo o fuso horário como CET.
Para a interface, execute o seguinte comando:
|
1 |
ip r |
A interface geralmente seria ens3 ou eth0. No meu sistema, é ens3.
Depois de adicionar todas essas coisas, estou executando o seguinte comando:
|
1 2 3 4 5 6 7 8 |
docker createname --openvpn=as-restart \ --always=v \ -home /docker/openvpn/as-config/config:/e \ -INTERFACE ens3=e \ -PGID e=1004 -PUID e=1000 \ -TZ Europe=Warsaw/net \ --host=privileged --linuxserver \ openvpn/as-
Como ainda não temos a imagem em nosso sistema, a imagem será baixada do servidor. O resultado será: |
Since we don’t have the image already in our system, the image will be pulled from the server. The output would be:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Incapaz de encontrar imagem 'linuxserver/openvpn-as:latest' localmente latest: Baixando de linuxserver/openvpn-as 56d9dc91333b: Pull completo 1356b0cfc067: Pull completo 155f3c53d4a5: Pull completo 05088c205b6d: Pull completo 112068b0fa4e: Pull completo 2ff5dd4a0d9b: Pull completo 7dd87385ca73: Pull completo d966d969c7cd: Pull completo 4439dbcda217: Pull completo 5f960f89c64e: Pull completo Digest: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 Status: Baixada mais recente imagem para linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
Iniciando o container com este comando:
|
1 |
sudo docker start openvpn-as |
Fazer login
Agora que o iniciei, irei para o painel de administração do servidor de acesso.
Acessando a URL: https://<<YourIpAddress>>:943/admin

Será solicitado o nome de usuário e a senha, que por padrão são:
Nome de usuário: admin
Senha: password

Agora que fiz login, ele pergunta se aceito o EULA (Contrato de Licença de Usuário Final). Clicando em Concordar e indo para o painel de administração.

É recomendável alterar a senha da conta de administrador por motivos de segurança. Estou alterando-a usando o seguinte comando:
|
1 |
docker exec -it openvpn-as passwd admin |
Configurando o DNS
Agora que nosso servidor está ativo e em execução, gostaríamos de configurar o DNS nele. Para mais informações sobre Servidores de Nome de Domínio (DNS), clique aqui.
Um dos servidores DNS mais rápidos é o do Google. Vou configurar isso no meu OpenVPN Access Server, para que meus clientes possam navegar pelos sites facilmente.
Vou para as configurações de VPN e, em configurações de DNS, ativarei “Have clients use specific DNS servers.”

Em seguida, inserirei os seguintes endereços nas colunas do Servidor DNS:
Servidor DNS Primário: 8.8.8.8
Servidor DNS Secundário: 8.8.8.4

Salve as configurações e clique em “Update Running Server”. Isso atualizará o servidor em execução.
Agora que configurei o servidor com sucesso, posso prosseguir para me conectar à VPN através do meu sistema.
Acessando a interface do cliente em: https://<<YourIpAddress>>:943.
Insira o nome de usuário do administrador, a senha do administrador ou crie um novo usuário na seção User Management do painel de administração.
Assim que eu fizer login, ele me dará várias opções para diferentes sistemas operacionais. Seleciono o Windows e baixo o software do cliente.

Agora que está instalado, posso iniciá-lo a partir do Menu Iniciar ou ele será iniciado automaticamente. A partir da bandeja do sistema, posso me conectar à VPN usando a conta que configurei anteriormente.

E estou conectado à VPN. Et Voila! É assim que você cria um servidor VPN no Docker.
Comentários
Nenhum comentário ainda. Seja o primeiro.