strongSwan je open source, multiplatformní, plně vybavená a široce používaná implementace VPN (Virtual Private Network) založená na IPsec, která běží na Linuxu, FreeBSD, OS X, Windows, Android a iOS. Je to především klíčovací démon, který podporuje Internet Key Exchange protokoly (IKEv1 a IKEv2 ) k vytvoření přidružení zabezpečení (SA ) mezi dvěma vrstevníky.
Tento článek popisuje, jak nastavit site-to-site IPSec VPN brány pomocí strongSwan na Ubuntu a Debian servery. Pod pojmem site-to-site rozumíme, že každá bezpečnostní brána má za sebou podsíť. Kromě toho se partneři navzájem ověří pomocí předem sdíleného klíče (PSK ).
Testovací prostředí
Nezapomeňte nahradit následující IP adresy vašimi skutečnými IP, abyste nakonfigurovali své prostředí.
Brána webu 1 (tecmint-devgateway)
OS 1: Debian or Ubuntu Public IP: 10.20.20.1 Private IP: 192.168.0.101/24 Private Subnet: 192.168.0.0/24
Brána webu 2 (tecmint-prodgateway)
OS 2: Debian or Ubuntu Public IP: 10.20.20.3 Private IP: 10.0.2.15/24 Private Subnet: 10.0.2.0/24
Krok 1:Povolení předávání paketů jádra
1. Nejprve musíte nakonfigurovat jádro tak, aby umožňovalo předávání paketů přidáním příslušných systémových proměnných do /etc/sysctl.conf konfigurační soubor na obou bezpečnostních branách.
$ sudo vim /etc/sysctl.conf
Vyhledejte následující řádky a odkomentujte je a nastavte jejich hodnoty, jak je uvedeno (další informace si přečtěte v komentářích v souboru).
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
2. Dále načtěte nová nastavení spuštěním následujícího příkazu.
$ sudo sysctl -p

