Persediaan OpenVPN di Ubuntu 18.04 Bionic Beaver Linux

Persediaan OpenVPN di Ubuntu 18.04 Bionic Beaver Linux

Objektif

Ketahui Cara Memasang dan Konfigurasi Pelayan OpenVPN di Ubuntu 18.04 Bionic Beaver

Keperluan

  • Keizinan akar

Konvensyen

  • # - Memerlukan arahan Linux yang diberikan dengan keistimewaan akar sama ada
    secara langsung sebagai pengguna akar atau dengan menggunakan sudo perintah
  • $ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Versi lain dalam tutorial ini

Ubuntu 20.04 (Focal Fossa)

Pengenalan

Teknologi Rangkaian Persendirian Maya memungkinkan untuk mengakses rangkaian peribadi yang selamat dengan menggunakan rangkaian kurang selamat seperti Internet. VPN biasanya digunakan untuk menghubungkan cawangan organisasi jauh dari organisasi, menjadikannya kelihatan seolah -olah mereka adalah sebahagian daripada LAN yang sama (contohnya dua pejabat di bandar yang berbeza). Lalu lintas di antara sisi sambungan disulitkan menggunakan terowong, yang melindungi data yang dihantar dan maklumat sambungan itu sendiri. Untuk ciri -ciri yang sama, VPN sering digunakan untuk mengelakkan sekatan kerajaan dan tidak dikenali trafik internet.

Dalam tutorial ini, kita akan melihat cara membuat pelayan rangkaian peribadi maya menggunakan OpenVPN, perisian VPN sumber terbuka di Ubuntu 18.04 Bionic Beaver.

Langkah 1 - Pemasangan

Memasang OpenVPN di Ubuntu 18.04 sangat mudah: perisian ini tersedia di repositori lalai. Kita juga perlu memasang Easy-RSA Pakej, yang akan membantu kami dalam penciptaan sijil dan kunci yang diperlukan:

$ sudo apt-get update & & sudo apt-get Install OpenVPN easy-rsa

Beberapa saat dan perisian akan dipasang di mesin kami, bersedia untuk dikonfigurasikan.

Langkah 2 - Persediaan Infrastruktur Pelayan

Dalam bahagian ini, kami akan menjana sijil dan kunci yang diperlukan: pertama kami akan membuat adat kami Ca (Pihak Berkuasa Sijil), maka kami akan menjana pelayan Sijil/Pasangan Kunci, The Diffie-Hellman parameter dan Kunci TLS-Auth.

Mari kita mulakan dengan menghasilkan direktori yang akan mengandungi skrip yang akan melakukan pekerjaan yang berat untuk kita. Kami menjalankan Make-Cadir perintah, itu adalah sebahagian daripada Easy-RSA pakej, memberikan nama direktori yang ingin kami buat. Kami juga ingin memasukkan direktori sebaik sahaja ia dibuat:

Sijil $ Make-Cadir & Sijil CD

Dalam kes ini saya memanggil direktori sijil. Ini akan menjadi direktori kerja kami untuk seluruh tutorial, oleh itu semua arahan yang disebutkan mesti dianggap sebagai dilancarkan di dalamnya.



Langkah 2.1 - Persediaan pembolehubah

Sebagai perkara pertama kita perlu menyesuaikan pembolehubah yang akan digunakan untuk menetapkan nilai yang digunakan semasa penjanaan Pihak Berkuasa Sijil dan Sijil/Kunci. Pembolehubah ditakrifkan di dalam vars Fail:

eksport key_config = "$ easy_rsa/yang mana-mana.mydomain "Export Key_ou =" MyOrganizationalUnit " 

Pemboleh ubah yang sangat penting adalah Key_config, yang, secara lalai ditetapkan dengan memanggil skrip pembalut kecil yang harus mengambil konfigurasi SSL yang betul. Walau bagaimanapun, jika digunakan dengan cara ini ia menghasilkan ralat, kerana skrip tidak mengambil konfigurasi. Untuk mengelakkan ini, kami menentukan fail konfigurasi secara langsung:

Eksport key_config = "$ easy_rsa/openssl-1.0.0.CNF "

Nilai untuk pembolehubah lain mesti diubah dan disesuaikan dengan keperluan khusus anda. Selepas kami selesai mengedit fail, kami mesti "sumber" itu, untuk membiarkan pembolehubah menjadi sebahagian daripada persekitaran runtime kami:

$ sumber vars

Langkah 2.2 - Generasi CA

Kami boleh meneruskan dan menjana CA kami (Pihak Berkuasa Sijil). Menjalankan bersih-semua dan Build-ca skrip mengikut urutan. Generasi CA akan bermula, menggunakan nilai pembolehubah yang kami tentukan dalam vars Fail sebagai lalai untuk medan yang sepadan:

$ ./membersihkan-semua && ./Build-CA

Langkah 2.3 - Sijil dan Generasi Utama

