GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit VPN pro vzdálený přístup Bare Metal Cloud

Úvod

Jakýkoli typ serveru lze spravovat prostřednictvím VPN. Nastavení vzdáleného přístupu VPN ze stolního/mobilního zařízení je zvláště důležité při práci s backendovými servery pro zabezpečení přístupu k serveru.

V tomto článku se dozvíte, jak nastavit vzdálený přístup k Bare Metal Cloud (BMC) společnosti phoenixNAP.

Článek popisuje následující scénáře:

  • Nastavení vzdáleného přístupu VPN k phoenixNAP BMC (přístup k počítači/mobilnímu zařízení).
    • Konfigurace klientů Windows pro vzdálený přístup.
    • Konfigurace klientů Ubuntu pro vzdálený přístup.
    • Konfigurace klientů Mac pro vzdálený přístup.
  • Nastavení připojení VPN mezi dvěma umístěními phoenixNAP BMC.
  • Nastavení IPSec VPN mezi phoenixNAP BMC a místním zařízením.

Předpoklady

  • Alespoň jeden server BMC založený na Linuxu s veřejným a soukromým adresováním (nebo dva servery BMC požadované pro VPN mezi dvěma umístěními).
  • Alespoň jeden server vyžadující vzdálenou správu.
  • Brána firewall vzdálené kanceláře v případě místního scénáře.

Nástroje

Tento článek odkazuje na software třetích stran. Můžete použít software VPN podle svého výběru. Všechna hesla a IP adresy jsou čistě ilustrativní a měly by být změněny.

Mezi nástroje uvedené v tomto článku patří:

  • Bare Metal Cloud servery – fyzické servery nasazené na platformě phoenixNAP Bare Metal Cloud (BMC).
  • Ansible – softwarový nástroj, který usnadňuje podporu automatizace napříč platformami. Ansible se používá pro orchestraci konfigurace v různých fázích životního cyklu komponenty.
  • Galaxie Ansible – Oficiální centrum Ansible pro sdílení obsahu.
  • SoftEther – open source, multiplatformní, multiprotokolový VPN program. Projekt SoftEther VPN byl vyvinut jako akademický projekt z University of Tsukuba pod licencí Apache 2.0.
  • strongSwan – open-source implementace IPsec použitá pro třetí scénář. strongSwan umožňuje připojení IPsec VPN s tradičními hardwarovými firewally.
  • Tunnelblink – klient s otevřeným zdrojovým kódem. Tunnelblink se používá k připojení hostitelů Mac k okrajovým serverům VPN.

Nastavení vzdáleného přístupu VPN pro phoenixNAP BMC

Následující scénář popisuje VPN pro vzdálený přístup , ukazující, jak přistupovat k serveru BMC z počítače nebo mobilního zařízení přes VPN.

K poskytování služby VPN vyžaduje holý cloudový server s veřejným a soukromým adresováním a okrajový server SoftEther.

Konfigurace popsaná níže přemosťuje relace VPN vzdáleného přístupu do stejné podsítě jako servery. Pomocí této metody lze k serveru edge přistupovat pouze prostřednictvím veřejné adresy ze strany klienta VPN.

1. Navažte spojení přes SSH se serverem, kam chcete nainstalovat SoftEther edge.

2. Dále nainstalujte ansible balíček spuštěním jednoho z následujících příkazů:

  • Instalace Ansible na Ubuntu:
sudo apt -y install ansible
  • Instalace Ansible na CentOS:
sudo yum -y install ansible

3. Nainstalujte softasap.sa-vpn-softether Role Ansible z Ansible Galaxy:

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

4. Vytvořte pracovní adresář:

mkdir softether && cd softether

5. V nově vytvořeném pracovním adresáři vytvořte ansible-playbook (vpn.yml ) pro SoftEther VPN:

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

6. Najděte název adaptéru a podsíť pro privátní síť typu backend spuštěním příkazu:

ip address

Výstup by měl být podobný obrázku níže, kde jsou požadované informace zvýrazněny v zelených polích.

7. Vytvořte počáteční skript (create_hub ) pro konfiguraci SoftEther VPN. Musíte vytvořit virtuální centrum s názvem vpn :

HubCreate vpn /PASSWORD:""
hub vpn

8. Přemostění virtuálního rozbočovače a fyzického adaptéru pomocí názvu adaptéru z kroku 6 :

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

9. Povolte Secure NAT funkce pro DHCP funkce:

SecureNatEnable
NatDisable

