124 private links
VPN
Installation
apt-get install openvpn
Une fois l’installation terminée, on va se déplacer dans le répertoire d’installation
Ensuite un créé un dossier de travail
cd /etc/openvpn/
mkdir easy-rsa
cp -r /usr/share/easy-rsa/ /etc/openvpn
passons à la génération des clés et certificats :
cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-dh
Attendre la fin de la génération
./pkitool --initca
Attendre la fin de la génération
./pkitool --server server
openvpn --genkey --secret keys/ikipatang.key
On patiente… ne vous inquiétez pas, c’est très rapide (remplacez cachem.key par nom que vous souhaitez) . Maintenant, on va copier les clés et certificats à la racine d’OpenVpn
cd /etc/openvpn/easy-rsa/keys
cp ca.crt dh2048.pem server.crt server.key ikipatang.key ../../
Création du fichier de configuration
echo "
# Server TCP/5678
mode server
proto tcp
port 5678
dev tun
# Certificates and keys
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
tls-auth ikipatang.key 0
cipher AES-256-CBC
# Network
server 10.10.10.0 255.255.255.0
push \"redirect-gateway def1 bypass-dhcp\"
push \"dhcp-option DNS 208.67.222.222\"
push \"dhcp-option DNS 208.67.220.220\"
keepalive 10 120
client-config-dir static_clients
# Security
user nobody
group nogroup
chroot /etc/openvpn/jail
persist-key
persist-tun
comp-lzo
duplicate-cn
#crl-verify keys/crl.pem # Certificat Revoke List
# Log
verb 3
mute 20
status openvpn-status.log
log-append /var/log/openvpn/openvpn.log
" > /etc/openvpn/server.conf
Cration des fichiers d'exécutions et vérification de la conf
mkdir -p /etc/openvpn/jail/tmp
mkdir -p /etc/openvpn/jail/static_clients
mkdir /etc/openvpn/confuser
mkdir /var/log/openvpn
cd /etc/openvpn
openvpn server.conf
Si un ctrl + c a été nécessaire, c'est que tout fonctionne.
cat /var/log/openvpn/openvpn.log | grep "Initialization Sequence Completed"
Configuration du routage
echo 1 > /proc/sys/net/ipv4/ip_forward
sed -i /etc/sysctl.conf -e "s/^#net\.ipv4\.ip_forward=1.*/net\.ipv4\.ip_forward=1/"
Démarrage du serveur
chmod +x /root/daemon_management/*.sh
/root/daemon_management/start_openvpn.sh
Access logs
cd
ln -s /etc/openvpn/openvpn-status.log openvpn-status.log
cat openvpn-status.log
Utilisateurs
Grant access
Création du user
cd /etc/openvpn/easy-rsa
source vars
./build-key-pass {client}
Créaton du répertoire de stockage de la conf user
mkdir /etc/openvpn/confuser/{client}/
Copie des données user
cp /etc/openvpn/ca.crt /etc/openvpn/ikipatang.key keys/{client}.crt keys/{client}.key /etc/openvpn/confuser/{client}/
cd /etc/openvpn/confuser/{client}/
Création du fichier de conf du user
echo "
# User
client
dev tun
proto tcp-client
remote 5.39.87.27 5678
resolv-retry infinite
cipher AES-256-CBC
# Certificates and keys
#askpass /storage/.config/vpn-config/{client}/stdin.txt # Linux path
#askpass stdin.txt # Windows path
ca ca.crt
cert {client}.crt
key {client}.key
tls-auth ikipatang.key 1
key-direction 1
# Security
nobind
persist-key
persist-tun
comp-lzo
verb 3
" > /etc/openvpn/confuser/{client}/{client}.conf
cp /etc/openvpn/confuser/{client}/{client}.conf /etc/openvpn/confuser/{client}/{client}.ovpn
Revoke access
Révocation des droits
cd /etc/openvpn/easy-rsa
source vars
./revoke-full {client}
/!\ Bien souvent il y a une erreur 23
Erreur de révocation
Vérifier que le certificat est révoqué
cat keys/index.txt
Génération du fichier de control de permission
openssl crl -in keys/crl.pem -text
Copie et activation dans la conf
cp -a keys/crl.pem /etc/openvpn/jail/keys/
chmod 755 /etc/openvpn/jail/keys/
sed -i /etc/openvpn/server.conf -e "s/^#crl-verify/crl-verify/"
Redémarrer openvpn
En cas de reboot serveur, relire sysctl -p et la conf iptable