Načíst nastavení jádra Sysctl
3. Pokud máte povolenou službu brány firewall UFW, musíte do /etc/ufw/before.rules přidat následující pravidla konfigurační soubor těsně před pravidly filtru v obou bezpečnostních branách.
Brána webu 1 (tecmint-devgateway)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.0.2.0/24 -d 192.168.0.0/24 -j MASQUERADE COMMIT
Brána webu 2 (tecmint-prodgateway)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 192.168.0.0/24 -d 10.0.2.0/24 -j MASQUERADE COMMIT
4. Po přidání pravidel brány firewall aplikujte nové změny restartováním UFW jak je uvedeno.
$ sudo ufw disable $ sudo ufw enable
Krok 2:Instalace strongSwan v Debianu a Ubuntu
5. Aktualizujte mezipaměť balíčků na obou bezpečnostních branách a nainstalujte strongswan pomocí správce balíčků APT.
$ sudo apt update $ sudo apt install strongswan
6. Jakmile je instalace dokončena, instalační skript spustí strongswan službu a povolit její automatické spouštění při startu systému. Jeho stav a zda je povoleno můžete zkontrolovat pomocí následujícího příkazu.
$ sudo systemctl status strongswan.service $ sudo systemctl is-enabled strongswan.service
Krok 3:Konfigurace bezpečnostních bran
7. Dále je třeba nakonfigurovat bezpečnostní brány pomocí /etc/ipsec.conf konfigurační soubor.
Brána webu 1 (tecmint-devgateway)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo nano /etc/ipsec.conf
Zkopírujte a vložte následující konfiguraci do souboru.
config setup charondebug="all" uniqueids=yes conn devgateway-to-prodgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.1 leftsubnet=192.168.0.101/24 right=10.20.20.3 rightsubnet=10.0.2.15/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Brána webu 2 (tecmint-prodgateway)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo cp /etc/ipsec.conf
Zkopírujte a vložte následující konfiguraci do souboru.
config setup charondebug="all" uniqueids=yes conn prodgateway-to-devgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.3 leftsubnet=10.0.2.15/24 right=10.20.20.1 rightsubnet=192.168.0.101/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Zde je význam každého konfiguračního parametru:
- nastavení konfigurace – určuje obecné konfigurační informace pro IPSec, které platí pro všechna připojení.
- charondebug – definuje, kolik výstupů ladění Charonu má být protokolováno.
- jedinečné – určuje, zda má být ID konkrétního účastníka ponecháno jedinečné.
- připojení prodgateway-to-devgateway – definuje název připojení.
- typ – definuje typ připojení.
- automaticky – jak zacházet s připojením při spuštění nebo restartu IPSec.
- výměna klíčů – definuje verzi protokolu IKE, která se má použít.
- authby – definuje, jak by se kolegové měli navzájem autentizovat.
- doleva – definuje IP adresu rozhraní veřejné sítě levého účastníka.
- levá podsíť – uvádí soukromou podsíť za levým účastníkem.
- vpravo – určuje IP adresu rozhraní veřejné sítě správného účastníka.
- rightsubnet – uvádí soukromou podsíť za levým účastníkem.
- jako – definuje seznam IKE/ISAKMP SA šifrovacích/ověřovacích algoritmů, které mají být použity. Můžete přidat seznam oddělený čárkami.
- esp – definuje seznam šifrovacích/ověřovacích algoritmů ESP, které mají být použity pro připojení. Můžete přidat seznam oddělený čárkami.
- agresivní – určuje, zda použít agresivní nebo hlavní režim.
- pokusy o klíč – uvádí počet pokusů, které by měly být provedeny k vyjednání spojení.
- ikelifetime – uvádí, jak dlouho by měl klíčovací kanál připojení trvat, než bude znovu vyjednán.
- životnost – definuje, jak dlouho by měla konkrétní instance připojení trvat, od úspěšného vyjednávání po vypršení platnosti.
- dpddelay – určuje časový interval, ve kterém jsou zprávy R_U_THERE/INFORMAČNÍ výměny odesílány rovnocennému uživateli.
- dpdtimeout – určuje časový limit, po jehož uplynutí se v případě nečinnosti odstraní všechna připojení k peer.
- dpdaction – definuje, jak používat protokol Dead Peer Detection (DPD) ke správě připojení.
Další informace o výše uvedených konfiguračních parametrech naleznete na ipsec.conf manuálovou stránku spuštěním příkazu.
$ man ipsec.conf
Krok 4:Konfigurace PSK pro ověřování Peer-to-Peer
8. Po konfiguraci obou bezpečnostních bran vygenerujte bezpečné PSK pro použití partnery pomocí následujícího příkazu.
$ head -c 24 /dev/urandom | base64

Vygenerovat klíč PSK
9. Dále přidejte PSK v /etc/ipsec.secrets soubor na obou branách.
$ sudo vim /etc/ipsec.secrets
Zkopírujte a vložte následující řádek.
------- Site 1 Gateway (tecmint-devgateway) ------- 10.20.20.1 10.20.20.3 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac=" ------- Site 2 Gateway (tecmint-prodgateway) ------- 10.20.20.3 10.20.20.1 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac="
10. Restartujte IPSec program a zkontrolujte jeho stav pro zobrazení připojení.
$ sudo ipsec restart $ sudo ipsec status

Zobrazit stav připojení IPSec
11. Nakonec ověřte, že máte přístup k soukromým podsítím z obou bezpečnostních bran spuštěním příkazu ping.
$ ping 192.168.0.101 $ ping 10.0.2.15

Ověřte nastavení VPN typu Site-to-Site
12. Kromě toho můžete zastavit a spustit IPSec, jak je znázorněno.
$ sudo ipsec stop $ sudo ipsec start
13. Chcete-li se dozvědět více o příkazech IPSec pro ruční vyvolání připojení a další, podívejte se na stránku nápovědy IPSec.
$ ipsec --help
To je vše! V tomto článku jsme popsali, jak nastavit site-to-site IPSec VPN pomocí strongSwan na Ubuntu a Debian servery, kde byly obě bezpečnostní brány nakonfigurovány tak, aby se navzájem ověřovaly pomocí PSK . Pokud máte nějaké dotazy nebo myšlenky, o které byste se chtěli podělit, kontaktujte nás prostřednictvím formuláře pro zpětnou vazbu níže.
Sharing is Caring…Sdílet na FacebookuSdílet na TwitteruSdílet na LinkedinSdílet na Redditu