Cara mengatur VPN berbasis IPSEC dengan Strongswan di Debian dan Ubuntu

Cara mengatur VPN berbasis IPSEC dengan Strongswan di Debian dan Ubuntu

Strongswan adalah sumber terbuka, lintas platform, fitur penuh, dan implementasi VPN (Virtual Private Network) berbasis IPSEC yang banyak digunakan yang berjalan di Linux, FreeBSD, OS X, Windows, Android, dan iOS. Ini terutama adalah daemon kunci yang mendukung Pertukaran Kunci Internet protokol (Ikev1 Dan Ikev2) untuk membangun asosiasi keamanan (Sa) antara dua rekan.

Artikel ini menjelaskan cara mengatur situs-ke-situs IPSEC VPN Gateway menggunakan kuat pada Ubuntu Dan Debian server. Dengan situs ke situs kami berarti setiap gateway keamanan memiliki sub-net di belakangnya. Selain itu, rekan-rekan akan mengotentikasi satu sama lain menggunakan kunci yang dibagikan sebelumnya (Psk).

Lingkungan pengujian

Ingatlah untuk mengganti IPS berikut dengan IPS dunia nyata Anda untuk mengonfigurasi lingkungan Anda.

Situs 1 Gateway (Tecmint-Devgateway)

OS 1: IP Publik Debian atau Ubuntu: 10.20.20.1 IP pribadi: 192.168.0.101/24 Subnet Pribadi: 192.168.0.0/24 

Situs 2 Gateway (Tecmint-Prodgateway)

OS 2: IP Publik Debian atau Ubuntu: 10.20.20.3 IP pribadi: 10.0.2.15/24 Subnet Pribadi: 10.0.2.0/24 

Langkah 1: Mengaktifkan Penerusan Paket Kernel

1. Pertama, Anda perlu mengonfigurasi kernel untuk mengaktifkan penerusan paket dengan menambahkan variabel sistem yang sesuai /etc/sysctl.conf file konfigurasi di kedua gateway keamanan.

$ sudo vim /etc /sysctl.conf 

Cari baris berikut dan buka komentar mereka dan atur nilainya seperti yang ditunjukkan (baca komentar di file untuk informasi lebih lanjut).

bersih.IPv4.ip_forward = 1 net.IPv6.conf.semua.penerusan = 1 net.IPv4.conf.semua.accept_redirects = 0 net.IPv4.conf.semua.send_redirects = 0 

2. Selanjutnya, muat pengaturan baru dengan menjalankan perintah berikut.

$ sudo sysctl -p 
Muat pengaturan kernel sysctl

3. Jika Anda memiliki layanan firewall UFW yang diaktifkan, Anda perlu menambahkan aturan berikut ke /etc/ufw/sebelumnya.aturan file konfigurasi tepat sebelum aturan filter di kedua gateway keamanan.

Situs 1 Gateway (Tecmint-Devgateway)

*NAT: POSTROUTING ACCEPT [0: 0] -A POSTROUTING -S 10.0.2.0/24 -D 192.168.0.0/24 -J Masquerade Commit 

Situs 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. Setelah aturan firewall ditambahkan, lalu terapkan perubahan baru dengan memulai kembali UFW seperti yang ditunjukkan.

$ sudo ufw nonaktifkan $ sudo ufw aktifkan 

Langkah 2: Memasang Strongswan di Debian dan Ubuntu

5. Perbarui cache paket Anda di kedua gateway keamanan dan instal kuat Paket Menggunakan Manajer Paket APT.

$ sudo apt update $ sudo apt instal strongswan 

6. Setelah instalasi selesai, skrip penginstal akan memulai kuat layanan dan aktifkan untuk secara otomatis mulai dari boot sistem. Anda dapat memeriksa statusnya dan apakah diaktifkan menggunakan perintah berikut.

$ sudo Systemctl Status Strongswan.Layanan $ Sudo Systemctl yang diaktifkan oleh Strongswan.melayani 

Langkah 3: Mengkonfigurasi Gateway Keamanan

7. Selanjutnya, Anda perlu mengkonfigurasi gateway keamanan menggunakan /etc/ipsec.conf file konfigurasi.

Situs 1 Gateway (Tecmint-Devgateway)

$ sudo cp /etc /ipsec.conf /etc /ipsec.conf.Orig $ sudo nano /etc /ipsec.conf 

Salin dan tempel konfigurasi berikut dalam file.

Konfigurasi Pengaturan Charondebug = "Semua" UniqueIds = Ya Conn Devgateway-to-Prodgateway Type = Tunnel Auto = Mulai KeyExchange = Ikev2 Authby = Secret Left = 10.20.20.1 leftsubnet = 192.168.0.101/24 benar = 10.20.20.3 Rightsubnet = 10.0.2.15/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! agresif = tidak ada kunci =%selamanya ikelifetime = 28800S seumur hidup = 3600S dpddelay = 30S dpdtimeout = 120S dpdaction = restart 

Situs 2 Gateway (Tecmint-Prodgateway)

$ sudo cp /etc /ipsec.conf /etc /ipsec.conf.Orig $ sudo nano /etc /ipsec.conf 

Salin dan tempel konfigurasi berikut ke dalam file.

