GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer un VPN d'accès à distance Bare Metal Cloud

Présentation

Tout type de serveur est gérable via un VPN. La configuration d'un VPN d'accès à distance à partir d'un ordinateur de bureau/appareil mobile est particulièrement importante lorsque vous travaillez avec des serveurs principaux pour sécuriser l'accès au serveur.

Dans cet article, vous apprendrez à configurer l'accès à distance au Bare Metal Cloud (BMC) de phoenixNAP.

L'article couvre les scénarios suivants :

  • Configuration d'un VPN d'accès à distance à phoenixNAP BMC (accès aux ordinateurs de bureau/appareils mobiles).
    • Configuration des clients Windows pour l'accès à distance.
    • Configuration des clients Ubuntu pour l'accès à distance.
    • Configuration des clients Mac pour l'accès à distance.
  • Configuration d'une connexion VPN entre deux emplacements BMC phoenixNAP.
  • Configuration d'un VPN IPSec entre phoenixNAP BMC et l'équipement sur site.

Prérequis

  • Au moins un serveur BMC basé sur Linux avec adressage public et privé (ou deux serveurs BMC requis pour un VPN entre deux emplacements).
  • Au moins un serveur nécessitant une administration à distance.
  • Un pare-feu de bureau distant dans le cas d'un scénario sur site.

Outils

Cet article fait référence à des logiciels tiers. Vous pouvez utiliser le logiciel VPN de votre choix. Tous les mots de passe et adresses IP sont purement illustratifs et doivent être modifiés.

Les outils référencés dans cet article incluent :

  • Serveurs Cloud Bare Metal – serveurs physiques déployés sur la plateforme phoenixNAP Bare Metal Cloud (BMC).
  • Ansible – un outil logiciel qui facilite la prise en charge de l'automatisation multiplateforme. Ansible est utilisé pour l'orchestration de la configuration à différentes étapes du cycle de vie d'un composant.
  • Ansible Galaxy – Hub officiel d'Ansible pour le partage de contenu.
  • SoftEther – un programme VPN open source, multiplateforme et multiprotocole. Le projet SoftEther VPN a été développé en tant que projet académique de l'Université de Tsukuba, sous la licence Apache 2.0.
  • strongCygne – une implémentation IPsec open-source utilisée pour le troisième scénario. strongSwan facilite la connectivité VPN IPsec avec les pare-feux matériels traditionnels.
  • Tunnelblink – un client open source. Tunnelblink est utilisé pour connecter les hôtes Mac aux serveurs VPN Edge.

Configuration d'un VPN d'accès à distance à phoenixNAP BMC

Le scénario suivant décrit le VPN d'accès à distance , montrant comment accéder à un serveur BMC à partir d'un ordinateur de bureau ou d'un appareil mobile via VPN.

Il nécessite un serveur cloud bare metal avec adressage public et privé et un serveur Edge SoftEther pour fournir le service VPN.

La configuration décrite ci-dessous relie les sessions VPN d'accès à distance au même sous-réseau que les serveurs. Avec cette méthode, le serveur périphérique n'est accessible que via l'adresse publique du côté client VPN.

1. Établissez une connexion via SSH avec le serveur sur lequel vous souhaitez installer SoftEther edge.

2. Ensuite, installez le ansible package en exécutant l'une des commandes suivantes :

  • Pour installer Ansible sur Ubuntu :
sudo apt -y install ansible
  • Pour installer Ansible sur CentOS :
sudo yum -y install ansible

3. Installez le softasap.sa-vpn-softether Rôle Ansible d'Ansible Galaxy :

sudo ansible-galaxy install softasap.sa-vpn-softether

4. Créez un répertoire de travail :

mkdir softether && cd softether

5. Dans le répertoire de travail nouvellement créé, créez un ansible-playbook (vpn.yml ) pour le VPN SoftEther :

---
- hosts: localhost
  vars:
  roles:
    - {
        role: "softasap.sa-vpn-softether",
        softether_init_script: "{{ playbook_dir }}/create_hub"
      }

6. Recherchez le nom de l'adaptateur et sous-réseau pour le réseau privé backend en exécutant la commande :

ip address

La sortie doit être similaire à l'image ci-dessous où les informations requises sont mises en évidence dans les cases vertes.

7. Créez un script initial (create_hub ) pour configurer SoftEther VPN. Vous devez créer un hub virtuel nommé vpn :

