GNU/Linux >> Tutoriels Linux >  >> Panels >> OpenVPN

Configuration d'un serveur OpenVPN avec Red Hat Linux et Viscosity

Les réseaux privés virtuels (VPN) peuvent être utilisés pour un certain nombre d'applications très utiles. Vous pouvez vous connecter en toute sécurité à n'importe quel point d'accès Wi-Fi public. Vous pouvez surmonter les restrictions de blocage géographique sur vos sites Web préférés. Et vous pouvez même vous connecter à votre réseau domestique ou professionnel depuis n'importe où dans le monde, comme si vous étiez assis à votre bureau. Ce guide vous guidera tout au long du processus de configuration de votre propre serveur OpenVPN et de connexion avec votre copie de Viscosity.

L'exécution de votre propre serveur OpenVPN vous permettra de crypter tout ce que vous faites sur Internet, afin que vous puissiez effectuer vos opérations bancaires en ligne en toute sécurité sur le WiFi gratuit de votre café préféré. Tout ce que vous envoyez via la connexion VPN sera crypté depuis votre appareil jusqu'à ce qu'il atteigne votre serveur OpenVPN à la maison. La configuration de votre serveur OpenVPN pour accéder à votre réseau domestique ou professionnel vous donne un accès complet à tous vos fichiers sur votre réseau.

Ce guide vous guidera à travers les étapes de configuration d'un serveur OpenVPN sur un hôte Red Hat Linux qui vous permet d'accéder en toute sécurité à votre réseau domestique/bureau à partir d'un emplacement distant et éventuellement d'y envoyer tout votre trafic réseau afin que vous puissiez accéder Internet en toute sécurité également.

Préparation

Pour ce guide, nous supposons :

  • Vous avez déjà installé la dernière version de Red Hat Enterprise Linux (8.4 au moment de la rédaction)
  • Vous avez racine accéder à cette installation
  • Connaître le nom de vos interfaces réseau (instructions juste en dessous)
  • Cette installation de Red Hat est une nouvelle installation
  • Vous avez déjà installé une copie de Viscosity sur votre appareil client

Si vous avez besoin de télécharger et d'installer une copie de Red Hat, une copie d'évaluation est disponible à l'adresse https://access.redhat.com/products/re.../evaluation. Nous ne couvrirons pas les détails de la configuration d'une instance Red Hat, de nombreux guides sont disponibles en ligne. Si vous exécutez une version différente de Red Hat, il est très probable que la plupart, voire la totalité, des étapes décrites dans ce guide s'appliqueront toujours. Si vous cherchez à configurer un serveur OpenVPN sur un système d'exploitation différent, veuillez consulter nos autres guides.

Si vous n'avez pas de copie de Viscosity déjà installée sur votre client, veuillez consulter ce guide d'installation pour installer Viscosity (Mac | Windows).

Pour obtenir le nom de votre interface réseau principale (accès WAN), exécutez ce qui suit sur votre serveur RHEL :
ip route | grep default | awk 'NR==1 {print $(NF-4)}'

Si vous disposez d'une deuxième interface réseau pour accéder aux machines de votre réseau local, vous aurez également besoin de son nom lors de la configuration du pare-feu et du routage.

Soutien

Malheureusement, nous ne pouvons fournir aucune assistance directe pour la configuration de votre propre serveur OpenVPN. Nous fournissons ce guide à titre gracieux pour vous aider à démarrer et à tirer le meilleur parti de votre copie de Viscosity. Nous avons soigneusement testé les étapes de ce guide pour nous assurer que, si vous suivez les instructions détaillées ci-dessous, vous devriez être sur la bonne voie pour profiter des avantages de l'exécution de votre propre serveur OpenVPN.

Pour plus d'informations ou de l'aide avec RHEL, une assistance est disponible sur https://www.redhat.com/en/services/support

D'innombrables communautés et forums RHEL sont également facilement consultables sur Internet.

Accéder à l'interface de ligne de commande

Les étapes décrites dans ce guide sont effectuées via l'interface de ligne de commande (c'est-à-dire le terminal) sur votre serveur RHEL. Si vous exécutez ce serveur à distance, vous devrez utiliser l'application SSH pour vous connecter en toute sécurité entre votre appareil client et le serveur (pour "SSH dans" votre serveur). Si vous configurez votre serveur OpenVPN sur un serveur privé virtuel (VPS), vous ne connaissez peut-être que l'interface Web. De nombreux fournisseurs de VPS proposent un accès SSH en plus de l'interface Web. Veuillez consulter votre fournisseur VPS pour plus de détails.

Si vous débutez avec SSH, nous avons quelques instructions dans notre guide d'introduction.

Mise en route

Une fois connecté à root, nous devons nous assurer que le référentiel de Red Hat est à jour en tapant ce qui suit :

yum update

Cela parcourra et mettra à jour les packages préinstallés. Si des mises à jour sont trouvées, il vous sera demandé si vous souhaitez continuer. Confirmez que vous le faites en saisissant y . Vous pouvez être informé que vous devez redémarrer une fois les mises à niveau du package terminées. Si tel est le cas, assurez-vous de vous reconnecter au terminal en tant que root après le redémarrage.

