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

Attribuer des adresses IP statiques aux clients OpenVPN

Dans ce guide, nous allons apprendre à attribuer des adresses IP statiques aux clients OpenVPN. Dans la plupart des cas, par exemple, si vous avez des contrôles dans votre environnement qui nécessitent que les hôtes aient une adresse IP statique pour la gestion de ces contrôles, vous devrez très probablement attribuer une adresse IP statique à vos clients spécifiques. OpenVPN prend en charge l'attribution d'adresses IP statiques.

Attribuer des adresses IP statiques aux clients OpenVPN

OpenVPN a la capacité d'attribuer des adresses IP spécifiques aux clients à partir du pool IP défini. Pour ce faire, il utilise trois types d'algorithmes de sélection d'adresse IP client. Ceux-ci incluent, dans l'ordre dans lequel ils sont utilisés ;

  1. Utilisation de --client-connect script . Cela implique l'exécution du script spécifié qui génère un fichier contenant des adresses IP statiques sur le serveur lorsqu'un client se connecte. Cette méthode est généralement le premier choix à prendre en considération.
  2. Utilisation de --client-config-dir . Cela implique l'utilisation d'un fichier qui contient des adresses IP statiques pour les clients selon leur nom commun de certificat client (CN) (deuxième choix ).
  3. Utilisation de --ifconfig-pool pour l'attribution de l'IP dynamique (dernier choix ).

Pour plus d'informations, consultez man openvpn .

Dans ce guide, nous allons utiliser la deuxième option, où nous allons configurer notre serveur OpenVPN pour lire un fichier spécifique, qui contient les noms communs des clients et les adresses IP mappées. Cela garantit qu'un client qui se connecte se voit attribuer une adresse IP statique basée sur le nom commun défini sur son certificat client.

Dans notre guide précédent, nous avons couvert l'installation et la configuration d'un serveur OpenVPN sur le système CentOS 8.

Créer un fichier pour stocker les adresses IP statiques

L'utilisation du client-config-dir option, nécessite que les adresses IP statiques à attribuer aux clients qui se connectent soient stockées dans un fichier lisible par le serveur OpenVPN.

Par conséquent, ouvrez le fichier de configuration du serveur OpenVPN, /etc/openvpn/server/server.conf , et définissez votre chemin d'accès au fichier d'attribution d'adresse IP statique comme valeur pour le client-config-dir paramètre.

vim /etc/openvpn/server/server.conf
...
# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
client-config-dir /etc/openvpn/ccd
...

Dans cette démo, nous avons défini le chemin pour stocker le fichier d'attribution des adresses IP statiques/fixes, /etc/openvpn/ccd . Eh bien, j'ai essayé d'utiliser le chemin par défaut, /etc/openvpn/server/ccd, mais cela a entraîné l'erreur ci-dessous :

Could not access file 'ccd/koromicha': Permission denied (errno=13)
Could not access file 'ccd/DEFAULT': Permission denied (errno=13)

Donc, comme solution de contournement, nous avons choisi d'utiliser un chemin différent, comme ci-dessus.

Attribuer des adresses IP statiques aux clients OpenVPN

Pour chaque client OpenVPN auquel vous souhaitez attribuer une adresse IP statique, vous devez extraire le nom commun de ce certificat client spécifique.

Dans notre démo, nous avons créé deux clients OpenVPN, koromicha et johndoe . Pour extraire les noms communs du certificat client, utilisez openssl commande comme indiqué ci-dessous. Assurez-vous de remplacer les certificats clients .

openssl x509 -subject -noout -in /etc/openvpn/client/koromicha/koromicha.crt
subject=CN = koromicha
openssl x509 -subject -noout -in /etc/openvpn/client/johndoe/johndoe.crt
subject=CN = johndoe

Une fois que vous avez les noms communs pour les clients, vous pouvez leur attribuer des adresses IP statiques en utilisant le ifconfig-push option. Par exemple, pour attribuer le client utilisant le certificat avec koromicha comme nom commun une adresse IP, 10.8.0.50 et client utilisant le certificat avec johndoe comme CN une adresse IP de 10.8.0.60 , c'est ainsi que le devoir est fait ;

echo "ifconfig-push 10.8.0.50 255.255.255.0" > /etc/openvpn/ccd/koromicha
echo "ifconfig-push 10.8.0.60 255.255.255.0" > /etc/openvpn/ccd/johndoe

Notez que la façon dont vous attribuez les adresses IP statiques dépend de la topologie que vous avez configurée sur votre serveur OpenVPN. Dans notre cas, nous définissons la topologie sur sous-réseau ;

# Network topology
...
topology subnet

En savoir plus sur les concepts d'adressage OpenVPN.

Redémarrez le serveur OpenVPN ;

systemctl restart [email protected]

Assurez-vous de toujours vérifier les journaux ;

tail -f /var/log/openvpn/openvpn.log

Vérifiez l'attribution d'adresse IP statique sur les clients OpenVPN

En supposant que vous ayez déjà le fichier de configuration OpenVPN du client respectif sur vos clients, lancez la connexion et vérifiez l'attribution de l'adresse IP.

sudo openvpn johndoe.ovpn

Vérification de l'adresse IP attribuée ;

ip add show tun0
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.60/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::ea62:fbae:5b45:2d78/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Sur l'autre client ;

ip add show tun0
12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.50/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::c928:c76d:fbd4:6c6a/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Vérification de la connectivité entre les deux clients ;

ping 10.8.0.60 -c 3
PING 10.8.0.60 (10.8.0.60) 56(84) bytes of data.
64 bytes from 10.8.0.60: icmp_seq=1 ttl=64 time=4.67 ms
64 bytes from 10.8.0.60: icmp_seq=2 ttl=64 time=3.86 ms
64 bytes from 10.8.0.60: icmp_seq=3 ttl=64 time=4.05 ms

--- 10.8.0.60 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 3.864/4.196/4.670/0.351 ms

C'est ça. Nous sommes arrivés à la fin de notre guide sur la façon d'attribuer des adresses IP statiques aux clients OpenVPN.

Tutoriels associés

Connectez-vous à OpenVPN en utilisant Network Manager sur CentOS 8/Ubuntu 18.04

Installer et configurer le client OpenVPN sur CentOS 8/Ubuntu 18.04

Configurer le client VPN strongSwan sur Ubuntu 18.04/CentOS 8

OpenVPN
  1. Configurer les clients OpenVPN pour utiliser un serveur DNS spécifique

  2. Les 5 meilleurs clients Google Drive pour Linux

  3. 7 meilleurs clients BitTorrent pour Linux en 2021

  4. Comment attribuer un nom à un écran ?

  5. Comment attribuer différentes adresses IP statiques à une même machine en fonction de son OS ?

PiVPN - Configuration et configuration OpenVPN les plus simples, conçues pour Raspberry Pi

Configurations d'adresses IP statiques et dynamiques pour DHCP

Comment attribuer une adresse IP statique sur Ubuntu Linux

Création de certificats et de clés pour votre serveur OpenVPN

Comment attribuer une adresse IP dédiée à un site Web dans Plesk ?

Adresse IP statique avec NetworkManager pour Fedora