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

Configurer un serveur OpenVPN avec DD-WRT 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 une instance DD-WRT 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.

Étant donné que DD-WRT est principalement utilisé sur le matériel du routeur, nous supposerons que l'instance DD-WRT dispose d'une connexion directe à Internet et de sa propre adresse IP. Par conséquent, nous n'examinerons aucun problème lié au fait d'avoir votre instance DD-WRT derrière un autre routeur.

Préparation

Pour ce guide, nous supposons :

  • Vous avez déjà installé la version appropriée de DD-WRT pour votre matériel de routeur
  • DD-WRT a été configuré avec au moins une interface WAN et une interface LAN
  • Vous êtes connecté avec votre appareil client au serveur DD-WRT via son interface LAN pendant ce guide
  • Cette installation de DD-WRT 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 DD-WRT, vous trouverez des informations à l'adresse http://www.dd-wrt.com/wiki/index.php/Installation. Nous ne couvrirons pas les détails de la configuration d'une instance DD-WRT, de nombreux guides sont disponibles en ligne. Quelle que soit la version de DD-WRT que vous utilisez, 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.

Votre appareil client doit être connecté au serveur DD-WRT via l'interface LAN. Ceci est nécessaire pour que vous puissiez accéder au panneau de contrôle pour modifier la configuration DD-WRT. Les spécificités de la manière dont vous pouvez y parvenir dépendent de votre configuration réseau particulière.

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).

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 DD-WRT, nous vous recommandons de consulter https://dd-wrt.com/support/

Génération 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. Générez tout sur votre PC ou Mac, puis notez le chemin d'accès à votre serveur dossier qui est créé, nous utiliserons les fichiers ici plus tard.

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.

Création du serveur OpenVPN