Ensuite, nous devrons installer EPEL (Extra Packages for Enterprise Linux), car il contient le package OpenVPN. Pour RHEL 8, exécutez la commande suivante :

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
ARCH=$( /bin/arch )
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"

Pour les autres versions de RHEL, veuillez suivre les instructions EPEL ici .

Installez ensuite OpenVPN :

yum install openvpn -y

Génération de configurations, de certificats et de clés

L'étape suivante consiste à générer vos configurations pour le serveur et vos clients ainsi que les certificats qui les accompagnent. Vous pouvez le faire facilement en suivant le Guide de création de certificats et de clés. Vous pouvez soit suivre la section pour Linux en utilisant le programme d'installation RHEL RPM et copier vos configurations client hors du serveur (nous vous le recommandons), soit tout générer sur votre PC ou Mac et copier le serveur dossier qui est généré sur votre serveur RHEL.

Si vous utilisez le serveur DNS par défaut (10.8.0.1), vous devrez configurer vous-même un serveur DNS, les instructions se trouvent à la fin de cet article. Nous vous recommandons plutôt d'utiliser un serveur DNS existant, un serveur DNS accessible au public comme celui de Google (8.8.8.8 et 8.8.4.4) est le plus simple.

Une fois que vous avez généré vos configurations, vous devrez transférer la configuration du serveur vers votre serveur ou transférer vos configurations client hors de votre serveur. Si vous avez un accès local, une clé USB est la plus simple. Sinon, nous avons de l'aide sur la façon de transférer des fichiers avec SCP dans notre guide d'introduction.

Transfert IP

Afin de transmettre nos requêtes passant par le VPN, nous voulons que le serveur OpenVPN agisse comme un routeur. En tant que tel, nous devons activer le transfert IP.

  1. Dans le terminal, nous pouvons activer le transfert IP sur le serveur Red Hat en saisissant :
    echo 1 > /proc/sys/net/ipv4/ip_forward
  2. Pour nous assurer que les hôtes du réseau domestique/bureau peuvent trouver le serveur VPN, nous devons faire en sorte que le serveur réponde à toutes les requêtes ARP :
    echo 1 > /proc/sys/net/ipv4/conf/ens33/proxy_arp
    ens33 est l'interface réseau du réseau domestique/bureau si vous avez deux interfaces réseau, ou votre
  3. Chaque fois que nous redémarrons le serveur, ces commandes seront annulées. Pour nous assurer que cela ne se produise pas, nous devons modifier le fichier sysctl.conf :
    nano /etc/sysctl.conf
  4. Ajoutez les lignes suivantes au bas de ce fichier :
    net.ipv4.ip_forward = 1
    et
    net.ipv4.conf.ens33.proxy_arp = 1
  5. Appuyez sur ctrl + x pour quitter nano. Enregistrez les modifications lorsque vous y êtes invité.
  6. Pour activer les modifications apportées au fichier sysctl.conf, saisissez :
    sysctl -p /etc/sysctl.conf

Règles de pare-feu

Nous utiliserons le firewalld pare-feu installé par défaut sur Red Hat. Si vous installez OpenVPN sur un serveur qui a déjà sa propre configuration de pare-feu, assurez-vous d'ajouter les règles pour autoriser notre trafic OpenVPN. Cependant, s'il ne s'agit que d'un simple serveur Red Hat autonome, les paramètres de pare-feu ci-dessous devraient être suffisants pour que votre serveur OpenVPN soit opérationnel.

  1. Autoriser openvpn service :
    firewall-cmd --permanent --add-service=openvpn
    firewall-cmd --add-service=openvpn
  2. Configurez le serveur OpenVPN pour qu'il fournisse le mascarade :
    firewall-cmd --permanent --add-masquerade
    firewall-cmd --add-masquerade
  3. Autoriser le port OpenVPN (1194) :
    firewall-cmd --permanent --add-port=1194/udp
  4. Autoriser le port DNS (53) :
    firewall-cmd --permanent --add-port=53/udp
  5. Redémarrez le pare-feu avec ces nouveaux paramètres :
    firewall-cmd --reload

Démarrage du serveur OpenVPN

À ce stade, les bases sont terminées. La configuration et les fichiers de votre serveur doivent être copiés sur votre serveur à partir de l'endroit où vous les avez générés.

Tout d'abord, copiez les fichiers de configuration du serveur dans le répertoire OpenVPN :