HubCreate vpn /PASSWORD:""
hub vpn

8. Reliez le concentrateur virtuel et l'adaptateur physique à l'aide du nom de l'adaptateur de l'étape 6 :

BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False

9. Activez le NAT sécurisé fonctionnalité pour DHCP fonctionnalité :

SecureNatEnable
NatDisable

10. Attribuez le sous-réseau approprié dans les paramètres DHCP (selon l'adressage réseau privé collecté à étape 6 ):

DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0

11. Générez un certificat pour la connexion VPN avec votre nom de domaine complet (FQDN) :

ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer

12. Ensuite, activez la prise en charge VPN.

  • Pour activer la prise en charge du VPN SSTP Windows les clients exécutent :
SstpEnable yes
  • Pour activer la prise en charge d' OpenVPN les clients exécutent :
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip

13. Définissez les utilisateurs VPN locaux :

UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387

14. Définissez un mot de passe de gestion du serveur SoftEther :

ServerPasswordSet adskfnne44onkdasl

15. Créez deux fichiers :vpn.yml et create_hub .

Si nécessaire, modifiez :

  • Dhcpset plage de début et de fin
  • SecureNatHostSet Paramètres d'adresse IP
  • ServerCertRegenerate domaine

Si aucune modification n'est requise, collez les lignes suivantes sur le serveur SoftEther :

cat <<EOF > vpn.yml
---
- hosts: localhost
  vars:
  roles:
    - {
        role: "softasap.sa-vpn-softether",
        softether_init_script: "{{ playbook_dir }}/create_hub"
      }
EOF
cat <<EOF > create_hub
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
EOF

16. Après avoir créé le vpn.yml et create_hub fichiers, vous pouvez démarrer le ansible-playbook. La commande suivante installe et configure le serveur VPN SoftEther :

sudo ansible-playbook vpn.yml

Maintenant, le serveur VPN SoftEther configuré est prêt à accepter les connexions client d'accès à distance, permettant la communication avec les adresses principales des serveurs au sein de BMC.

Options de configuration supplémentaires

Pour des options de configuration supplémentaires, vous pouvez utiliser l'utilitaire de gestion de ligne de commande SoftEther VPN (vpncmd), utilisé pour gérer plusieurs serveurs VPN Edge.

Par exemple, pour définir le serveur SoftEther, vous exécuteriez :

/opt/vpnserver/vpncmd localhost /SERVER /CMD:ServerPasswordSet

Pour ajouter des utilisateurs VPN, vous utiliseriez les commandes :

/opt/vpnserver/vpncmd localhost /SERVER /CMD:UserCreate
/opt/vpnserver/vpncmd localhost /SERVER /CMD:UserPasswordSet

Configuration des clients Windows

Configurer les clients VPN sous Windows à l'aide de SoftEther ou le MS SSTP natif .

Option 1 :Méthode SoftEther

1. Téléchargez le client SoftEther pour Windows.

2. Après avoir téléchargé et installé le client SoftEther, suivez les étapes ci-dessous pour vous connecter au serveur périphérique Phoenix :

  • Sélectionnez Ajouter une connexion VPN pour ouvrir les nouvelles propriétés des paramètres VPN.
  • Indiquez le nom du paramètre .
  • Spécifiez l'adresse IP , le numéro de port , et le nom du concentrateur virtuel .
  • Fournir les informations d'authentification de l'utilisateur pour se connecter au serveur VPN en fournissant un nom d'utilisateur et Mot de passe .
  • Cliquez sur OK pour confirmer les propriétés de réglage.

Option 2 :Méthode Windows SSTP

1. Téléchargez et installez le certificat situé sur le serveur SoftEther dans le chemin softether/generated/generated/cert.cer .

2. Une fois le certificat fenêtre s'ouvre, cliquez sur Installer le certificat .

3. L'assistant d'importation de certificat apparaît. Sélectionnez Utilisateur actuel pour l'emplacement du magasin et continuez en cliquant sur Suivant .

4. Ensuite, configurez le point de terminaison VPN sous Windows. Ouvrez les Paramètres VPN et sélectionnez Ajouter un VPN .

5. Remplissez les informations requises en veillant à sélectionner Windows (intégré) en tant que fournisseur VPN et Secure Socket Tunneling Protocol (SSTP) comme type de VPN.

6. Cliquez sur Enregistrer à terminer.

Configuration des clients Ubuntu

1. Installez les packages OpenVPN pour utiliser le client OpenVPN :

sudo apt install network-manager-openvpn network-manager-openvpn-gnome

2. Après avoir téléchargé et décompressé le fichier openvpn_config.zip fichier, importez la configuration :

  • Ouvrir Paramètres et accédez à Réseau .
  • Cliquez sur le + inscrivez-vous pour ajouter un VPN à votre réseau.
  • Choisissez Importer depuis un fichier…

3. Dans le package OpenVPN Sample Config, sélectionnez l'accès à distance Phoenix edge OpenVPN dossier. Cliquez sur Ouvrir bouton dans le coin supérieur droit.

4. Indiquez le Nom d'utilisateur et Mot de passe pour l'authentification. Cliquez sur Ajouter pour continuer.

5. Passez au IPv4 et sélectionnez le paramètre N'utiliser cette connexion que pour les ressources de son réseau . Cliquez sur Appliquer .

Configuration des clients Mac

Vous pouvez utiliser Tunnelblick pour installer le client OpenVPN sur Mac.

1. Ouvrez Tunnelblick et sélectionnez J'ai des fichiers de configuration .

2. Une fenêtre apparaît expliquant comment installer un fichier de configuration.

3. Faites glisser et déposez le fichier de configuration sur l'icône TunnelBlink située dans la barre de menus.

4. Connectez-vous au VPN nouvellement ajouté en cliquant sur l'icône Tunnelblick et en sélectionnant Connect phx-edge_openvpn_remote_access_l3 .

5. Saisissez votre nom d'utilisateur VPN et mot de passe . Ensuite, cliquez sur OK pour vous connecter.

Configuration d'une connexion VPN entre deux emplacements BMC phoenixNAP

Vous pouvez interconnecter deux emplacements BMC via VPN. Une telle connexion est également appelée Lan to Lan (L2L) ou Site to Site (S2S).

Une telle configuration nécessite des serveurs BMC Linux dans chaque emplacement. Les deux serveurs doivent avoir un adressage public et privé. Ils agissent en tant que serveur Edge SoftEther et un ou plusieurs serveurs BMC privés dans le même réseau privé backend.

Dans cet exemple, nous utilisons les sites Phoenix et Ashburn. Cependant, vous pouvez configurer une connexion VPN entre tous les emplacements phoenixNAP BMC.

1. Si vous commencez ici, mettez en œuvre les étapes 1 à 6 &15 à 16 dès la première tranche. Ceux-ci sont nécessaires pour configurer le côté Phénix.

2. Ensuite, établissez une connexion via SSH à SoftEther edge dans Ashburn et installez le package ansible :

  • Pour Ubuntu :
sudo apt -y install ansible
  • Pour CentOS :
sudo yum -y install ansible

3. Installez softasap.sa-vpn-softether rôle ansible d'Ansible Galaxy :

sudo ansible-galaxy install softasap.sa-vpn-softether

4. Notez le nom de l'adaptateur et le sous-réseau du réseau privé principal à l'aide de la commande :

ip address

5. Créez les deux fichiers :vpn.yml et create_hub .

Si nécessaire, modifiez :

  • Dhcpset plage de début et de fin
  • SecureNatHostSet Paramètres d'adresse IP
  • ServerCertRegenerate domaine

Si aucune modification n'est requise, collez les lignes ci-dessous dans le serveur SoftEther :

cat <<EOL > vpn.yml
---
- hosts: localhost
  vars:
  roles:
    - {
        role: "softasap.sa-vpn-softether",
        softether_init_script: "{{ playbook_dir }}/create_hub"
      }
EOF
cat <<EOL > create_hub
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1100 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.1.0.200 /END:10.1.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.1.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
EOF

6. Après avoir créé le vpn.yml et create_hub fichiers, vous pouvez démarrer ansible-playbook. Utilisez la commande suivante pour installer et configurer le serveur VPN Ashburn SoftEther :

sudo ansible-playbook vpn.yml

À ce stade, vous avez installé et configuré les serveurs SoftEther à deux emplacements (Phoenix et Ashburn).

Vous devez maintenant connecter ces emplacements avec un tunnel VPN S2S.

8. Modifiez l'initialisation create_hub script sur les deux serveurs et créez un nouveau hub virtuel nommé s2s .

HubCreate s2s /PASSWORD:""
hub s2s

9. Créez un mot de passe pour l'authentification VPN s2s.

UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6

10. Pour initier la connexion VPN de site à site, ajoutez les lignes suivantes à l'emplacement principal (dans cet exemple, il s'agit de Phoenix).

