-
Notifications
You must be signed in to change notification settings - Fork 0
/
create_ovpn.sh
executable file
·42 lines (32 loc) · 1.58 KB
/
create_ovpn.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
# Definir variável do domínio VPN
#Deve conter o dns do servidor onde rodará seu servidor VPN...
VPN_DOMAIN="YOURDOMAIN.COM" # Substitua pelo seu domínio VPN
echo "Iniciando a configuração do OpenVPN para o domínio $VPN_DOMAIN..."
# Diretório para dados de configuração do OpenVPN
VPN_DATA="./openvpn-data"
# Criar diretório de dados do OpenVPN se não existir
if [ ! -d "$VPN_DATA" ]; then
mkdir -p $VPN_DATA
echo "Diretório de dados $VPN_DATA criado."
fi
# Gerar configuração do OpenVPN e certificados CA
echo "Gerando configuração do OpenVPN e certificados CA..."
docker run -v $PWD/openvpn-data:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://$VPN_DOMAIN
docker run -v $PWD/openvpn-data:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
# Solicitar o nome do cliente
echo -n "Digite o nome do cliente VPN e pressione [ENTER]: "
read CLIENTNAME
# Verificar se o CLIENTNAME foi fornecido
if [ -z "$CLIENTNAME" ]; then
echo "Nome do cliente não fornecido. Saindo..."
exit 1
fi
# Gerar certificado de cliente
echo "Gerando certificado para o cliente $CLIENTNAME..."
docker run -v $PWD/openvpn-data:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full $CLIENTNAME nopass
# Extrair arquivo de configuração .ovpn para o cliente
echo "Extraindo arquivo de configuração .ovpn para $CLIENTNAME..."
docker run -v $PWD/openvpn-data:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient $CLIENTNAME > $CLIENTNAME.ovpn
echo "Configuração do OpenVPN concluída."
echo "Arquivo de configuração .ovpn para o cliente $CLIENTNAME está pronto."