GNU/Linux >> Belajar Linux >  >> Panels >> OpenVPN

Konfigurasikan server OpenVPN Anda di Linux

OpenVPN membuat terowongan terenkripsi antara dua titik, mencegah pihak ketiga mengakses lalu lintas jaringan Anda. Dengan menyiapkan server jaringan pribadi virtual (VPN), Anda menjadi penyedia VPN Anda sendiri. Banyak layanan VPN populer sudah menggunakan OpenVPN, jadi mengapa menghubungkan koneksi Anda ke penyedia tertentu jika Anda dapat memiliki kendali penuh?

Artikel pertama dalam seri ini menyiapkan server untuk VPN Anda, dan artikel kedua menunjukkan cara menginstal dan mengkonfigurasi perangkat lunak server OpenVPN. Artikel ketiga ini menunjukkan cara memulai OpenVPN dengan autentikasi.

Selengkapnya tentang keamanan

  • Panduan pengkodean defensif
  • Webinar:Mengotomatiskan keamanan sistem dan kepatuhan dengan sistem operasi standar
  • 10 lapisan keamanan kontainer Linux
  • Buku mewarnai SELinux
  • Artikel keamanan lainnya

Untuk menyiapkan server OpenVPN, Anda harus:

  • Buat file konfigurasi.
  • Setel sysctl nilai net.ipv4.ip_forward = 1 untuk mengaktifkan perutean.
  • Siapkan kepemilikan yang sesuai untuk semua file konfigurasi dan otentikasi untuk menjalankan daemon server OpenVPN di bawah akun non-root.
  • Setel OpenVPN untuk memulai dengan file konfigurasi yang sesuai.
  • Konfigurasikan firewall Anda.

File konfigurasi

Anda harus membuat file konfigurasi server di /etc/openvpn/server/ . Anda dapat memulai dari awal jika mau, dan OpenVPN menyertakan beberapa contoh file konfigurasi untuk digunakan sebagai titik awal. Lihat di /usr/share/doc/openvpn/sample/sample-config-files/ untuk melihat semuanya.

Jika Anda ingin membuat file konfigurasi secara manual, mulailah dengan server.conf atau roadwarrior-server.conf (jika sesuai), dan tempatkan file konfigurasi Anda di /etc/openvpn/server . Kedua file dikomentari secara ekstensif, jadi baca komentar dan putuskan mana yang paling masuk akal untuk situasi Anda.

Anda dapat menghemat waktu dan kejengkelan dengan menggunakan template file konfigurasi server dan klien saya yang sudah dibuat sebelumnya dan sysctl file untuk mengaktifkan perutean jaringan. Konfigurasi ini juga mencakup penyesuaian untuk menghubungkan dan memutuskan log. Itu menyimpan log di server OpenVPN di /etc/openvpn/server/logs .

Jika Anda menggunakan template saya, Anda harus mengeditnya untuk menggunakan alamat IP dan nama host Anda.

Untuk menggunakan templat konfigurasi bawaan, skrip, dan sysctl untuk mengaktifkan penerusan IP, unduh skrip saya:

$ curl \
https://www.dgregscott.com/ovpn/OVPNdownloads.sh > \
OVPNdownloads.sh

Baca skrip untuk mendapatkan ide tentang apa yang dilakukannya. Berikut ini ikhtisar singkat tentang tindakannya:

  • Membuat direktori yang sesuai di server OpenVPN Anda
  • Mengunduh template file konfigurasi server dan klien dari situs web saya
  • Mengunduh skrip khusus saya dan menempatkannya ke direktori yang benar dengan izin yang benar
  • Unduhan 99-ipforward.conf dan letakkan di /etc/sysctl.d untuk mengaktifkan penerusan IP pada boot berikutnya
  • Menyiapkan kepemilikan untuk semua yang ada di /etc/openvpn

Setelah Anda puas bahwa Anda memahami apa yang dilakukan skrip, buat skrip tersebut dapat dieksekusi dan jalankan:

$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh

Berikut adalah file yang disalinnya (perhatikan kepemilikan file):