CascadeCreate s2s /SERVER:131.153.155.210:443 /HUB:s2s /USERNAME:s2s
CascadePasswordSet s2s /PASSWORD: bjdbsi9273jygUYGf6 /TYPE:standard
CascadeOnline s2s

Cela pointe la connexion en cascade vers l'adresse IP publique et le hub s2s du serveur SoftEther à l'emplacement d'Ashburn.

11. Pour autoriser le trafic entre vpn et s2s hubs, vous devez ajouter un routeur virtuel sur les deux serveurs SoftEther.

Serveur Phoenix SoftEther :

  • Créez un routeur virtuel nommé s2s :
RouterAdd s2s
  • Ajouter une interface pour chaque hub :
RouterIfAdd s2s /HUB:vpn 
/IP:10.0.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s 
/IP:192.168.168.254/255.255.255.0
  • Ajouter une route statique pour vpn hub sur le site d'Ashburn :
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s

Serveur Ashburn SoftEther :

  • Création d'un routeur virtuel nommé s2s :
RouterAdd s2s
  • Ajouter une interface pour chaque hub :
RouterIfAdd s2s /HUB:vpn 
/IP:10.1.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s 
/IP:192.168.168.253/255.255.255.0
  • Ajouter une route statique pour vpn hub sur l'emplacement de Phoenix :
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s

