GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit VPN na bázi IPsec se Strongswanem na Debianu a Ubuntu

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
Ubuntu
  1. Jak nastavit WireGuard VPN na Ubuntu 20.04

  2. Jak nainstalovat a nastavit mysql 8 na Ubuntu 20.04

  3. Jak nastavit bránu firewall s UFW v Ubuntu \ Debian

  1. Jak používat APT s proxy na Ubuntu a Debianu

  2. Jak nainstalovat a nastavit Gerbera Media Server v Ubuntu / Debian

  3. Jak nastavit nebo změnit časové pásmo na Ubuntu 20.04 a 21.04

  1. Jak nastavit WireGuard VPN na Ubuntu 18.04

  2. Jak nastavit bránu firewall s UFW na Ubuntu 20.04

  3. Jak nastavit WireGuard VPN na Ubuntu 20.04