Skip to main content

StrongSwan ile IKEv2 VPN Sunucusu Kurulumu (Ubuntu 22.04)

Bu rehberde Ubuntu 22.04 üzerinde StrongSwan + IKEv2/IPSec kullanarak yüksek güvenlikli bir VPN sunucusu kurmayı öğreneceksiniz. Kendi CA’nızı oluşturacak, sunucu sertifikasını imzalayacak, StrongSwan’ı yapılandıracak ve Windows, macOS, Linux, iOS ve Android istemcilerini bağlayacaksınız.

IKEv2; hızlı, kararlı ve özellikle mobil cihazlarda bağlantı kopmalarına karşı dayanıklı bir protokoldür. Platformların çoğunda yerleşik destek sunar.


Kullanılan Teknolojiler

  • StrongSwan
  • IKEv2 / IPSec
  • PKI & Sertifika Yetkilisi (CA)
  • RSA anahtarları
  • EAP-MSCHAPv2
  • NAT, MASQUERADE, ESP Forwarding
  • UFW ve IP forwarding

Kullanıcı Akışı

  1. StrongSwan kurulumu
  2. CA ve sunucu sertifikalarının oluşturulması
  3. ipsec.conf yapılandırması
  4. Kullanıcı kimlik doğrulaması
  5. UFW NAT ve IP yönlendirme ayarları
  6. CA’nın istemcilere yüklenmesi
  7. Farklı platformlarda bağlantı testi

🖥️ StrongSwan IKEv2 VPN Kurulum Adımları

1. StrongSwan Kurulumu

Yerel paket listesini güncelleyin:

sudo apt update

Paket listelerini yeniler.

StrongSwan ve PKI araçlarını kurun:


sudo apt install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins

Bu paketler IKEv2 desteği, kimlik doğrulama ve sertifika işlemleri için gerekir.

2. Sertifika Yetkilisi (CA) Oluşturma

PKI dizinlerini oluşturun:


mkdir -p ~/pki/{cacerts,certs,private}
chmod 700 ~/pki

CA özel anahtarını oluşturun:


pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/ca-key.pem

CA sertifikasını oluşturun:


pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem \
--type rsa --dn "CN=Rabisu VPN Kök CA" --outform pem > ~/pki/cacerts/ca-cert.pem

3. VPN Sunucu Sertifikası Oluşturma

Sunucu özel anahtarını oluşturun:


pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/server-key.pem

Sunucu sertifikasını imzalayın:


pki --pub --in ~/pki/private/server-key.pem --type rsa \
| pki --issue --lifetime 1825 \
--cacert ~/pki/cacerts/ca-cert.pem \
--cakey ~/pki/private/ca-key.pem \
--dn "CN=vpn.rabisu.cloud" --san vpn.rabisu.cloud \
--flag serverAuth --flag ikeIntermediate --outform pem \
> ~/pki/certs/server-cert.pem

Dosyaları StrongSwan dizinine taşıyın:


sudo cp -r ~/pki/* /etc/ipsec.d/

4. StrongSwan Yapılandırması

Varsayılan dosyayı yedekleyin:


sudo mv /etc/ipsec.conf{,.original}

Yeni dosyayı açın:


sudo nano /etc/ipsec.conf

Aşağıdaki yapılandırmayı ekleyin:


config setup
charondebug="ike 1, knl 1, cfg 0"
uniqueids=no

conn ikev2-vpn
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
dpdaction=clear
dpddelay=300s
rekey=no

left=%any
[email protected]
leftcert=server-cert.pem
leftsendcert=always
leftsubnet=0.0.0.0/0

right=%any
rightid=%any
rightauth=eap-mschapv2
rightsourceip=10.10.10.0/24
rightdns=8.8.8.8,8.8.4.4
rightsendcert=never

eap_identity=%identity

ike=chacha20poly1305-sha512-curve25519-prfsha512,aes256gcm16-sha384-prfsha384-ecp384
esp=chacha20poly1305-sha512,aes256gcm16-ecp384

5. Kullanıcı Kimlik Doğrulaması

Dosyayı açın:


sudo nano /etc/ipsec.secrets

Ekle:


: RSA "server-key.pem"
vpnkullanici : EAP "gizliSifre123"

Servisi yeniden başlatın:


sudo systemctl restart strongswan-starter

6. Firewall ve IP Forwarding Ayarları

Gerekli portları açın:


sudo ufw allow OpenSSH
sudo ufw allow 500,4500/udp

Ağ arayüzünü bulun:


ip route show default

UFW NAT kuralları:


sudo nano /etc/ufw/before.rules

En üstüne ekleyin:


*nat
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
COMMIT

IP yönlendirmeyi açın:


sudo nano /etc/ufw/sysctl.conf

Ekleyin:


net/ipv4/ip_forward=1
net/ipv4/conf/all/accept_redirects=0
net/ipv4/conf/all/send_redirects=0
net/ipv4/ip_no_pmtu_disc=1

Firewall’ı yenileyin:


sudo ufw disable
sudo ufw enable

7. CA Sertifikasını İstemcilere Yükleme

CA sertifikasını görüntüleyin:


cat /etc/ipsec.d/cacerts/ca-cert.pem

Bunu kopyalayıp ca-cert.pem olarak cihazlarınıza aktarın.

Desteklenen Platformlar

Windows 10/11

macOS

iOS

Android

Ubuntu / Linux dağıtımları

Her cihazda:

Tür: IKEv2

Sunucu: vpn.rabisu.cloud

Uzak Kimlik (Remote ID): vpn.rabisu.cloud

Kimlik doğrulama: Kullanıcı adı + parola

CA sertifikası: Kök CA dosyası


❓ Sıkça Sorulan Sorular (SSS)

1. CA sertifikası olmadan neden bağlantı çalışmaz?

İstemci, sunucunun kimliğini doğrulayamaz.

2. left / right tam olarak ne demek?

left = sunucu (yerel) right = istemci (uzak)

3. Bağlantı kuruluyor ama internet yoksa sebep nedir?

Genellikle NAT / MASQUERADE eksiktir.

4. Hız düşükse ne yapılabilir?

AES-GCM şifre paketleri en hızlı uyumlu seçenektir.

5. Birden fazla kullanıcı ekleyebilir miyim?

Evet. /etc/ipsec.secrets içine her satır bir kullanıcıdır.


🎯 Sonuç

Ubuntu 22.04 üzerinde StrongSwan ile modern, hızlı ve güvenli bir IKEv2 VPN kurdunuz. Kendi CA’nızı ürettiniz, sunucu sertifikasını imzaladınız, firewall yapılandırmasını tamamladınız ve tüm istemci türlerini bağlanabilir hale getirdiniz.

Bu yapıyı Rabisu Bulut Sanal Örnekleri üzerinde anında test edebilir ve güvenli VPN altyapınızı devreye alabilirsiniz.