12. Ensuite, vous devez autoriser les utilisateurs connectés à Phoenix à établir une connexion aux serveurs d'Ashburn, et vice versa. Pour cela, ajoutez une route statique au client VPN :

Serveur Phoenix SoftEther :

DhcpSet /START:10.0.0.200 /END:10.0.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:none
DhcpSet /START:10.0.0.200 /END:10.0.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:10.1.0.0/255.255.255.0/10.0.0.254

Serveur Ashburn SoftEther :

DhcpSet /START:10.1.0.200 /END:10.1.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:none
DhcpSet /START:10.0.0.200 /END:10.0.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:10.0.0.0/255.255.255.0/10.1.0.254

Pour résumer, le Phoenix SoftEther create_hub le script initial doit comporter le contenu suivant :

HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1100 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.1.0.200 /END:10.1.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE: 10.0.0.0/255.255.255.0/10.1.0.254
SecureNatHostSet /MAC:none /IP:10.1.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl

HubCreate s2s /PASSWORD:""
hub s2s
UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6
RouterAdd s2s
RouterIfAdd s2s /HUB:vpn /IP:10.1.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s /IP:192.168.168.253/255.255.255.0
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s

Le Ashburn SoftEther create_hub le script initial doit comporter le contenu suivant :

HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:10.1.0.0/255.255.255.0/10.0.0.254
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl

HubCreate s2s /PASSWORD:""
hub s2s
UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6
CascadeCreate s2s /SERVER:131.153.155.210:443 /HUB:s2s /USERNAME:s2s
CascadePasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6 /TYPE:standard
CascadeOnline s2s
RouterAdd s2s
RouterIfAdd s2s /HUB:vpn /IP:10.0.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s /IP:192.168.168.254/255.255.255.0
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s

14. Une fois les scripts d'initialisation prêts, reconfigurez les deux serveurs VPN SoftEther :

/opt/vpnserver/vpncmd localhost /SERVER /IN:create_hub

15. Ajoutez les routes statiques aux serveurs à l'aide de l'adresse privée du serveur VPN pour établir la connectivité entre les emplacements.

Paramètres spécifiques à CentOS

Si vous utilisez CentOS serveurs, suivez les étapes décrites pour chaque emplacement de serveur.

Serveurs BMC côté Phoenix :

  • Ajoutez une route statique sur le serveur en exécutant :
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Pour rendre les routes persistantes, modifiez le fichier de configuration réseau /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Ajoutez les informations sur les routes au fichier :
type: vlan
mtu: 9000
name: bond0.1101
vlan_id: 1101
vlan_link: bond0
subnets:
- address: 10.0.0.12/24
type: static
routes:
- gateway: 10.0.0.254
network: 10.1.0.0/24

