CentOS/RHEL 8'de Strongswan ile IPsec tabanlı VPN Nasıl Kurulur


StrongSwan, İnternet Anahtar Değişimi (hem IKEv1 hem de ) için tam destek sağlayan, Linux için açık kaynaklı, çok platformlu, modern ve eksiksiz bir IPsec tabanlı VPN çözümüdür. IKEv2) iki eş arasında güvenlik ilişkileri (SA) kurmak için kullanılır. Tam özelliklidir, tasarımı gereği modülerdir ve temel işlevselliği geliştiren düzinelerce eklenti sunar.

İlgili Makale: Debian ve Ubuntu'da Strongswan ile IPsec Tabanlı VPN Nasıl Kurulur

Bu makalede, CentOS/RHEL 8 sunucularında strongSwan kullanarak siteden siteye IPsec VPN ağ geçitlerinin nasıl kurulacağını öğreneceksiniz. Bu, eşlerin güçlü bir önceden paylaşılan anahtar (PSK) kullanarak birbirlerinin kimliklerini doğrulamasına olanak tanır. Siteden siteye kurulum, her güvenlik ağ geçidinin arkasında bir alt ağın bulunması anlamına gelir.

Test Ortamı

Kılavuzu takip ederken yapılandırmalar sırasında gerçek dünyadaki IP adreslerinizi kullanmayı unutmayın.

Site 1 Ağ Geçidi
Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24
Site 2 Ağ Geçidi
Public IP:  192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

Adım 1: CentOS 8'de Çekirdek IP Yönlendirmeyi Etkinleştirme

1. Her iki VPN ağ geçidinde de /etc/sysctl.conf yapılandırma dosyasında çekirdek IP yönlendirme işlevini etkinleştirerek başlayın.

vi /etc/sysctl.conf

Bu satırları dosyaya ekleyin.

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. Dosyadaki değişiklikleri kaydettikten sonra, yeni çekirdek parametrelerini çalışma zamanında yüklemek için aşağıdaki komutu çalıştırın.

sysctl -p

3. Ardından, her iki güvenlik ağ geçidindeki /etc/sysconfig/network-scripts/route-eth0 dosyasında kalıcı bir statik rota oluşturun.

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

Aşağıdaki satırı dosyaya ekleyin.

#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. Ardından yeni değişiklikleri uygulamak için ağ yöneticisini yeniden başlatın.

systemctl restart NetworkManager

Adım 2: StrongSwan'ı CentOS 8'e yükleme

5. strongswan paketi EPEL deposunda sağlanır. Yüklemek için EPEL deposunu etkinleştirmeniz, ardından her iki güvenlik ağ geçidine de Strongwan'ı yüklemeniz gerekir.

dnf install epel-release
dnf install strongswan

6. Her iki ağ geçidinde de yüklü olan strongswan sürümünü kontrol etmek için aşağıdaki komutu çalıştırın.

strongswan version

7. Ardından, strongswan hizmetini başlatın ve sistem önyüklemesinde otomatik olarak başlatılmasını etkinleştirin. Daha sonra her iki güvenlik ağ geçidindeki durumu doğrulayın.

systemctl start strongswan 
systemctl enable strongswan
systemctl status strongswan

