Kā uz CentOS/RHEL 8 iestatīt IPsec balstītu VPN ar Strongswan


strongSwan ir atvērtā koda, daudzplatformu, mūsdienīgs un pilnīgs uz IPsec balstīts VPN risinājums Linux, kas nodrošina pilnīgu atbalstu interneta atslēgu apmaiņai (gan IKEv1, gan IKEv2), lai izveidotu drošības asociācijas (SA) starp diviem vienaudžiem. Tas ir pilnībā aprīkots, pēc konstrukcijas ir modulārs un piedāvā desmitiem spraudņu, kas uzlabo galveno funkcionalitāti.

Saistītais raksts: Kā iestatīt IPsec balstītu VPN ar Strongswan Debian un Ubuntu

Šajā rakstā jūs uzzināsiet, kā iestatīt vietņu IPsec VPN vārtejas, izmantojot strongSwan CentOS/RHEL 8 serveros. Tas ļauj vienaudžiem viens otru autentificēt, izmantojot spēcīgu iepriekš koplietotu atslēgu (PSK). Iestatīšana no vienas vietas uz otru nozīmē, ka katram drošības vārtejam aiz tā ir apakštīkls.

Neaizmirstiet konfigurēšanas laikā izmantot reālās pasaules IP adreses, sekojot rokasgrāmatai.

Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24
Public IP:  192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

1. darbība: kodola IP pārsūtīšanas iespējošana CentOS 8

1. Vispirms iespējojiet kodola IP pārsūtīšanas funkcionalitāti /etc/sysctl.conf konfigurācijas failā abās VPN vārtejās.

# vi /etc/sysctl.conf

Pievienojiet šīs rindas failā.

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. Pēc izmaiņu saglabāšanas failā izpildiet šādu komandu, lai izpildlaikā ielādētu jaunos kodola parametrus.

# sysctl -p

3. Pēc tam izveidojiet pastāvīgu statisku maršrutu failā/etc/sysconfig/network-scripts/route-eth0 abās drošības vārtejās.

# vi /etc/sysconfig/network-scripts/route-eth0

Pievienojiet failā šādu rindu.

#Site 1 Gateway
10.20.1.0/24  via 192.168.56.7

#Site 2 Gateway
10.10.1.0/24 via 192.168.56.6

4. Pēc tam restartējiet tīkla pārvaldnieku, lai piemērotu jaunās izmaiņas.

# systemctl restart NetworkManager

2. darbība: strongSwan instalēšana CentOS 8

5. Pakete strongswan ir paredzēta EPEL repozitorijā. Lai to instalētu, jums jāiespējo EPEL repozitorijs, pēc tam abās drošības vārtejās jāinstalē strongwan.

# dnf install epel-release
# dnf install strongswan

6. Lai pārbaudītu abos vārtejos instalēto strongswan versiju, palaidiet šādu komandu.

# strongswan version

7. Pēc tam palaidiet strongswan pakalpojumu un ļaujiet tam automātiski startēt sistēmas sāknēšanas laikā. Pēc tam pārbaudiet statusu abās drošības vārtejās.

# systemctl start strongswan 
# systemctl enable strongswan
# systemctl status strongswan

Piezīme: CentOS/REHL 8 jaunākajā strongswan versijā ir atbalsts abiem swanctl (jauna, pārnēsājama komandrindas utilīta, kas ieviesta ar strongSwan 5.2.0, ko izmanto, lai konfigurētu, kontrolētu un uzraudzītu IKE dēmonu Charon, izmantojot vici spraudni). un startera (vai ipsec) utilītu, izmantojot novecojušo insulta spraudni.

8. Galvenais konfigurācijas direktorijs ir/etc/strongswan /, kas satur konfigurācijas failus abiem spraudņiem:

# ls /etc/strongswan/

Šajā rokasgrāmatā mēs izmantosim IPsec utilītu, kas tiek izsaukta, izmantojot komandu strongswan un insulta interfeisu. Tātad mēs izmantosim šādus konfigurācijas failus:

  • /etc/strongswan/ipsec.conf - konfigurācijas fails strongSwan IPsec apakšsistēmai.
  • /etc/strongswan/ipsec.secrets - noslēpumu fails.

3. darbība: drošības vārteju konfigurēšana

9. Šajā solī jums jākonfigurē savienojuma profili katrā drošības vārtejā katrai vietnei, izmantojot /etc/strongswan/ipsec.conf strongswan konfigurācijas failu.

# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

Nokopējiet un ielīmējiet failā šādu konfigurāciju.

config setup
        charondebug="all"
        uniqueids=yes
conn ateway1-to-gateway2
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.7
        leftsubnet=10.10.1.1/24
        right=192.168.56.6
        rightsubnet=10.20.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