Serveurs BMC côté Ashburn :

  • Ajoutez une route statique sur le serveur en exécutant :
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Rendez les routes persistantes en modifiant le fichier de configuration réseau /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Ajouter une section routes au fichier :
- type: vlan
    mtu: 9000
    name: bond0.1100
    vlan_id: 1100
    vlan_link: bond0
    subnets:
    - address: 10.1.0.12/24
      type: static
      routes:
      - gateway: 10.1.0.254
        network: 10.0.0.0/24

Paramètres spécifiques à Ubuntu

Si vous utilisez Ubuntu serveurs, suivez les étapes décrites pour chaque emplacement.

Serveurs BMC côté Phoenix :

  • Ajoutez une route statique sur le serveur en exécutant :
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Pour rendre les routes persistantes, modifiez le fichier de configuration réseau /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Ajoutez les informations suivantes au fichier :
bond0.1101:
      addresses:
      - 10.0.0.12/24
      id: 1101
      link: bond0
      mtu: 9000
      routes:
      - to: 10.1.0.0/24
        via: 10.0.0.254

Serveurs BMC côté Ashburn :

  • Ajoutez une route statique sur le serveur en exécutant :
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Rendez les routes persistantes en modifiant le fichier de configuration réseau /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Ajouter une section routes au fichier :
bond0.1100:
      addresses:
      - 10.1.0.12/24
      id: 1100
      link: bond0
      mtu: 9000
      routes:
      - to: 10.0.0.0/24
        via: 10.1.0.254

Configuration d'un VPN IPSec entre phoenixNAP BMC et l'équipement sur site

Pour illustrer le troisième scénario, nous utilisons notre topologie existante. Avoir deux emplacements BMC n'est pas obligatoire. La connectivité à un centre de données sur site, un bureau ou un site distant correspond à cet exemple. S'il s'agit de votre seul cas d'utilisation requis, cette section est autonome.

En tant que point de terminaison sur site, nous utilisons la configuration Cisco ASA pour créer un VPN IPsec de site à site. De plus, nous utilisons le côté serveur strongSwan pour établir ce tunnel. Le trafic décrit peut circuler des clients d'accès à distance vers les deux nœuds BMC, ainsi que d'un bureau distant vers les deux nœuds BMC. La connexion du client d'accès à distance via BMC au site/bureau distant n'est pas décrite.

1. Connectez-vous en SSH au serveur Edge et installez le package strongSwan :

  • Pour Ubuntu :
sudo apt -y install strongswan
  • Pour CentOS :
sudo yum -y install strongswan

Selon la distribution, les fichiers de configuration seront situés dans des chemins différents.

    • Sur Ubuntu, vous pouvez le trouver dans :/etc/ipsec.*
    • Sur CentOS, le fichier de configuration se trouve dans :/etc/strongswan/ipsec.*

2. Modifiez le fichier de configuration IPsec sur le serveur Edge à l'emplacement de Phoenix :

#####Mandatory part of configuration setup#####
config setup
# strictcrlpolicy - Defines if a fresh CRL must be available in order for the peer authentication based on RSA signatures to succeed.
strictcrlpolicy=no
# uniqueids - Defines whether a particular participant ID must be kept unique, with any new IKE_SA using an ID deemed to replace all old ones using that ID.
uniqueids = yes
# charondebug - Defines how much charon debugging output must be logged.
    charondebug = "all"
conn vpn-to-asa
#####Per VPN configuration settings#####
# conn <name> - Defines a connection.
authby=secret
# authby - Defines how the peers must authenticate; acceptable values are secret or psk, pubkey, rsasig, ecdsasig.
left=%defaultroute
# left - Defines the IP address of the strongSwan's interface paricipating in the tunnel.
leftid=131.153.142.202
# leftid - Defines the identity payload for the strongSwan.
leftsubnet=10.0.0.0/24
# leftsubnet - Defines the private subnet behind the strongSwan, expressed as network/netmask.
right=185.28.188.0
# right - Defines the public IP address of the VPN peer.
rightid=192.168.0.254
# rightid - Defines the identity payload for the VPN peer.
rightsubnet=192.168.1.0/24
# rightsubnet - Defines the private subnet behind the VPN peer, expressed as network/netmask.
ike=aes256-sha1-modp1536
# ike - Defines the IKE/ISAKMP SA encryption/authentication algorithms. You can add a comma-separated list.
esp=aes256-sha1
# esp - Defines the ESP encryption/authentication algorithms. You can add a comma-separated list
keyingtries=%forever
# keyingtries - Defines the number of attempts that must be made to negotiate a connection.
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
# ikelifetime - Defines the duration of an established phase-1 connection.
    lifetime=8h