Langkah seterusnya ialah penjanaan sijil dan kunci untuk pelayan. Ini hanya masalah menjalankan skrip binaan-pelayan yang memberikan nama yang ingin kami gunakan untuk sijil dan kunci sebagai parameter. Dalam kes ini kita menggunakan "pelayan" kerana ia adalah nama lalai yang digunakan dalam fail konfigurasi VPN, seperti yang akan kita lihat lebih lanjut dalam tutorial:

$ ./Build-Key-Server Server

Ikuti arahan di skrin. The Kata laluan mencabar dan nama syarikat Bidang adalah pilihan.

Langkah 2.4 - Generasi Parameter Diffie -Hellman

Langkah seterusnya adalah untuk mewujudkan parameter diffie-hellman. Parameter tersebut digunakan untuk menukar kunci kriptografi menggunakan saluran awam dan tidak selamat. Kami menggunakan Build-dh Skrip:

$ ./binaan-dh

Skrip akan mengambil sedikit masa untuk menjana parameter, bergantung kepada mesin yang kita jalankan, bersabarlah!

Langkah 2.5 - Menjana kunci rawak untuk digunakan sebagai rahsia bersama

Untuk mengukuhkan keselamatan kami, selain menggunakan sijil, kami akan menjana dan menggunakan kunci untuk menggunakan rahsia bersama. Pelayan dan setiap pelanggan memerlukan salinan kunci ini:

$ OpenVPN --GenKey -Kekunci Secret/TA.kunci

Langkah 2.6 - Menyalin fail yang dihasilkan

Pihak Berkuasa Sijil (CA.CRT), sijil (pelayan.CRT), kunci (pelayan.kunci), parameter diffie-hellman (DH2048.PEM) dan kunci TLS-Auth (TA.kunci) fail, sepatutnya dihasilkan di dalam Kunci direktori. Sekarang sudah tiba masanya untuk menyalinnya /etc/openvpn:

$ sudo cp kekunci/pelayan.CRT, pelayan.Kunci, ca.CRT, DH2048.PEM, TA.kunci /etc /openvpn

Langkah 3 - Konfigurasi OpenVPN

Kami boleh meneruskan dalam mengkonfigurasi perkhidmatan OpenVPN. Konfigurasi sampel (dimampatkan) boleh didapati di /usr/share/doc/openvpn/contoh/sampel-config/pelayan.Conf.Gz: kita hanya perlu mengeluarkannya ke dalam direktori /etc /openvpn:

$ gzip -d -c/usr/share/doc/openvpn/contoh/sampel -config -files/pelayan.Conf.Gz | sudo tee/etc/openvpn/pelayan.conf> /dev /null

Dengan perintah di atas, kami membongkar fail asal, menghantar outputnya ke stdout dan mengalihkannya melalui /etc/openvpn/pelayan.Conf fail. Sahkan bahawa nilai lalai dalam fail konfigurasi sesuai dengan yang kami hasilkan:

ca ca.pelayan CRT CERT.pelayan utama CRT.Kunci # Fail ini harus disimpan rahsia DH DH2048.PEM 


Langkah 4 - Setup firewall dan biarkan pemajuan IP

Kami hampir selesai menyediakan pelayan VPN kami: Sekarang kita mesti menyediakan firewall, untuk membolehkan trafik masuk dari pelabuhan 1194/UDP (port lalai dan protokol):

$ sudo ufw membenarkan OpenVPN

Sangat penting: Secara lalai hanya trafik antara klien dan pelayan melalui terowong VPN, ini tidak termasuk trafik internet. Untuk mengubah tingkah laku ini, kita harus terlebih dahulu tidak mengadakan pilihan secara dalam talian 192 fail konfigurasi pelayan (/etc/openvpn/pelayan.Conf):

Tolak "Redirect-Gateway DEF1 Bypass-DHCP" 

Seterusnya, kita perlu menggunakan peraturan yang boleh diperolehi untuk NAT pelanggan VPN melalui Internet. Perhatikan bahawa saya menentukan ETH0 antara muka tetapi anda perlu menyesuaikan peraturan ke antara muka yang digunakan pada mesin anda:

$ sudo iptables -t nat -a postrouting -s 10.8.0.0/24 -O ETH0 -J Masquerade

Tetapkan cara ini, bagaimanapun, peraturan tidak akan berterusan reboot. Untuk membuatnya berterusan, kita mesti menambahkannya ke /etc/ufw/sebelumnya.peraturan fail. Fail ini mengandungi peraturan yang digunakan oleh UFW sebelum yang ditakrifkan dari baris arahan. Tambahkan peraturan sebagai yang pertama dalam fail:

*nat: postrouting menerima [0: 0] -a postrouting -s 10.8.0.0/8 -O ETH0 -J MASQUERADE komited 

Sekarang kita mesti mengaktifkan Pakej Pakej. Pertama kita perlu mengedit /etc /sysctl.fail conf dan uncomment garis 28:

# Uncomment baris seterusnya untuk membolehkan pemajuan paket untuk bersih IPv4.IPv4.ip_forward = 1 

Pada ketika ini kita harus memuatkan semula konfigurasi:

$ sudo sysctl -p /etc /sysctl.Conf

