introduction
OpenVPN est un VPN sécurisé qui utilise SSL (Secure Socket Layer) et offre une large gamme de fonctionnalités. Dans ce guide, nous couvrirons le processus d'installation d'OpenVPN sur Ubuntu 16 en utilisant l'autorité de certification hébergée easy-rsa.
Installer
Pour commencer, nous avons besoin de certains packages installés:
sudo su
apt-get update
apt-get install openvpn easy-rsa
Autorité de certification
OpenVPN est un VPN SSL, ce qui signifie qu'il agit en tant qu'autorité de certification afin de crypter le trafic entre les deux parties.
Installer
Nous pouvons commencer par configurer l'autorité de certification de notre serveur OpenVPN en exécutant la commande suivante:
make-cadir ~/ovpn-ca
Nous pouvons maintenant basculer dans notre nouveau répertoire créé:
cd ~/ovpn-ca
Configurer
Ouvrez le fichier avec le nom vars
et jetez un œil aux paramètres suivants:
export KEY_COUNTRY="US"
export KEY_PROVINCE="NJ"
export KEY_CITY="Matawan"
export KEY_ORG="Your Awesome Organization"
export KEY_EMAIL="me@your_awesome_org.com"
export KEY_OU="YourOrganizationUnit"
Et modifiez-les avec vos propres valeurs. Nous devons également rechercher et modifier la ligne suivante:
export KEY_NAME="server"
Construire
Nous pouvons maintenant commencer à créer notre autorité de certification en exécutant la commande suivante:
./clean-all
./build-ca
Ces commandes peuvent prendre quelques minutes.
Clé de serveur
Maintenant, nous pouvons commencer à construire la clé de notre serveur en exécutant la commande suivante:
./build-key-server server
Alors que le server
champ doit être remplacé par KEY_NAME
nous avons défini dans le vars
fichier plus tôt. Dans notre cas, nous pouvons garder server
.
Le processus de construction de la clé de notre serveur peut poser quelques questions, comme l'expiration de lui-même. Nous répondons à toutes ces questions avec y
.
Clé forte
Dans l'étape suivante, nous créons une Diffie-Hellman
clé forte qui sera utilisée lors de l'échange de nos clés. Tapez la commande suivante pour en créer une:
./build-dh
HMAC
Nous pouvons maintenant créer une signature HMAC pour renforcer la vérification d'intégrité TLS du serveur:
openvpn --genkey --secret keys/ta.key
Générer une clé client
./build-key client
Une fois que nous avons créé avec succès notre propre autorité de certification, nous pouvons commencer par copier tous les fichiers nécessaires et configurer OpenVPN lui-même. Maintenant, nous allons copier les clés et certificats générés dans notre répertoire OpenVPN:
cd keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
cd ..
Ensuite, nous pouvons copier un exemple de fichier de configuration OpenVPN dans notre répertoire OpenVPN en exécutant la commande suivante:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | tee /etc/openvpn/server.conf
Modifier la configuration
Nous pouvons maintenant commencer à éditer notre configuration pour l'adapter à nos besoins. Ouvrez le fichier /etc/openvpn/server.conf
et décommentez les lignes suivantes:
push "redirect-gateway def1 bypass-dhcp"
user nobody
group nogroup
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
tls-auth ta.key 0
Nous devons également ajouter une nouvelle ligne à notre configuration. Placez la ligne suivante sous la tls-auth
ligne:
key-direction 0
Autoriser le transfert
Parce que nous voulons permettre à nos clients d'accéder à Internet via notre serveur, nous ouvrons le fichier suivant /etc/sysctl.conf
et décommentons cette ligne:
net.ipv4.ip_forward=1
Maintenant, nous devons appliquer les modifications:
sysctl -p
NAT
Afin de fournir un accès Internet à nos clients VPN, nous devons également créer une règle NAT. Cette règle est une ligne courte qui ressemble à ceci:
iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE
Début
Nous pouvons maintenant démarrer notre serveur OpenVPN et laisser les clients se connecter en tapant la clé suivante:
service openvpn start
Conclusion
Ceci conclut notre tutoriel. Profitez de votre nouveau serveur OpenVPN!