10. Přiřaďte příslušnou podsíť v parametrech DHCP (podle adresování privátní sítě získané v kroku 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. Vygenerujte certifikát pro připojení VPN s vaším plně kvalifikovaným názvem domény (FQDN):

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

12. Dále povolte podporu VPN.

  • Chcete-li povolit podporu pro Windows SSTP VPN klienti spouštějí:
SstpEnable yes
  • Chcete-li povolit podporu pro OpenVPN klienti spouštějí:
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip

13. Definujte místní uživatele VPN:

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

14. Definujte heslo pro správu serveru SoftEther:

ServerPasswordSet adskfnne44onkdasl

15. Vytvořte dva soubory:vpn.yml a create_hub .

V případě potřeby změňte:

  • Dhcpset počáteční a koncový rozsah
  • SecureNatHostSet parametry IP adresy
  • ServerCertRegenerate doména

Pokud nejsou vyžadovány žádné změny, vložte na server SoftEther následující řádky:

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. Po vytvoření vpn.yml a create_hub souborů, můžete spustit ansible-playbook. Následující příkaz nainstaluje a nakonfiguruje server SoftEther VPN:

sudo ansible-playbook vpn.yml

Nyní je nakonfigurovaný server SoftEther VPN připraven přijímat klientská připojení pro vzdálený přístup, což umožňuje komunikaci s koncovými adresami serverů v rámci BMC.

Další možnosti konfigurace

Pro další možnosti konfigurace můžete použít Nástroj pro správu příkazového řádku SoftEther VPN (vpncmd), který se používá pro správu několika okrajových serverů VPN.

Chcete-li například nastavit server SoftEther, spustili byste:

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

Chcete-li přidat uživatele VPN, použijte příkazy:

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

Konfigurace klientů Windows

Nakonfigurujte klienty VPN v systému Windows pomocí SoftEther nebo nativní MS SSTP .

Možnost 1:Metoda SoftEther

1. Stáhněte si klienta SoftEther pro Windows.

2. Po stažení a instalaci klienta SoftEther se připojte k serveru Phoenix edge podle následujících kroků:

  • Vyberte Přidat připojení VPN otevřete nové vlastnosti nastavení VPN.
  • Zadejte Název nastavení .
  • Uveďte IP adresu , číslo portu a Název virtuálního centra .
  • Poskytněte informace o ověření uživatele pro připojení k serveru VPN zadáním Uživatelského jména a Heslo .
  • Klikněte na tlačítko OK pro potvrzení vlastností nastavení.

Možnost 2:Metoda Windows SSTP

1. Stáhněte a nainstalujte certifikát umístěný na serveru SoftEther v cestě softether/generated/generated/cert.cer .

2. Jakmile získáte Certifikát otevře okno, klikněte na Instalovat certifikát .

3. Průvodce importem certifikátu objeví se. Vyberte Aktuální uživatel pro umístění obchodu a pokračujte kliknutím na Další .

4. Dále nakonfigurujte koncový bod VPN v systému Windows. Otevřete Nastavení VPN a vyberte Přidat VPN .

5. Vyplňte požadované informace a ujistěte se, že jste vybrali Windows (vestavěný) jako poskytovatele VPN a Secure Socket Tunneling Protocol (SSTP) jako typ VPN.

6. Klikněte na Uložit dokončit.

Konfigurace klientů Ubuntu

1. Nainstalujte balíčky OpenVPN, abyste mohli používat klienta OpenVPN:

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

2. Po stažení a rozbalení souboru openvpn_config.zip importujte konfiguraci:

  • Otevřete Nastavení a přejděte na Síť .
  • Klikněte na + podepsat pro přidání VPN do vaší sítě.
  • Vyberte Importovat ze souboru…

3. Z balíčku OpenVPN Sample Config vyberte Vzdálený přístup k OpenVPN Phoenix edge soubor. Klikněte na tlačítko Otevřít v pravém horním rohu.

4. Zadejte Uživatelské jméno a Heslo pro ověření. Klikněte na Přidat pokračovat.

5. Přejděte na IPv4 a vyberte nastavení Použít toto připojení pouze pro zdroje v jeho síti . Klikněte na Použít .

Konfigurace klientů Mac

K instalaci klienta OpenVPN na Mac můžete použít Tunnelblick.

1. Otevřete Tunnelblick a vyberte Mám konfigurační soubory .

2. Zobrazí se okno s vysvětlením, jak nainstalovat konfigurační soubor.

3. Přetáhněte konfigurační soubor na ikonu TunnelBlink umístěnou na liště nabídek.

4. Připojte se k nově přidané síti VPN kliknutím na ikonu Tunnelblick a výběrem možnosti Připojit phx-edge_openvpn_remote_access_l3 .

5. Zadejte své uživatelské jméno VPN a heslo . Poté klikněte na OK pro přihlášení.

Nastavení připojení VPN mezi dvěma umístěními phoenixNAP BMC

Prostřednictvím VPN můžete propojit dvě umístění BMC. Takové spojení je také známé jako Lan to Lan (L2L) nebo Site to Site (S2S).

Takové nastavení vyžaduje servery BMC Linux v každém umístění. Oba servery musí mít veřejné a soukromé adresování. Fungují jako okrajový server SoftEther a jeden nebo více soukromých serverů BMC ve stejné backendové privátní síti.

V tomto příkladu používáme umístění Phoenix a Ashburn. Můžete však nastavit připojení VPN mezi libovolnými umístěními BMC phoenixNAP.

1. Pokud začínáte zde, proveďte kroky 16 &15 do 16 z prvního oddílu. Ty jsou nutné k nastavení strany Phoenix.

2. Poté vytvořte připojení přes SSH k SoftEther edge v Ashburn a nainstalujte balíček ansible:

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

3. Nainstalujte softasap.sa-vpn-softether ansible role z Ansible Galaxy:

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

4. Poznamenejte si název adaptéru a podsíť pro privátní síť typu backend pomocí příkazu:

ip address

5. Vytvořte dva soubory:vpn.yml a create_hub .

V případě potřeby změňte:

  • Dhcpset počáteční a koncový rozsah
  • SecureNatHostSet parametry IP adresy
  • ServerCertRegenerate doména

Pokud nejsou vyžadovány žádné změny, vložte níže uvedené řádky do serveru 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. Po vytvoření vpn.yml a create_hub souborů, můžete spustit ansible-playbook. K instalaci a konfiguraci serveru Ashburn SoftEther VPN použijte následující příkaz:

sudo ansible-playbook vpn.yml

V tomto okamžiku jste nainstalovali a nakonfigurovali servery SoftEther na dvou místech (Phoenix a Ashburn).

Nyní musíte tato umístění propojit pomocí tunelu S2S VPN.

8. Upravte create_hub init skript na obou serverech a vytvořte nový virtuální rozbočovač s názvem s2s .

HubCreate s2s /PASSWORD:""
hub s2s

9. Vytvořte heslo pro ověřování s2s VPN.

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

10. Chcete-li zahájit připojení VPN mezi weby, přidejte následující řádky k primárnímu umístění (v tomto příkladu je to Phoenix).

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

Toto nasměruje kaskádové připojení na veřejnou IP a s2s hub serveru SoftEther v umístění Ashburn.

11. Povolit provoz mezi vpn a s2s rozbočovače, musíte přidat virtuální směrovač na oba servery SoftEther.

Server Phoenix SoftEther:

  • Vytvořte virtuální směrovač s názvem s2s:
RouterAdd s2s
  • Přidejte rozhraní pro každý rozbočovač:
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
  • Přidejte statickou trasu pro vpn hub v lokalitě Ashburn:
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s

Server Ashburn SoftEther:

  • Vytvoření virtuálního směrovače s názvem s2s :
RouterAdd s2s
  • Přidejte rozhraní pro každý rozbočovač:
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
  • Přidejte statickou trasu pro vpn hub v lokalitě Phoenix:
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s

12. Dále musíte povolit uživatelům připojeným k Phoenixu navázat spojení se servery v Ashburn a naopak. Chcete-li to provést, přidejte do klienta VPN statickou trasu:

Server 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

Server 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

Abych to shrnul, Phoenix SoftEther create_hub počáteční skript by měl obsahovat následující obsah:

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

Ashburn SoftEther create_hub počáteční skript by měl obsahovat následující obsah:

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. Jakmile jsou init skripty připraveny, překonfigurujte oba servery SoftEther VPN:

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

15. Přidejte statické trasy k serverům pomocí privátní adresy serveru VPN, abyste dosáhli konektivity mezi umístěními.

Nastavení specifická pro CentOS

Pokud používáte CentOS servery, postupujte podle kroků uvedených pro každé umístění serveru.

Servery BMC na straně Phoenixu:

  • Přidejte statickou trasu na server spuštěním:
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Aby byly trasy trvalé, upravte konfigurační soubor sítě /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Přidejte do souboru informace o trasách:
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

Servery BMC na straně Ashburn:

  • Přidejte statickou trasu na server spuštěním:
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Zajistěte, aby byly trasy trvalé úpravou souboru konfigurace sítě /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Přidejte do souboru sekci tras:
- 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

Nastavení specifická pro Ubuntu

Pokud používáteUbuntu servery, postupujte podle kroků uvedených pro každé umístění.

Servery BMC na straně Phoenixu:

  • Přidejte statickou trasu na server spuštěním:
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Aby byly trasy trvalé, upravte konfigurační soubor sítě /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Přidejte do souboru následující informace:
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

Servery BMC na straně Ashburn:

  • Přidejte statickou trasu na server spuštěním:
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Zajistěte, aby byly trasy trvalé úpravou souboru konfigurace sítě /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Přidejte do souboru sekci tras:
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

Nastavení IPSec VPN mezi phoenixNAP BMC a on-premise zařízením

Pro ilustraci třetího scénáře používáme naši stávající topologii. Mít dvě místa BMC není povinné. Do tohoto příkladu zapadá připojení k místnímu datovému centru, kanceláři nebo vzdálenému místu. Pokud je toto váš jediný požadovaný případ použití, tato sekce stojí samostatně.

Jako místní koncový bod používáme konfiguraci Cisco ASA k vytvoření site-to-site IPsec VPN. K vytvoření tohoto tunelu navíc používáme stranu serveru strongSwan. Popsaný provoz může proudit z klientů vzdáleného přístupu do obou uzlů BMC a také ze vzdálené kanceláře do obou uzlů BMC. Připojení klienta vzdáleného přístupu přes BMC ke vzdálenému pracovišti/kanceláři není popsáno.

1. SSH na server edge a nainstalujte balíček strongSwan:

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

V závislosti na distribuci budou konfigurační soubory umístěny v různých cestách.

    • Na Ubuntu to najdete v:/etc/ipsec.*
    • V systému CentOS je konfigurační soubor umístěn v:/etc/strongswan/ipsec.*

2. Upravte konfigurační soubor IPsec na serveru edge v umístění 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. Předsdílený klíč IPSec je uložen v samostatném souboru:/etc/strongswan/ipsec.secrets

131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"

4. Vytvořte konfigurační soubory strongSwan (ipsec.conf a ipsec.secrets ) po změně potřebných parametrů. Na serveru Phoenix edge můžete použít následující konfiguraci:

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. Abyste se vyhnuli možným problémům se SELinuxem, spusťte na serveru CentOS edge další příkaz:

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

6. Spusťte službu strongSwan ve Phoenixu:

sudo systemctl enable --now strongswan

7. Podobný postup by měl být proveden na místě Ashburn. V tomto příkladu je okrajový serverový OS v Ashburnu Ubuntu (není povinné). Konfigurační soubory budou na jiné cestě. Po změně nezbytných parametrů vložte další řádky na okrajový server v umístění 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. Spusťte službu strongSwan na Ashburn:

sudo systemctl enable --now strongswan

9. Přidejte statické trasy na okrajové servery, abyste umožnili komunikaci s místním datovým centrem, kanceláří nebo vzdáleným místem:

Statické trasy specifické pro CentOS

Následující konfigurace platí proCentOS servery.

Servery BMC na straně Phoenixu:

  • Přidejte statickou trasu na server spuštěním:
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
  • Aby byly trasy trvalé, upravte konfigurační soubor sítě /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Přidejte do souboru následující informace:
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

Servery BMC na straně Ashburn:

  • Přidejte statickou trasu na server spuštěním:
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
  • Zajistěte, aby byly trasy trvalé úpravou souboru konfigurace sítě /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Přidejte do souboru sekci tras:
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

Statické trasy specifické pro Ubuntu

NaUbuntu použijte následující konfiguraci servery.

Phoenix side BMC servers:

  • 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. Jak nastavit Wireguard VPN na CentOS 8

  2. Jak nastavit WireGuard VPN na Ubuntu 20.04

  3. Jak nastavit WireGuard VPN na Ubuntu (průvodce krok za krokem)

  1. Nastavte linuxový cloud na holém kovu

  2. Vzdálená plocha Ubuntu:Jak ji nastavit a připojit

  3. Jak nastavit vzdálený přístup k Docker Daemon

  1. Jak nainstalovat Kubernetes na Bare Metal Server

  2. Co je Bare Metal Cloud

  3. Automatizované nasazení Spark Cluster na Bare Metal Cloud