IPsec-alapú VPN beállítása a Strongswan segítségével Debianon és Ubuntun
A strongSwan egy nyílt forráskódú, többplatformos, teljes funkcionalitású és széles körben használt IPsec-alapú VPN (Virtual Private Network) megvalósítás, amely Linuxon, FreeBSD-n, OS X-en, Windowson, Androidon és iOS-en fut. Ez elsősorban egy kulcsos démon, amely támogatja az Internet Key Exchange protokollokat (IKEv1 és IKEv2) a biztonsági társítások (SA) létrehozásához.) két társ között.
Ez a cikk leírja, hogyan állíthat be helyek közötti IPSec VPN átjárókat az strongSwan használatával Ubuntu és Debian szervereken. . A helyek között azt értjük, hogy minden biztonsági átjáró mögött van egy alhálózat. Ezenkívül a társak egy előre megosztott kulccsal (PSK) hitelesítik egymást.
Tesztkörnyezet
A környezet konfigurálásához ne felejtse el lecserélni a következő IP-címeket a valós IP-címekre.
1. webhely átjárója (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
Site 2 Gateway (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
1. lépés: A kernel csomagtovábbítás engedélyezése
1. Először is be kell állítania a kernelt, hogy engedélyezze a csomagtovábbítást a megfelelő rendszerváltozók hozzáadásával az /etc/sysctl.conf konfigurációs fájlban mindkét biztonsági átjárón.
sudo vim /etc/sysctl.conf
Keresse meg a következő sorokat, és törölje a megjegyzéseket, és állítsa be az értékeket a képen látható módon (további információért olvassa el a fájl megjegyzéseit).
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. Ezután töltse be az új beállításokat a következő parancs futtatásával.
sudo sysctl -p
3. Ha engedélyezve van egy UFW tűzfalszolgáltatás, akkor a következő szabályokat kell hozzáadnia az /etc/ufw/before.rules konfigurációs fájlhoz közvetlenül a szűrőszabályok előtt akár biztonsági átjárók.
1. webhely átjárója (tecmint-devgateway)
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.2.0/24 -d 192.168.0.0/24 -j MASQUERADE
COMMIT
Site 2 Gateway (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. Miután hozzáadta a tűzfalszabályokat, alkalmazza az új módosításokat az UFW újraindításával az ábrán látható módon.
sudo ufw disable
sudo ufw enable
2. lépés: A strongSwan telepítése Debianban és Ubuntuban
5. Frissítse csomaggyorsítótárát mindkét biztonsági átjárón, és telepítse az strongswan csomagot az APT csomagkezelő segítségével.
sudo apt update
sudo apt install strongswan
6. A telepítés befejezése után a telepítő szkript elindítja a strongswan szolgáltatást, és lehetővé teszi, hogy a rendszerindításkor automatikusan elinduljon. A következő paranccsal ellenőrizheti állapotát és azt, hogy engedélyezve van-e.
sudo systemctl status strongswan.service
sudo systemctl is-enabled strongswan.service
3. lépés: Biztonsági átjárók konfigurálása
7. Ezután be kell állítania a biztonsági átjárókat az /etc/ipsec.conf konfigurációs fájl segítségével.
1. webhely átjárója (tecmint-devgateway)
sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig
sudo nano /etc/ipsec.conf
Másolja és illessze be a következő konfigurációt a fájlba.
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
Site 2 Gateway (tecmint-prodgateway)
sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig
sudo nano /etc/ipsec.conf
Másolja és illessze be a következő konfigurációt a fájlba.
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
Íme az egyes konfigurációs paraméterek jelentése:
- config setup – az IPSec általános konfigurációs adatait határozza meg, amelyek minden kapcsolatra vonatkoznak.
- charondebug – meghatározza, hogy mennyi Charon hibakeresési kimenetet kell naplózni.
- egyedi azonosítók – megadja, hogy egy adott résztvevőazonosítót egyedinek kell-e tartani.
- conn prodgateway-to-devgateway – a kapcsolat nevét határozza meg.
- type – a kapcsolat típusát határozza meg.
- automatikus – a kapcsolat kezelése az IPSec indításakor vagy újraindításakor.
- kulcscsere – meghatározza az IKE protokoll használandó verzióját.
- authby – meghatározza, hogy a társaknak hogyan kell hitelesíteniük egymást.
- bal – a bal oldali résztvevő nyilvános hálózati interfészének IP-címét határozza meg.
- baloldali alhálózat – jelzi a bal oldali résztvevő mögötti privát alhálózatot.
- jobbra – a megfelelő résztvevő nyilvános hálózati interfészének IP-címét adja meg.
- rightsubnet – a bal oldali résztvevő mögötti privát alhálózatot jelzi.
- ike – a használandó IKE/ISAKMP SA titkosítási/hitelesítési algoritmusok listáját határozza meg. Hozzáadhat vesszővel elválasztott listát.
- esp – a kapcsolathoz használandó ESP titkosítási/hitelesítési algoritmusok listáját határozza meg. Hozzáadhat vesszővel elválasztott listát.
- agresszív – megadja, hogy az Agresszív vagy a Fő módot használja-e.
- keyingtries – megadja, hogy hány kísérletet kell tenni a kapcsolat egyeztetésére.
- ikelifetime – azt határozza meg, hogy mennyi ideig kell tartania egy kapcsolat kulcscsatornájának az újratárgyalást megelőzően.
- élettartam – meghatározza, hogy mennyi ideig tartson fenn egy kapcsolat egy adott példánya a sikeres egyeztetéstől a lejáratig.
- dpddelay – azt az időintervallumot határozza meg, amelyen belül R_U_THERE üzenet/INFORMÁCIÓS csere elküldésre kerül a peer-nek.
- dpdtimeout – az időtúllépési időintervallumot határozza meg, amely után inaktivitás esetén minden kapcsolat törlődik egy partnerrel.
- dpdaction – meghatározza, hogyan kell használni a Dead Peer Detection (DPD) protokollt a kapcsolat kezelésére.
A fenti konfigurációs paraméterekkel kapcsolatos további információkért olvassa el az ipsec.conf kézikönyvet a parancs futtatásával.
man ipsec.conf
4. lépés: A PSK konfigurálása a peer-to-peer hitelesítéshez
8. Mindkét biztonsági átjáró konfigurálása után hozzon létre egy biztonságos PSK-t, amelyet a társak használhatnak a következő paranccsal.
head -c 24 /dev/urandom | base64
9. Ezután adja hozzá a PSK-t az /etc/ipsec.secrets fájlhoz mindkét átjárón.
sudo vim /etc/ipsec.secrets
Másolja és illessze be a következő sort.
------- 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. Indítsa újra az IPSec programot, és ellenőrizze annak állapotát a kapcsolatok megtekintéséhez.
sudo ipsec restart
sudo ipsec status
11. Végül egy ping parancs futtatásával ellenőrizze, hogy bármelyik biztonsági átjáróról hozzáfér-e a privát alhálózatokhoz.
ping 192.168.0.101
ping 10.0.2.15
12. Ezenkívül leállíthatja és elindíthatja az IPSec-et a képen látható módon.
sudo ipsec stop
sudo ipsec start
13. Ha többet szeretne megtudni a kapcsolatokat manuálisan létrehozó IPSec-parancsokról és egyebekről, tekintse meg az IPSec súgóoldalát.
ipsec --help
Ez minden! Ebben a cikkben bemutattuk, hogyan állíthat be helyek közötti IPSec VPN-t strongSwan használatával Ubuntu és Debian szervereken, ahol mindkettő a biztonsági átjárókat úgy konfigurálták, hogy PSK használatával hitelesítsék egymást. Ha bármilyen kérdése vagy gondolata van, forduljon hozzánk az alábbi visszajelzési űrlapon keresztül.