Cara Menyiapkan VPN Berasaskan IPsec dengan Strongwan di Debian dan Ubuntu

Cara Menyiapkan VPN Berasaskan IPsec dengan Strongwan di Debian dan Ubuntu

Strongswan adalah pelaksanaan VPN berasaskan IPSEC (Virtual Private Network) Open Source, Cross-Platform, dan Sumber Digunakan secara meluas. Ini terutamanya daemon utama yang menyokong Pertukaran utama internet Protokol (Ikev1 dan Ikev2) untuk mewujudkan persatuan keselamatan (SA) antara dua rakan sebaya.

Artikel ini menerangkan cara menubuhkan tapak ke tapak IPsec VPN Gateways menggunakan strongwan pada Ubuntu dan Debian pelayan. Dengan tapak ke tapak kami bermaksud setiap gerbang keselamatan mempunyai sub-jaring di belakangnya. Selain itu, rakan sebaya akan mengesahkan satu sama lain menggunakan kunci pra-kongsi (PSK).

Persekitaran ujian

Ingatlah untuk menggantikan IPS berikut dengan IPS dunia sebenar anda untuk mengkonfigurasi persekitaran anda.

Gateway Tapak 1 (Tecmint-Devgateway)

OS 1: IP awam Debian atau Ubuntu: 10.20.20.1 IP Persendirian: 192.168.0.101/24 Subnet Persendirian: 192.168.0.0/24 

Gateway Site 2 (Tecmint-Prodgateway)

OS 2: Debian atau Ubuntu IP Awam: 10.20.20.3 IP peribadi: 10.0.2.15/24 Subnet Persendirian: 10.0.2.0/24 

Langkah 1: Membolehkan Penghantaran Pakej Kernel

1. Pertama, anda perlu mengkonfigurasi kernel untuk membolehkan pemajuan paket dengan menambahkan pembolehubah sistem yang sesuai di /etc/sysctl.Conf fail konfigurasi di kedua -dua gerbang keselamatan.

$ sudo vim /etc /sysctl.Conf 

Cari baris berikut dan uncomment mereka dan tetapkan nilai mereka seperti yang ditunjukkan (baca komen dalam fail untuk maklumat lanjut).

jaring.IPv4.ip_forward = 1 bersih.IPv6.Conf.semua.penghantaran = 1 bersih.IPv4.Conf.semua.menerima_redirects = 0 bersih.IPv4.Conf.semua.Send_redirects = 0 

2. Seterusnya, muatkan tetapan baru dengan menjalankan arahan berikut.

$ sudo sysctl -p 
Muatkan Tetapan Kernel SYSCTL

3. Sekiranya anda mempunyai perkhidmatan firewall UFW, anda perlu menambah peraturan berikut ke /etc/ufw/sebelumnya.peraturan Fail Konfigurasi Sebelum Peraturan Penapis di Gerbang Keselamatan.

Gateway Tapak 1 (Tecmint-Devgateway)

*nat: postrouting menerima [0: 0] -a postrouting -s 10.0.2.0/24 -D 192.168.0.0/24 -J Masquerade komited 

Gateway Site 2 (Tecmint-Prodgateway)

*nat: postrouting menerima [0: 0] -a postrouting -s 192.168.0.0/24 -D 10.0.2.0/24 -J Masquerade komited 

4. Setelah peraturan firewall telah ditambah, kemudian gunakan perubahan baru dengan memulakan semula Ufw seperti yang ditunjukkan.

$ sudo ufw disable $ sudo ufw enable 

Langkah 2: Memasang Strongwan di Debian dan Ubuntu

5. Kemas kini cache pakej anda di kedua -dua gerbang keselamatan dan pasang strongwan Pakej menggunakan Pengurus Pakej APT.

$ sudo apt update $ sudo apt memasang strongwan 

6. Setelah pemasangan selesai, skrip pemasang akan memulakan strongwan perkhidmatan dan membolehkannya bermula secara automatik di boot sistem. Anda boleh menyemak statusnya dan sama ada ia diaktifkan menggunakan arahan berikut.

$ sudo systemctl status strongswan.Perkhidmatan $ sudo Systemctl adalah Strongswan yang dibolehkan.perkhidmatan 

Langkah 3: Mengkonfigurasi Gerbang Keselamatan

7. Seterusnya, anda perlu mengkonfigurasi gerbang keselamatan menggunakan /etc/ipsec.Conf fail konfigurasi.

Gateway Tapak 1 (Tecmint-Devgateway)

$ sudo cp /etc /ipsec.conf /etc /ipsec.Conf.orig $ sudo nano /etc /ipsec.Conf 

Salin dan tampal konfigurasi berikut dalam fail.

persediaan konfigurasi charondebug = "semua" unikIds = ya conn devgateway-to-prodgateway type = terowong auto = mula keyExchange = Ikev2 authby = rahsia kiri = 10.20.20.1 leftSubnet = 192.168.0.101/24 kanan = 10.20.20.3 Rightsubnet = 10.0.2.15/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! agresif = tiada keyingtries =%selamanya ikelifetime = 28800s seumur hidup = 3600s dpddelay = 30s dpdtimeout = 120s dpdaction = mulakan semula 

Gateway Site 2 (Tecmint-Prodgateway)

$ sudo cp /etc /ipsec.conf /etc /ipsec.Conf.orig $ sudo nano /etc /ipsec.Conf 