Nous pouvons maintenant utiliser le panneau de configuration Web pour configurer le serveur OpenVPN sur notre instance DD-WRT. Vous devez vous connecter au panneau de contrôle à partir de votre appareil client connecté à l'interface LAN du serveur DD-WRT. Veuillez noter que "C:\path\to" et "path/to/" ci-dessous doivent être remplacés par l'emplacement où vous avez créé votre certificat/clés.

  1. Ouvrez un navigateur sur votre client et accédez à l'adresse IP de l'interface LAN de votre serveur DD-WRT (quelque chose comme http://192.168.1.1 ). Si c'est la première fois que vous vous connectez à votre panneau de contrôle DD-WRT, il vous demandera de créer de nouveaux identifiants de connexion.



  2. Cliquez sur Services puis l'onglet VPN languette.
  3. Dans le démon OpenVPN section, cliquez sur Activer . Cela élargira la section et vous fournira des zones à coller dans les certificats que nous avons créés ci-dessus.
  4. Assurez-vous que le Type de démarrage le paramètre est défini sur WAN Up .
  5. Sur votre appareil client, dans le terminal (Mac) ou l'invite de commande (Windows), lisez le contenu de ca.crt fichier en saisissant :
    Mac
    cat path/to/server/ca.crt
    Windows
    type "C:\path\to\server\ca.crt"
  6. Copiez la sortie de cette commande (y compris les parties -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----) et collez-la dans le panneau de configuration DD-WRT section intitulée CA Cert .
  7. Copiez le résultat de la commande suivante et collez-le dans le Public Server Cert section du panneau de configuration DD-WRT :
    Mac
    cat path/to/server/server.crt
    Windows
    type "C:\path\to\server\server.crt"
  8. Copiez le résultat de la commande suivante et collez-le dans la Clé de serveur privée section du panneau de configuration DD-WRT.
    Mac
    cat path/to/server/server.key
    Windows
    type "C:\path\to\server\server.key"
  9. Copiez la sortie des paramètres Diffie Hellman et collez-la dans le DH PEM section du panneau de configuration DD-WRT :
    Mac
    cat path/to/server/dh.pem
    Windows
    type "C:\path\to\server\dh.pem"

Enfin, nous devons insérer la configuration du serveur. Collez ce qui suit dans la configuration OpenVPN section du panneau de configuration DD-WRT :

# The credential files
dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem

# Our VPN connection will be transported over UDP
proto udp

# The server needs to keep a record of client virtual IP addresses so that they
# can be reassigned if the server goes down
ifconfig-pool-persist /tmp/openvpn/ip-pool.txt

# To ensure that each side of the VPN knows if the connection has been severed,
# we want to ping each side every 10 seconds. If either side fails to recieve a
# ping within 2 minutes, then it will assume the other side is down
keepalive 10 120

# To avoid attempting to access resources that may no longer be accessible on
# restart
persist-key
persist-tun

# To write (and rewrite) a short summary of current VPN connections every minute
# to a file
status /tmp/openvpn/openvpn-status.log

# The verbosity of this connection logging (displayed in the Viscosity 'Details'
# window) can range from 0 (silent) to 9 extremely verbose. We will use the
# default of 3
verb 3

# To prevent more than 10 duplicates of the same log message in a row from
# flooding the Viscosity log
mute 10

# Provide GUI access over port 5002
management 127.0.0.1 5002

# This server will use the default OpenVPN port (1194)
port 1194

# We need the VPN to create a tun network interface through which we can route
# all our traffic
dev tun0

# The VPN requires a private IP subnet. We will use the default OpenVPN IP
# subnet
server 10.8.0.0 255.255.255.0

# We want VPN clients connected to this server to be able to access any hosts
# accessible on your home network. We are assuming that your local network
# subnet is 192.168.0.x/24. If it is something else, you will need to change the
# IP address in the command below
push "route 192.168.0.0 255.255.255.0"

# We want to allow hosts connected to the OpenVPN server to be able to see each
# other
client-to-client

Faites particulièrement attention à l'adresse IP dans le push "route 192.168.0.0 255.255.255.0" . Assurez-vous que ce sous-réseau correspond au sous-réseau IP de votre domicile/bureau. Si vous ne configurez pas ce serveur VPN pour accéder à votre LAN domestique/bureau, vous pouvez commenter cette ligne. Lorsque vous avez terminé, cliquez sur Apply Settings bouton en bas. Cela entraînera le démarrage du serveur OpenVPN avec ces paramètres.

Paramètres du serveur DNS

Si vous envisagez de chiffrer tout le trafic réseau via votre serveur VPN, il est recommandé d'activer votre propre serveur DNS.

  1. Cliquez sur Setup dans le panneau de configuration Web et faites défiler jusqu'à Paramètres du serveur d'adresses réseau (DHCP) section.
  2. Assurez-vous que les trois paramètres suivants sont cochés :
    • Utiliser DNSMasq pour DHCP
    • Utiliser DNSMasq pour le DNS
    • DHCP faisant autorité
  3. Cliquez sur Apply Settings bouton pour enregistrer ces modifications.
  4. Cliquez sur Services puis faites défiler jusqu'à DNSMasq section.
  5. Assurez-vous que les deux paramètres suivants sont activés :
    • DNSMasq
    •  DNS local
  6. Sous ces paramètres, vous devriez voir une boîte pour Options DNSMasq supplémentaires . Copiez les lignes suivantes dans cette zone :
    domain-needed
    bogus-priv

    interface=tun0
    listen-address=127.0.0.1

    server=8.8.8.8
    server=8.8.4.4
    où nous utilisons les serveurs DNS de Google (8.8.8.8 et 8.8.4.4). Si vous avez un autre fournisseur de services DNS de choix, n'hésitez pas à utiliser leurs serveurs ici.
  7. Cliquez sur Apply Settings bouton en bas de la page. Cela redémarrera le serveur DNSMasq avec ces paramètres.

Serveur de temps

C'est une bonne idée de configurer correctement l'horloge sur votre routeur DD-WRT.

  1. Cliquez sur Setup et faites défiler jusqu'à Paramètres horaires section.
  2. Définissez vos paramètres d'heure en fonction de votre région. Une recherche Google pour le serveur de temps de votre région devrait vous fournir une adresse IP/un nom de serveur approprié (tel que pool.ntp.org).



  3. Cliquez sur Apply Settings bouton en bas de la page.
  4. Pour confirmer que les paramètres d'heure ont été appliqués, cliquez sur Administration puis cliquez sur l'onglet Commands sous-onglet.
  5. Dans les Commandes zone, tapez :
    date
    et appuyez sur Run Commands bouton. Cela devrait afficher la date et l'heure actuelles (probablement dans le fuseau horaire UTC).

Paramètres du pare-feu

  1. Cliquez sur Administration puis cliquez sur l'onglet Commands sous-onglet.
  2. Copiez ce qui suit dans les Commandes box:
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
    iptables -I FORWARD -p udp -s 10.8.0.0/24 -j ACCEPT
    iptables -I INPUT -p udp --dport=1194 -j ACCEPT
    iptables -I OUTPUT -p udp --sport=1194 -j ACCEPT

    iptables -I INPUT -p udp -i eth0 -j ACCEPT
    iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT

    iptables -I INPUT -p udp -i br0 -j ACCEPT
    iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
  3. Cliquez sur Save Firewall bouton.

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 !


OpenVPN
  1. Comment installer et configurer un serveur OpenVPN sur Ubuntu 22.04

  2. Comment installer et héberger un serveur OpenVPN avec Docker

  3. Configurer un serveur Obfuscation avec Obfsproxy et Viscosity

  4. Installer et configurer le serveur OpenVPN sur Ubuntu 20.04

  5. Installer et configurer le serveur OpenVPN FreeBSD 12

Configuration d'un serveur OpenVPN avec Sophos XG 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