Not: CentOS/REHL 8'deki strongswan'ın en son sürümü, her iki swanctl desteğiyle birlikte gelir (strongSwan 5.2.0 ile sunulan, vici eklentisini kullanarak IKE arka plan programı Charon'u yapılandırmak, kontrol etmek ve izlemek için kullanılan yeni, taşınabilir bir komut satırı yardımcı programı) ve başlatıcı Strong> (veya ipsec) yardımcı programını kullanarak kullanımdan kaldırılan vuruş eklentisini kullanın.

8. Ana yapılandırma dizini, her iki eklenti için de yapılandırma dosyalarını içeren /etc/strongswan/ dizini:

ls /etc/strongswan/

Bu kılavuz için strongswan komutu ve vuruş arayüzü kullanılarak çağrılan IPsec yardımcı programını kullanacağız. Bu yüzden aşağıdaki yapılandırma dosyalarını kullanacağız:

  • /etc/strongswan/ipsec.conf – StrongSwan IPsec alt sistemi için yapılandırma dosyası.
  • /etc/strongswan/ipsec.secrets – gizli dosyalar dosyası.

3. Adım: Güvenlik Ağ Geçitlerini Yapılandırma

9. Bu adımda, /etc/strongswan/ipsec.conf Strongswan yapılandırma dosyasını kullanarak her site için her güvenlik ağ geçidindeki bağlantı profillerini yapılandırmanız gerekir.

Site 1 Bağlantı Profilini Yapılandırma

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

Aşağıdaki yapılandırmayı kopyalayıp dosyaya yapıştırın.

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

Site 2 Bağlantı Profilini Yapılandırma

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

Aşağıdaki yapılandırmayı kopyalayıp dosyaya yapıştırın:

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

Yukarıdaki konfigürasyon parametrelerinin her birini kısaca açıklayalım:

  • yapılandırma kurulumu – tüm bağlantılar için geçerli olan IPSec'e ilişkin genel yapılandırma bilgilerini tanımlar.
  • charondebug – Charon hata ayıklama çıktısının ne kadarının günlüğe kaydedilmesi gerektiğini belirtir.
  • benzersiz kimlikler – belirli bir katılımcı kimliğinin benzersiz tutulması gerekip gerekmediğini tanımlar.
  • bağlantı ağ geçidi1'den ağ geçidi2'ye – bağlantı adını ayarlamak için kullanılır.
  • tür – bağlantı türünü tanımlar.
  • Otomatik – IPSec başlatıldığında veya yeniden başlatıldığında bağlantının nasıl yönetileceğini bildirmek için kullanılır.
  • keyexchange – kullanılacak IKE protokolünün sürümünü bildirir.
  • authby – eşlerin birbirlerinin kimliklerini nasıl doğrulaması gerektiğini belirtir.
  • sol – soldaki katılımcının genel ağ arayüzünün IP adresini bildirir.
  • leftsubnet – sol katılımcının arkasındaki özel alt ağı bildirir.
  • sağ – doğru katılımcının genel ağ arayüzünün IP adresini bildirir.
  • rightsubnet – sol katılımcının arkasındaki özel alt ağı bildirir.
  • ike – kullanılacak IKE/ISAKMP SA şifreleme/kimlik doğrulama algoritmalarının listesini bildirmek için kullanılır. Bunun virgülle ayrılmış bir liste olabileceğini unutmayın.
  • esp – bağlantı için kullanılacak ESP şifreleme/kimlik doğrulama algoritmalarının listesini belirtir.
  • agresif – Agresif Modun mu yoksa Ana Modun mu kullanılacağını belirtir.
  • anahtarlama denemeleri – bir bağlantıda anlaşma sağlamak için yapılması gereken denemelerin sayısını bildirir.
  • ikelifetime – bir bağlantının anahtarlama kanalının yeniden anlaşmaya varılmadan önce ne kadar süre dayanması gerektiğini belirtir.
  • ömür boyu – başarılı anlaşmadan sona erme tarihine kadar belirli bir bağlantı örneğinin ne kadar süre dayanması gerektiğini belirtir.
  • dpddelay – R_U_THERE mesajlarının/BİLGİ alışverişlerinin eşe gönderildiği zaman aralığını bildirir.
  • dpdtimeout – zaman aşımı aralığını bildirmek için kullanılır; bu süre sonunda, işlem yapılmaması durumunda eşe olan tüm bağlantılar silinir.
  • dpdaction – bağlantıyı yönetmek için Ölü Eş Algılama (DPD) protokolünün nasıl kullanılacağını belirtir.

StrongSwan IPsec alt sistemine ilişkin tüm yapılandırma parametrelerinin açıklamasını ipsec.conf kılavuz sayfasını okuyarak bulabilirsiniz.

man ipsec.conf

Adım 4: Eşler Arası Kimlik Doğrulaması için PSK'yı Yapılandırma

10. Daha sonra, eşler tarafından kimlik doğrulama için kullanılacak güçlü bir PSK oluşturmanız gerekir.

head -c 24 /dev/urandom | base64

11. PSK'yı her iki güvenlik ağ geçidindeki /etc/strongswan/ipsec.conf dosyasına ekleyin.

vi /etc/strongswan/ipsec.secrets

Dosyaya aşağıdaki satırı girin.

#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. Ardından strongsan hizmetini başlatın ve bağlantıların durumunu kontrol edin.

systemctl restart strongswan
strongswan status

13. Bir ping komutu çalıştırarak her iki güvenlik ağ geçidinden de özel alt ağlara erişip erişemediğinizi test edin.

ping 10.20.1.1
ping 10.10.1.1

14. Son olarak, bağlantıları manuel olarak açma/kapama konusunda daha fazla strongswan komutu öğrenmek ve daha fazlasını öğrenmek için Strongswan yardım sayfasına bakın.

strongswan --help

Şimdilik bu kadar! Düşüncelerinizi bizimle paylaşmak veya soru sormak için aşağıdaki geri bildirim formunu kullanarak bize ulaşabilirsiniz. Yeni swanctl yardımcı programı ve yeni, daha esnek yapılandırma yapısı hakkında daha fazla bilgi edinmek için StrongSwan Kullanıcı Dokümantasyonuna bakın.