Ú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 1 až 6 &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