Nokopējiet un ielīmējiet failā šādu konfigurāciju:

config setup
        charondebug="all"
        uniqueids=yes
conn 2gateway-to-gateway1
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.6
        leftsubnet=10.20.1.1/24
        right=192.168.56.7
        rightsubnet=10.10.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart

Īsumā aprakstīsim visus iepriekš minētos konfigurācijas parametrus:

  • konfigurācijas iestatīšana - nosaka vispārējo IPSec konfigurācijas informāciju, kas attiecas uz visiem savienojumiem.
  • charondebug - norāda, cik daudz Charon atkļūdošanas izejas jāreģistrē.
  • unikāli - nosaka, vai konkrēts dalībnieka ID ir jāpatur unikāls.
  • conn gateway1-to-gateway2 - izmanto, lai iestatītu savienojuma nosaukumu.
  • tips - nosaka savienojuma veidu.
  • Automātiski - tiek izmantots, lai paziņotu, kā rīkoties ar savienojumu, kad tiek palaists vai restartēts IPSec.
  • keyexchange - deklarē izmantojamo IKE protokola versiju.
  • authby - norāda, kā vienaudžiem vajadzētu autentificēt vienam otru.
  • pa kreisi - paziņo kreisā dalībnieka publiskā tīkla saskarnes IP adresi.
  • leftsubnet - paziņo privāto apakštīklu aiz kreisā dalībnieka.
  • pa labi - paziņo pareizā dalībnieka publiskā tīkla saskarnes IP adresi.
  • tiesību apakštīkls - deklarē privāto apakštīklu aiz kreisā dalībnieka.
  • ike - izmanto, lai deklarētu izmantojamo IKE/ISAKMP SA šifrēšanas/autentifikācijas algoritmu sarakstu. Ņemiet vērā, ka tas var būt ar komatiem atdalīts saraksts.
  • esp - norāda savienojumam izmantojamo ESP šifrēšanas/autentifikācijas algoritmu sarakstu.
  • agresīvs - paziņo, vai izmantot agresīvo vai galveno režīmu.
  • atslēgas mēģinājumi - norāda mēģinājumu skaitu, kas jāveic, lai risinātu sarunas par savienojumu.
  • ikelifetime - norāda, cik ilgi pirms atkārtotām sarunām vajadzētu ilgt savienojuma ievadīšanas kanālam.
  • kalpošanas laiks - norāda, cik ilgam jābūt konkrētam savienojuma gadījumam, sākot no veiksmīgām sarunām līdz termiņa beigām.
  • dpddelay - paziņo laika intervālu, ar kuru R_U_THERE ziņojumi/INFORMĀCIJAS apmaiņa tiek nosūtīti vienaudžiem.
  • dpdtimeout - tiek izmantots, lai paziņotu noildzes intervālu, pēc kura neaktivitātes gadījumā visi savienojumi ar vienaudžiem tiek dzēsti.
  • dpdaction - norāda, kā izmantot Dead Peer Detection (DPD) protokolu, lai pārvaldītu savienojumu.

Visu strongSwan IPsec apakšsistēmas konfigurācijas parametru aprakstu varat atrast, izlasot ipsec.conf cilvēka lapu.

# man ipsec.conf

4. darbība: PSK konfigurēšana vienādranga autentifikācijai

10. Pēc tam jums ir jāveido spēcīgs PSK, ko vienaudži izmanto autentifikācijai šādi.

# head -c 24 /dev/urandom | base64

11. Pievienojiet PSK failā /etc/strongswan/ipsec.conf abās drošības vārtejās.

# vi /etc/strongswan/ipsec.secrets

Ievadiet failā šādu rindu.

#Site 1 Gateway
192.168.56.7  192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

#Site 1 Gateway
192.168.56.6  192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

12. Pēc tam palaidiet pakalpojumu strongsan un pārbaudiet savienojumu statusu.

# systemctl restart strongswan
# strongswan status

13. Pārbaudiet, vai varat piekļūt privātajiem apakštīkliem no jebkuras drošības vārtejas, izpildot ping komandu.

# ping 10.20.1.1
# ping 10.10.1.1

14. Visbeidzot, bet ne mazāk svarīgi, lai uzzinātu vairāk komandu strongswan, lai manuāli izveidotu/pazeminātu savienojumus un vairāk, skatiet strongswan palīdzības lapu.

# strongswan --help

Tas pagaidām ir viss! Lai dalītos savās domās ar mums vai uzdotu jautājumus, sazinieties ar mums, izmantojot zemāk esošo atsauksmju veidlapu. Un, lai uzzinātu vairāk par jauno swanctl lietderību un jauno elastīgāko konfigurācijas struktūru, skatiet strongSwan lietotāja dokumentāciju.