Configurez votre propre réseau privé avec OpenVPN

Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez que deux serveurs dans des pays / centres de données différents puissent communiquer de manière privée et sécurisée. Ce tutoriel vous montrera comment y parvenir avec l'aide d'OpenVPN. Les systèmes d'exploitation utilisés ici sont Debian et CentOS, juste pour vous montrer deux configurations différentes. Cela peut être facilement adapté pour Debian -> Debian, Ubuntu -> FreeBSD et ainsi de suite.

  • Machine 1: Debian, servira de serveur (Emplacement: NL)
  • Machine 2: CentOS, agira en tant que client (Emplacement: FR)

Machine 1

Démarrez sur la machine 1 en installant OpenVPN:

apt-get install openvpn

Ensuite, copiez l'exemple de configuration et l'outil de génération de clés easy-rsa, dans /etc/openvpn:

cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn

Les valeurs par défaut de vos clés ne sont plus exactement sûres, pour résoudre ce problème /etc/openvpn/easy-rsa/2.0/varsavec votre éditeur de texte préféré et modifier la ligne suivante:

export KEY_SIZE=4096

Ensuite, assurez-vous que les valeurs sont chargées dans votre session en cours, nettoyez éventuellement les clés existantes et générez votre autorité de certification:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./clean-all
./build-ca

Vous serez invité à fournir des informations. Facilitez-vous la vie en fournissant des informations sur votre serveur, par exemple, où il se trouve et ce que le FQDN est / sera. Ceci est utile lorsque vous devez déboguer des problèmes:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [changeme]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

Une autre nécessité concerne les paramètres de l'échange de clés Diffie-Hellman. Celles-ci doivent également être générées:

./build-dh

Important : La build-dhcommande est un processus relativement complexe qui peut prendre jusqu'à dix minutes, selon les ressources de votre serveur.

Pour améliorer encore la sécurité de cette connexion, nous allons générer un secret statique qui doit être distribué à tous les clients:

mkdir /etc/openvpn/keys
openvpn --genkey --secret /etc/openvpn/keys/ta.key

Maintenant, vous pouvez générer la clé du serveur:

./build-key-server server1

Cette commande vous demandera des informations:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [server1]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

La dernière étape consiste à signer la demande de certificat qui vient d'être générée avec la clé de l'autorité de certification:

1 out of 1 certificate requests certified, commit? [y/n]y

Copiez les clés et certificats nécessaires dans un dossier séparé:

cd /etc/openvpn/easy-rsa/2.0/keys
cp dh4096.pem ca.crt server1.crt server1.key /etc/openvpn/keys/
chmod 700 /etc/openvpn/keys
chmod 600 /etc/openvpn/keys/*

Maintenant pour la configuration, décompressez-la ...

cd /etc/openvpn
gunzip server.conf.gz

... et ouvrez le résultat server.confavec votre éditeur de texte préféré. La configuration devrait ressembler à ceci:

port 1194
proto udp
dev tun

ca keys/ca.crt
cert keys/server1.crt
key keys/server1.key 
dh keys/dh4096.pem
server 10.8.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Uncomment this if you have multiple clients
# and want them to be able to see each other
;client-to-client

keepalive 10 120
tls-auth keys/ta.key 0 

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384
comp-lzo

user nobody
group nogroup

persist-key
persist-tun
verb 3
mute 20

Après avoir redémarré le service, vous devriez regarder un peu votre journal ...

service openvpn restart && tail -f /var/log/syslog

... pour vous assurer que tout fonctionne. Si aucune erreur n'est détectée, vous pouvez générer les clés de votre deuxième serveur:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./build-key server2

Encore une fois, vous serez invité à fournir des informations:

Country Name (2 letter code) [US]:FR
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter FR
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) 
[server2]:yourserver2.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

Maintenant, vous devez transférer les fichiers nécessaires sur votre deuxième serveur, de préférence cryptés:

cd /etc/openvpn/easy-rsa/2.0/keys
cp /etc/openvpn/keys/ta.key .
tar -cf vpn.tar ca.crt server2.crt server2.key ta.key
scp vpn.tar yourusername@server2:~/
rm vpn.tar

Machine 2

Il est temps de passer à la connexion SSH de votre deuxième serveur . La première étape consiste à installer OpenVPN ...

yum install openvpn

... et pour désactiver firewalld. Le remplacement sera de simples iptables.

systemctl stop firewalld
systemctl disable firewalld

Décompressez l'archive que vous venez de déplacer sur le serveur et définissez correctement les autorisations sur les fichiers:

cd /etc/openvpn
mkdir keys
chmod 700 keys
cd keys
tar -xf ~/vpn.tar -C .
chmod 600 *

Créez /etc/openvpn/client.confavec votre éditeur de texte préféré. Ça devrait ressembler à ça:

client
dev tun
proto udp

remote yourserver yourport
resolv-retry infinite
nobind
user nobody
group openvpn


persist-key
persist-tun

ca keys/ca.crt
cert keys/server2.crt
key keys/.key

ns-cert-type server
tls-auth keys/ta.key 1

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384

remote-cert-tls server

comp-lzo
verb 3
mute 20

La dernière étape consiste à démarrer et activer le service:

systemctl start openvpn@client.service
systemctl enable openvpn@client.service

Si tout fonctionne, vous ne devriez avoir aucun problème à envoyer une requête ping au premier serveur:

PING 10.8.100.1 (10.8.100.1) 56(84) bytes of data.
64 bytes from 10.8.100.1: icmp_seq=1 ttl=64 time=17.8 ms
64 bytes from 10.8.100.1: icmp_seq=2 ttl=64 time=17.9 ms
64 bytes from 10.8.100.1: icmp_seq=3 ttl=64 time=17.8 ms

Vous avez maintenant une connexion privée sur Internet!

Si vous devez résoudre les erreurs, essayez de vérifier les journaux avec la commande suivante:

journalctl -xn


Leave a Comment

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.