dpddelay=30
# dpddelay - Defines the time interval with which R_U_THERE messages/INFORMATIONAL exchanges are sent to the peer.
dpdtimeout=120
# dpdtimeout - Defines the timeout interval, after which all connections to a peer are deleted in case of inactivity.
dpdaction=restart
# dpdaction - Defines what action needs to be performed on DPD timeout. Takes three values as paramters : clear, hold, and restart.
auto=start
# auto - Defines what operation, if any, must be done automatically at IPsec startup (start loads a connection and brings it up immediately).

3. La clé pré-partagée IPSec est stockée dans un fichier séparé :/etc/strongswan/ipsec.secrets

131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"

4. Créez des fichiers de configuration strongSwan (ipsec.conf et ipsec.secrets ) après avoir modifié les paramètres nécessaires. Vous pouvez utiliser la configuration suivante sur le serveur périphérique Phoenix :

sudo cat <<EOF > /etc/strongswan/ipsec.conf
# mandatory configuration
config setup
strictcrlpolicy=no
uniqueids = yes
charondebug = "all"
# VPN to Cisco ASA
conn vpn-to-asa
authby=secret
left=%defaultroute
leftid=131.153.142.202
leftsubnet=10.0.0.0/24
right=185.28.188.0
rightid=192.168.0.254
rightsubnet=192.168.1.0/24
ike=aes256-sha1-modp1536
esp=aes256-sha1
keyingtries=%forever
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start
EOF
sudo cat <<EOT > /etc/strongswan/ipsec.secrets
131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"
EOT

5. Pour éviter d'éventuels problèmes avec SELinux, exécutez la commande suivante sur le serveur périphérique CentOS :

sudo /sbin/restorecon -R -v /etc/strongswan/ipsec.conf
sudo setsebool -P daemons_use_tty 1

6. Démarrez le service strongSwan à Phoenix :

sudo systemctl enable --now strongswan

7. Une procédure similaire doit être effectuée sur le site d'Ashburn. Dans cet exemple, le système d'exploitation du serveur Edge dans Ashburn est Ubuntu (non obligatoire). Les fichiers de configuration seront sur un chemin différent. Après avoir modifié les paramètres nécessaires, collez les lignes suivantes sur le serveur périphérique à l'emplacement d'Ashburn :

sudo cat <<EOF > /etc/ipsec.conf
# mandatory configuration
config setup
strictcrlpolicy=no
uniqueids = yes
charondebug = "all"
# VPN to Cisco ASA
conn vpn-to-asa
authby=secret
left=%defaultroute
leftid=131.153.155.210
leftsubnet=10.1.0.0/24
right=185.28.188.0
rightid=192.168.0.254
rightsubnet=192.168.1.0/24
ike=aes256-sha1-modp1536
esp=aes256-sha1
keyingtries=%forever
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start
EOF
sudo cat <<EOT > /etc/ipsec.secrets
131.153.155.210 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkash"
EOT

8. Démarrez le service strongSwan sur Ashburn :

sudo systemctl enable --now strongswan

9. Ajoutez des routes statiques sur les serveurs périphériques pour permettre la communication avec le centre de données sur site, le bureau ou le site distant :

Routes statiques spécifiques à CentOS

La configuration suivante s'applique à CentOS serveurs.

Serveurs BMC côté Phoenix :

  • Ajoutez une route statique sur le serveur en exécutant :
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
  • Pour rendre les routes persistantes, modifiez le fichier de configuration réseau /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Ajoutez les informations suivantes au fichier :
type: vlan
    mtu: 9000
    name: bond0.1101
    vlan_id: 1101
    vlan_link: bond0
    subnets:
    - address: 10.0.0.12/24
      type: static
      routes:
      - gateway: 10.0.0.11
        network: 192.168.1.0/24

Serveurs BMC côté Ashburn :

  • Ajoutez une route statique sur le serveur en exécutant :
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
  • Rendez les routes persistantes en modifiant le fichier de configuration réseau /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Ajouter une section routes au fichier :