sudo cp /path/to/configs/server/* /etc/openvpn/

Maintenant, démarrez votre serveur et activez-le pour qu'il démarre également après un redémarrage.

systemctl -f enable [email protected]
systemctl start [email protected]

Pour vérifier l'état du serveur, saisissez :

systemctl -l status [email protected]

À laquelle il devrait répondre avec le statut et en vert vous devriez voir :

...
Active: active (running)
...

Votre serveur OpenVPN est maintenant opérationnel et prêt à vous connecter.

Configuration de la viscosité

La dernière étape consiste à configurer la viscosité. Grâce à openvpn-generate, c'est aussi simple que d'importer et de se connecter.

Importation

Copiez votre fichier *.visz que vous avez créé avec openvpn-generate sur votre ordinateur Mac ou Windows avec Viscosity installé et double-cliquez sur le fichier. Vous devriez voir une invite indiquant que la configuration a été importée avec succès.

Connexion et utilisation de votre connexion VPN

Vous êtes maintenant prêt à vous connecter. Cliquez sur l'icône Viscosity dans la barre de menus macOS ou dans la barre d'état système de Windows pour ouvrir le menu Viscosity, sélectionnez la connexion que vous avez importée et Viscosity se connectera.

Pour vérifier que le VPN est opérationnel, vous pouvez ouvrir la fenêtre Détails à partir du menu Viscosité. Cela vous permettra de voir les détails de connexion, le trafic et le journal OpenVPN.



Ça y est, vous avez configuré votre propre serveur OpenVPN. Félicitations, vous êtes maintenant libre de profiter des avantages d'exploiter votre propre serveur OpenVPN !

Serveur DNS de base

Si vous choisissez d'exécuter votre propre serveur DNS pour les clients, voici un exemple de configuration pour un serveur DNS de liaison.

  1. Pour installer le serveur DNS, saisissez :
    yum install bind bind-utils bind-libs bind-chroot
  2. Pour configurer les règles de transfert de notre serveur DNS, nous allons modifier le fichier de configuration :
    nano /etc/named.conf
  3. En haut, vous verrez une collection d'instructions entre accolades étiquetées options . Insérez les deux lignes suivantes au bas de la liste des options :
    forwarders {8.8.8.8;8.8.4.4;}; #IP of upstream nameservers
    forward only; #rely completely on our upstream nameservers
    où nous utilisons les serveurs DNS de Google (vous êtes libre d'utiliser le service de résolution DNS de votre choix).
  4. Ajoutez le sous-réseau VPN (10.8.0.0/24) à l'écoute et allow-query paramètres en haut des options pour qu'ils ressemblent maintenant :
    ...
    listen-on port 53 { 10.8.0.0/24;127.0.0.1; };
    ...
    allow-query {10.8.0.0/24;localhost; };
    ...
  5. Appuyez sur ctrl + x pour quitter nano. Enregistrez les modifications lorsque vous y êtes invité.
  6. Définissez les autorisations du fichier de configuration sur 644 :
    chmod 644 /etc/named.conf

Comme ce fichier de conf est sensible aux erreurs, nous pouvons le vérifier en tapant :

named-checkconf /etc/named.conf

Si votre fichier de configuration ne contient aucune erreur, cette commande ne renverra rien.

  1. Ouvrir la liste des serveurs de noms :
    nano /etc/resolv.conf
  2. Définissez le résolveur de serveur pour qu'il pointe vers lui-même :
    nameserver 127.0.0.1
  3. Appuyez sur ctrl + x pour quitter nano. Enregistrez les modifications lorsque vous y êtes invité.
  4. Si votre serveur Red Hat est exécuté sur un routeur avec un service DHCP, vous devez vous assurer que le fichier resolv.conf n'est pas écrasé lors du renouvellement du bail DHCP. Saisissez :
    nano /etc/sysconfig/network-scripts/ifcfg-ens32
    Remplacez ens33 par le nom de votre interface réseau principale s'il est différent (voir la section Préparation pour plus d'informations)
  5. Assurez-vous que les trois paramètres suivants sont définis :
    BOOTPROTO=dhcp
    PEERDNS=no
    TYPE=Ethernet
  6. Appuyez sur ctrl + x pour quitter nano. Enregistrez les modifications lorsque vous y êtes invité.
  7. Pour démarrer le serveur DNS, saisissez :
    systemctl start named
  8. Activer le démarrage automatique du serveur DNS au démarrage du système :
    systemctl enable named

Ça y est, le serveur DNS est maintenant configuré.


OpenVPN
  1. Comment ajouter des référentiels à Red Hat Linux avec et sans proxy

  2. Le moyen le plus simple d'installer et de configurer le serveur OpenVPN sous Linux

  3. Enregistrez Red Hat Enterprise Linux et attachez un abonnement avec Ansible

  4. Configurer un serveur Obfuscation avec Obfsproxy et Viscosity

  5. Configurer un serveur OpenVPN avec CentOS et Viscosity

Configurer un serveur OpenVPN avec Synology et Viscosity

Configuration d'un serveur OpenVPN avec Tomato router et Viscosity

Configuration d'un serveur OpenVPN avec Ubiquiti EdgeRouter (EdgeOS) et Viscosity

Configurer un serveur OpenVPN avec Ubuntu et Viscosity

Configurer un serveur OpenVPN avec VyOS et Viscosity

Configurer un serveur NFS avec Linux clé en main