$ ls -al -R /etc/openvpn
/etc/openvpn:
total 12
drwxr-xr-x.   4 openvpn openvpn   34 Apr  6 20:35 .
drwxr-xr-x. 139 root    root    8192 Apr  6 20:35 ..
drwxr-xr-x.   2 openvpn openvpn   33 Apr  6 20:35 client
drwxr-xr-x.   4 openvpn openvpn   56 Apr  6 20:35 server

/etc/openvpn/client:
total 4
drwxr-xr-x. 2 openvpn openvpn   33 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn   34 Apr  6 20:35 ..
-rw-r--r--. 1 openvpn openvpn 1764 Apr  6 20:35 OVPNclient2020.ovpn

/etc/openvpn/server:
total 4
drwxr-xr-x. 4 openvpn openvpn   56 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn   34 Apr  6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn   59 Apr  6 20:35 ccd
drwxr-xr-x. 2 openvpn openvpn    6 Apr  6 20:35 logs
-rw-r--r--. 1 openvpn openvpn 2588 Apr  6 20:35 OVPNserver2020.conf

/etc/openvpn/server/ccd:
total 8
drwxr-xr-x. 2 openvpn openvpn  59 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn  56 Apr  6 20:35 ..
-rwxr-xr-x. 1 openvpn openvpn 917 Apr  6 20:35 client-connect.sh
-rwxr-xr-x. 1 openvpn openvpn 990 Apr  6 20:35 client-disconnect.sh

/etc/openvpn/server/logs:
total 0
drwxr-xr-x. 2 openvpn openvpn  6 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr  6 20:35 ..

Berikut 99-ipforward.conf berkas:

# Turn on IP forwarding. OpenVPN servers need to do routing
net.ipv4.ip_forward = 1

Edit OVPNserver2020.conf dan OVPNclient2020.ovpn untuk memasukkan alamat IP Anda. Juga, edit OVPNserver2020.conf untuk memasukkan nama sertifikat server Anda dari sebelumnya. Nanti, Anda akan mengganti nama dan mengedit salinan OVPNclient2020.ovpn untuk digunakan dengan komputer klien Anda. Blok yang dimulai dengan ***? menunjukkan tempat untuk mengedit.

Kepemilikan file

Jika Anda menggunakan skrip otomatis dari situs web saya, kepemilikan file sudah ada. Jika tidak, Anda harus memastikan bahwa sistem Anda memiliki pengguna bernama openvpn itu adalah anggota grup bernama openvpn . Anda harus mengatur kepemilikan semuanya di /etc/openvpn kepada pengguna dan grup tersebut. Aman untuk melakukan ini jika Anda tidak yakin apakah pengguna dan grup sudah ada karena useradd akan menolak untuk membuat pengguna dengan nama yang sama dengan yang sudah ada:

$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn

Firewall

Jika Anda memutuskan untuk tidak menonaktifkan layanan firewalld pada langkah 1, maka layanan firewall server Anda mungkin tidak mengizinkan lalu lintas VPN secara default. Menggunakan firewall-cmd perintah, Anda dapat mengaktifkan layanan OpenVPN, yang membuka port yang diperlukan dan merutekan lalu lintas seperlunya:

$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload

Tidak perlu tersesat dalam labirin iptables!

Mulai server Anda

Anda sekarang dapat memulai server OpenVPN Anda. Agar dimulai secara otomatis setelah reboot, gunakan tombol enable subperintah dari systemctl :

systemctl enable --now [email protected]

Langkah terakhir

Artikel keempat dan terakhir dalam artikel ini akan menunjukkan cara mengatur klien untuk terhubung ke OpenVPN Anda dari jauh.

Artikel ini didasarkan pada blog D. Greg Scott dan digunakan kembali dengan izin.


OpenVPN
  1. Bagaimana cara memonitor server Linux Anda?

  2. Konfigurasikan Klien OpenVPN untuk menggunakan Server DNS tertentu

  3. Instal dan Konfigurasi Klien OpenVPN di Rocky Linux 8

  1. Instal OpenVPN di PC Linux Anda

  2. Siapkan Server OpenVPN di Rocky Linux 8

  3. Instal dan Konfigurasi OpenVPN Server FreeBSD 12

  1. 9 hal yang harus dilakukan dalam 10 menit pertama Anda di server Linux

  2. 7 langkah untuk mengamankan server Linux Anda

  3. Cara Termudah Untuk Menginstal Dan Mengonfigurasi Server OpenVPN Di Linux