Kami masih perlu membenarkan penghantaran paket melalui firewall UFW. Buka /etc/lalai/ufw dan berubah Default_forward_policy dari Jatuh ke Menerima:

# Tetapkan dasar hadapan lalai untuk menerima, menjatuhkan atau menolak. Sila ambil perhatian bahawa # jika anda menukar ini, anda kemungkinan besar ingin menyesuaikan peraturan anda default_forward_policy = "Terima" 

Akhirnya, tambah semula firewall:

$ sudo ufw muat semula

Langkah 5 - Mulakan Perkhidmatan

Kami kini akan menggunakan SystemCtl untuk memulakan pelayan, lulus pembolehubah yang mengandungi nama fail konfigurasi kami ke unit perkhidmatan. Dengan menggunakan SystemD kita dapat melakukan ini dengan mengutamakan nilai dengan @ simbol. Sebagai contoh:

$ sudo Systemctl Mula OpenVPN@Server

Pada ketika ini pelayan harus berjalan dan berjalan. Sahkan dengan berjalan

$ sudo Systemctl IS-Active OpenVPN@Server

Perintah harus kembali "aktif".



Langkah 6 - Persediaan Pelanggan

Untuk setiap pelanggan yang ingin kami gunakan, kami mesti menjana pasangan sijil/kunci, seperti yang kami lakukan di atas untuk pelayan:

$ sumber vars && ./klien binaan-kunci

Sekarang kita mempunyai dua pilihan: kita boleh menyalin fail yang diperlukan untuk pelanggan kami, atau kami boleh menjana .ovpn fail, di mana kandungan fail tersebut ditanam. Kami akan menumpukan pada pilihan kedua.

Sama seperti kami melakukan pelayan, kami akan mengambil konfigurasi sampel sebagai titik permulaan kami. Mari buat direktori khusus dan salin templat:

$ mkdir pelanggan & cp/usr/share/doc/openvpn/contoh/sampel-config-files/client.pelanggan/pelanggan conf.ovpn

Ikuti bahagian fail yang sangat baik, dan menyesuaikan pilihan kepada yang ditakrifkan dalam konfigurasi pelayan (dalam kes kami sudah selesai). Tetapkan IP dan port pelayan dengan mengubah suai tetapan (baris 42):

Jauh saya-server-1 1194 

Di mana "pelayan my" mesti digantikan oleh IP pelayan dan port mesti diubah jika tidak menggunakan lalai. Seterusnya, Uncomment Baris berikut (61,62):

# Menurunkan keistimewaan selepas permulaan (bukan tingkap sahaja); pengguna tiada siapa; kumpulan kumpulan 

Sekarang, kami akan menggantikan rujukan kepada CA, Sijil, Kunci, Parameter DH dan Kunci TLS-Auth dengan kandungan sebenar fail: dengan cara ini kami akan membuat konfigurasi yang mudah dieksport, mudah dieksport. Rujukan komen pertama (baris 88-90 dan 108)

#ca ca.CRT #CERT CLIENT.CRT #Key Client.Kunci #TLS-Auth TA.Kunci 1

Seterusnya, salin kandungan fail yang disebutkan, antara tag yang sesuai. Kandungan Pihak Berkuasa Sijil mesti dimasukkan antara tag, kandungan fail sijil di dalam dan kunci antara . Sama seperti contoh, pertimbangkan CA:

 # Inilah kandungan CA.Fail CRT  

Untuk kunci TLS-Auth, sebaliknya kita akan lakukan:

TROSIK Kunci 1 # Kandungan TA.fail utama  

Akhirnya, import fail dalam aplikasi klien anda dan anda harus bersedia untuk pergi.

Contoh sambungan Android

Untuk menyambung ke pelayan OpenVPN kami dari Android, kami akan menggunakan aplikasi OpenVPN rasmi: OpenVPN Connect. Setelah dipasang dan dilancarkan menu berikut akan muncul:

Menu aplikasi Android OpenVPN



Ketik, item terakhir, Profil OVPN

Dari pemetik fail, navigasi ke tempat di mana anda menyimpan .fail ovpn, dan pilihnya, daripada ketik pada "import" di sudut kanan atas. Profil sepatutnya diimport dengan betul:

Import aplikasi Android OpenVPN
Sekarang, sama seperti sebelumnya, ketik Tambah, dan pada skrin berikut mengaktifkan sambungan:

Aplikasi openvpn Android disambungkan
Kejayaan!

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Ubuntu 20.04 Trik dan Perkara yang Anda Tidak Tahu
  • Cara Menyiapkan Pelayan OpenVPN di Ubuntu 20.04
  • Asas Ubuntu 22.04 Persediaan Sambungan Pelanggan/Pelayan OpenVPN
  • Ubuntu 20.04 Panduan
  • Ubuntu 20.04 Hadoop
  • 8 persekitaran desktop Ubuntu terbaik (20.04 Focal Fossa ..
  • Senarai dan Pemasangan Pelanggan FTP di Ubuntu 20.04 Linux ..
  • Pengurus Rangkaian Linux GUI