Salin dan tampal konfigurasi berikut ke dalam fail.

persediaan konfigurasi charondebug = "semua" unikIds = ya conn prodgateway-to-devgateway type = terowong auto = mula keyExchange = Ikev2 authby = rahsia kiri = 10.20.20.3 leftSubnet = 10.0.2.15/24 betul = 10.20.20.1 Rightsubnet = 192.168.0.101/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! agresif = tiada keyingtries =%selamanya ikelifetime = 28800s seumur hidup = 3600s dpddelay = 30s dpdtimeout = 120s dpdaction = mulakan semula 

Berikut adalah makna setiap parameter konfigurasi:

  • Persediaan konfigurasi - Menentukan Maklumat Konfigurasi Umum untuk IPSec yang terpakai kepada semua sambungan.
  • Charondebug - mentakrifkan berapa banyak output debugging Charon yang harus dilog masuk.
  • Unikids - Menentukan sama ada ID peserta tertentu harus disimpan unik.
  • Conn Prodgateway-to-Devgateway - mentakrifkan nama sambungan.
  • Jenis - mentakrifkan jenis sambungan.
  • Auto - cara mengendalikan sambungan apabila ipsec dimulakan atau dimulakan semula.
  • KeyExchange - mentakrifkan versi protokol IKE untuk digunakan.
  • authby - mentakrifkan bagaimana rakan sebaya harus mengesahkan satu sama lain.
  • dibiarkan - mentakrifkan alamat IP antara muka rangkaian awam peserta kiri.
  • leftsubnet - menyatakan subnet swasta di belakang peserta kiri.
  • betul - Menentukan alamat IP antara muka rangkaian awam peserta yang betul.
  • Rightsubnet - menyatakan subnet swasta di belakang peserta kiri.
  • ike - mentakrifkan senarai algoritma penyulitan/pengesahan IKE/ISAKMP SA yang akan digunakan. Anda boleh menambah senarai yang dipisahkan koma.
  • esp - mentakrifkan senarai algoritma penyulitan/pengesahan ESP untuk digunakan untuk sambungan. Anda boleh menambah senarai yang dipisahkan koma.
  • agresif - menyatakan sama ada menggunakan mod agresif atau utama.
  • Keyingtries - menyatakan bilangan percubaan yang harus dibuat untuk merundingkan sambungan.
  • Ikelifetime - menyatakan berapa lama saluran utama sambungan harus bertahan sebelum dirundingkan semula.
  • seumur hidup - mentakrifkan berapa lama contoh sambungan tertentu harus bertahan, dari rundingan yang berjaya hingga luput.
  • dpddelay - Menentukan selang masa yang mana mesej r_u_dere/pertukaran maklumat dihantar kepada rakan sebaya.
  • dpdtimeout - Menentukan selang waktu tamat, selepas itu semua sambungan ke rakan sebaya dipadam sekiranya tidak aktif.
  • DPDACTION - mentakrifkan cara menggunakan protokol pengesanan rakan sebaya mati (DPD) untuk menguruskan sambungan.

Untuk maklumat lanjut mengenai parameter konfigurasi di atas, baca ipsec.Conf halaman lelaki dengan menjalankan arahan.

$ man ipsec.Conf 

Langkah 4: Mengkonfigurasi PSK untuk Pengesahan Peer-to-Peer

8. Setelah mengkonfigurasi kedua -dua gerbang keselamatan, menjana selamat PSK untuk digunakan oleh rakan sebaya menggunakan arahan berikut.

$ HEAD -C 24 /DEV /URANDOM | asas64 
Menjana kunci PSK

9. Seterusnya, tambahkan PSK di dalam /etc/ipsec.rahsia fail di kedua -dua gerbang.

$ sudo vim /etc /ipsec.rahsia 

Salin dan tampal baris berikut.

------- Tapak 1 Gateway (Tecmint-Devgateway) ------- 10.20.20.1 10.20.20.3: psk "qlgltvqofqvglswp75fetlgtwn3hu0ku6c5hitko6ac =" ------- tapak 2 gerbang (tecmint-prodgateway) ------- 10.20.20.3 10.20.20.1: psk "qlgltvqofqvglswp75fetlgtwn3hu0ku6c5hitko6ac =" 

10. Mulakan semula Ipsec program dan periksa statusnya untuk melihat sambungan.

$ sudo ipsec mulakan semula $ sudo ipsec status 
Lihat status sambungan ipsec

11. Akhir.

$ ping 192.168.0.101 $ ping 10.0.2.15 
Sahkan persediaan VPN tapak ke tapak

12. Selain itu, anda boleh berhenti dan memulakan IPsec seperti yang ditunjukkan.

$ sudo ipsec berhenti $ sudo ipsec start 

13. Untuk mengetahui lebih lanjut mengenai arahan IPSec untuk membawa sambungan secara manual dan banyak lagi, lihat halaman bantuan IPsec.

$ IPSEC -HELP 

Itu sahaja! Dalam artikel ini, kami telah menerangkan bagaimana untuk menubuhkan VPN IPsec tapak ke tapak menggunakan strongwan pada Ubuntu dan Debian pelayan, di mana kedua -dua gerbang keselamatan dikonfigurasi untuk mengesahkan satu sama lain menggunakan PSK. Sekiranya anda mempunyai sebarang pertanyaan atau pemikiran untuk dikongsi, hubungi kami melalui borang maklum balas di bawah.