type: vlan
    mtu: 9000
    name: bond0.1100
    vlan_id: 1100
    vlan_link: bond0
    subnets:
    - address: 10.1.0.12/24
      type: static
      routes:
      - gateway: 10.1.0.11
        network: 192.168.1.0/24

Routes statiques spécifiques à Ubuntu

Utilisez la configuration suivante sur Ubuntu serveurs.

Serveurs BMC côté Phoenix :

  • Add static route on server by running:
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
  • To make the routes persistent, edit the network configuration file /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Add the following information to the file:
bond0.1101:
      addresses:
      - 10.0.0.12/24
      id: 1101
      link: bond0
      mtu: 9000
      routes:
      - to: 192.168.1.0/24
        via: 10.0.0.11

Ashburn side BMC servers:

  • Add static route on server by running:
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
  • Make the routes persistent by editing the network configuration file /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Add a routes section to the file:
bond0.1100:
      addresses:
      - 10.1.0.12/24
      id: 1100
      link: bond0
      mtu: 9000
      routes:
      - to: 192.168.1.0/24
        via: 10.1.0.11

10. The following step includes an on-premises Cisco ASA firewall IPSsec configuration. Your actual configuration may vary.

name 131.153.142.202 PHX-VPN-PEER
name 131.153.155.210 ASH-VPN-PEER
object-group network PHX-VPN-REMOTE
network-object 10.0.0.0 255.255.255.0
object-group network ASH-VPN-REMOTE
network-object 10.1.0.0 255.255.255.0
object-group network PHX-VPN-LOCAL
network-object 192.168.1.0 255.255.255.0
object-group network ASH-VPN-LOCAL
network-object 192.168.1.0 255.255.255.0
!
access-list PHXl2l_acl extended permit ip object-group PHX-VPN-LOCAL object-group PHX-VPN-REMOTE
access-list ASHl2l_acl extended permit ip object-group ASH-VPN-LOCAL object-group ASH-VPN-REMOTE
nat (inside,outside) source static PHX-VPN-LOCAL PHX-VPN-LOCAL destination static PHX-VPN-REMOTE PHX-VPN-REMOTE no-proxy-arp
nat (inside,outside) source static ASH-VPN-LOCAL ASH-VPN-LOCAL destination static ASH-VPN-REMOTE ASH-VPN-REMOTE no-proxy-arp
!
crypto ikev1 policy 10
authentication pre-share
encryption aes-256
hash sha
group 5
lifetime 3600
!
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto map outside_map 10 match address PHXl2l_acl
crypto map outside_map 10 set peer PHX-VPN-PEER
crypto map outside_map 10 set ikev1 transform-set ESP-AES-256-SHA
crypto map outside_map 10 set security-association lifetime seconds 28800
crypto map outside_map 20 match address ASHl2l_acl
crypto map outside_map 20 set peer ASH-VPN-PEER
crypto map outside_map 20 set ikev1 transform-set ESP-AES-256-SHA
crypto map outside_map 20 set security-association lifetime seconds 28800
crypto map outside_map interface outside
crypto ikev1 enable outside
!
tunnel-group 131.153.142.202 type ipsec-l2l
tunnel-group 131.153.142.202 ipsec-attributes
ikev1 pre-shared-key ksdbk78823kdcs92kwehsfkphx
tunnel-group 131.153.155.210 type ipsec-l2l
tunnel-group 131.153.155.210 ipsec-attributes
ikev1 pre-shared-key ksdbk78823kdcs92kwehsfkahs

Ubuntu
  1. Comment configurer Wireguard VPN sur CentOS 8

  2. Comment configurer WireGuard VPN sur Ubuntu 20.04

  3. Comment configurer WireGuard VPN sur Ubuntu (un guide étape par étape)

  4. Bureau à distance Ubuntu :comment le configurer et s'y connecter

  5. Comment configurer l'accès à distance au démon Docker

Comment configurer WireGuard VPN sur Debian 10

Comment accéder au bureau Windows distant à partir d'Ubuntu Linux

Comment configurer l'accès à distance à votre bureau Ubuntu

Comment configurer le bureau à distance sur Ubuntu (Xrdp)

Comment configurer l'accès à distance au démon Docker [Guide détaillé]

Comment mettre en place un accès MySQL distant sur cPanel ?