Konfigurasi Pengaturan Charondebug = "Semua" UnionIDS = Ya Conn Prodgateway-to-Devgateway Type = Tunnel Auto = Mulai KeyExchange = Ikev2 Authby = Secret Left = 10.20.20.3 leftsubnet = 10.0.2.15/24 benar = 10.20.20.1 Rightsubnet = 192.168.0.101/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! agresif = tidak ada kunci =%selamanya ikelifetime = 28800S seumur hidup = 3600S dpddelay = 30S dpdtimeout = 120S dpdaction = restart 

Berikut arti dari setiap parameter konfigurasi:

  • Pengaturan Konfigurasi - Menentukan informasi konfigurasi umum untuk IPSEC yang berlaku untuk semua koneksi.
  • Charondebug - mendefinisikan berapa banyak output debugging charon yang harus dicatat.
  • Unik - Menentukan apakah ID peserta tertentu harus tetap unik.
  • Conn Prodgateway-to-devgateway - mendefinisikan nama koneksi.
  • jenis - mendefinisikan jenis koneksi.
  • mobil - bagaimana menangani koneksi saat ipsec dimulai atau restart.
  • KeyExchange - mendefinisikan versi protokol IKE untuk digunakan.
  • AUTHBY - mendefinisikan bagaimana teman sebaya harus mengotentikasi satu sama lain.
  • kiri - mendefinisikan alamat IP antarmuka jaringan publik peserta kiri.
  • LeftSubnet - menyatakan subnet swasta di belakang peserta kiri.
  • Kanan - Menentukan alamat IP antarmuka jaringan publik peserta yang tepat.
  • Hak Hak - menyatakan subnet swasta di belakang peserta kiri.
  • Ike - mendefinisikan daftar algoritma enkripsi/otentikasi Ike/Isakmp SA. Anda dapat menambahkan daftar yang dipisahkan koma.
  • esp - Menentukan daftar algoritma enkripsi/otentikasi ESP untuk digunakan untuk koneksi. Anda dapat menambahkan daftar yang dipisahkan koma.
  • agresif - menyatakan apakah akan menggunakan mode agresif atau utama.
  • Keyingtries - menyatakan jumlah upaya yang harus dilakukan untuk menegosiasikan koneksi.
  • Ikelifetime - menyatakan berapa lama saluran kunci koneksi harus bertahan sebelum dinegosiasikan ulang.
  • seumur hidup - mendefinisikan berapa lama contoh koneksi tertentu harus bertahan, dari negosiasi yang berhasil hingga kedaluwarsa.
  • dpddelay - Menentukan interval waktu yang dengannya R_U_Shere Pesan/Pertukaran Informasi dikirim ke rekan.
  • dpdtimeout - Menentukan interval batas waktu, setelah itu semua koneksi ke rekan dihapus jika tidak aktif.
  • dpdaction - mendefinisikan cara menggunakan protokol deteksi rekan mati (DPD) untuk mengelola koneksi.

Untuk informasi lebih lanjut tentang parameter konfigurasi di atas, baca Ipsec.conf Halaman manusia dengan menjalankan perintah.

$ man ipsec.conf 

Langkah 4: Mengkonfigurasi PSK untuk otentikasi peer-to-peer

8. Setelah mengkonfigurasi kedua gateway keamanan, hasilkan yang aman Psk untuk digunakan oleh rekan menggunakan perintah berikut.

$ head -c 24 /dev /urandom | base64 
Hasilkan Kunci PSK

9. Selanjutnya, tambahkan Psk dalam /etc/ipsec.rahasia file di kedua gateway.

$ sudo vim /etc /ipsec.rahasia 

Salin dan tempel baris berikut.

------- Situs 1 Gateway (Tecmint-DevGateway) ------- 10.20.20.1 10.20.20.3: PSK "QLGLTVQOFQVGLSWP75FETLGTWN3HU0KU6C5HITKO6AC =" ------- Situs 2 Gateway (Tecmint-Prodgateway) ------- 10.20.20.3 10.20.20.1: psk "qlgltvqofqvglswp75fetlgtwn3hu0ku6c5hitko6ac =" 

10. Restart Ipsec Program dan periksa statusnya untuk melihat koneksi.

$ sudo ipsec restart $ sudo status ipsec 
Lihat status koneksi IPSEC

11. Akhirnya, verifikasi bahwa Anda dapat mengakses sub-net pribadi dari kedua gateway keamanan dengan menjalankan perintah ping.

$ ping 192.168.0.101 $ ping 10.0.2.15 
Verifikasi pengaturan VPN situs-ke-situs

12. Selain itu, Anda dapat berhenti dan memulai Ipsec seperti yang ditunjukkan.

$ sudo ipsec stop $ sudo ipsec start 

13. Untuk mengetahui lebih banyak tentang perintah IPSEC untuk secara manual mengemukakan koneksi dan banyak lagi, lihat halaman bantuan IPSEC.

$ ipsec --help 

Itu saja! Dalam artikel ini, kami telah menjelaskan cara mengatur IPSEC VPN situs-ke-situs menggunakan kuat pada Ubuntu Dan Debian server, di mana kedua gateway keamanan dikonfigurasi untuk mengautentikasi satu sama lain menggunakan a Psk. Jika Anda memiliki pertanyaan atau pemikiran untuk dibagikan, hubungi kami melalui formulir umpan balik di bawah ini.