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

Instal dan Konfigurasikan Klien OpenVPN di CentOS 8/Ubuntu 18.04

Untuk terhubung ke server OpenVPN untuk memungkinkan Anda mengakses sumber daya lokal intranet Anda, Anda hanya memerlukan klien OpenVPN. Dalam panduan ini, kita akan belajar cara menginstal dan mengkonfigurasi Klien OpenVPN di CentOS 8/Ubuntu 18.04. Perhatikan bahwa perangkat lunak OpenVPN dapat dikonfigurasi untuk berfungsi sebagai server atau klien.

Pelajari cara menginstal dan mengkonfigurasi OpenVPN Server di CentOS 8 dengan mengikuti tautan di bawah ini;

Siapkan Server OpenVPN di CentOS 8

Instal dan Konfigurasi Klien OpenVPN di CentOS 8/Ubuntu 18.04

Untuk mendemonstrasikan komunikasi dua server pada Intranet yang berbeda, kami memiliki dua server, Ubuntu 18.04 dan CentOS 8 yang tidak dapat berkomunikasi karena keduanya berada di jaringan LAN yang berbeda yang hanya dapat dijangkau melalui Server OpenVPN. Kedua server hanya memiliki antarmuka NAT yang terpasang.

Instal Klien OpenVPN di Ubuntu 18.04

OpenVPN memelihara beberapa repositori perangkat lunak OpenVPN (OSS) dari mana klien OpenVPN versi rilis terbaru dan stabil dapat diinstal. Namun Anda perlu membuat daftar sumber ini secara manual seperti yang ditunjukkan di bawah ini;

Instal kunci penandatanganan repositori OpenVPN.

wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg| sudo apt-key add -

Selanjutnya, instal daftar sumber untuk Ubuntu 18.04.

echo "deb http://build.openvpn.net/debian/openvpn/stable $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/openvpn-aptrepo.list

Perbarui cache paket Anda.

apt update

Instal Klien OpenVPN di Ubuntu 18.04

apt install openvpn

Anda kemudian dapat memverifikasi versi dengan menjalankan perintah di bawah ini;

openvpn --version

Instal Klien OpenVPN di CentOS 8

Pada CentOS 8, OpenVPN terbaru, versi 2.4.8 pada tulisan ini, disediakan oleh EPEL repo.

dnf info openvpn
Name         : openvpn
Version      : 2.4.8
Release      : 1.el8
Arch         : x86_64
Size         : 540 k
Source       : openvpn-2.4.8-1.el8.src.rpm
Repo         : epel
Summary      : A full-featured SSL VPN solution
URL          : https://community.openvpn.net/
License      : GPLv2
...

Untuk menginstal klien OpenVPN pada CentOS 8, Anda perlu menginstal repo EPEL, jika belum;

dnf install epel-release

Anda kemudian dapat menginstal klien OpenVPN dengan menjalankan perintah;

dnf install openvpn

Konfigurasi Klien OpenVPN pada CentOS 8/Ubuntu 18.04

Untuk dapat terhubung ke server OpenVPN, Anda perlu membuat konfigurasi klien yang berisi sertifikat CA, sertifikat server klien, dan kunci.

Jika Anda mengikuti panduan kami tentang menyiapkan server OpenVPN di CentOS 8, kami menjelaskan cara membuat file dan kunci sertifikat klien.

Setelah Anda membuat kunci, salin ke klien dan catat jalur penyimpanannya.

Anda juga perlu menyalin kunci HMAC dan sertifikat CA ke klien.

Anda kemudian dapat membuat konfigurasi klien OpenVPN.

Misalnya, untuk membuat file konfigurasi OpenVPN untuk klien, koromicha , yang sertifikat dan kuncinya adalah, koromicha.crt dan koromicha.key;

vim koromicha.ovpn
client
tls-client
pull
dev tun
proto udp4
remote 192.168.2.132 1194
resolv-retry infinite
nobind
#user nobody
#group nogroup
persist-key
persist-tun
key-direction 1
remote-cert-tls server
auth-nocache
comp-lzo
verb 3
auth SHA512
tls-auth ta.key 1
ca ca.crt
cert koromicha.crt
key koromicha.key

Perhatikan bahwa dalam pengaturan ini, sertifikat klien, kunci, sertifikat CA, dan kunci HMAC terletak di jalur yang sama dengan konfigurasi klien OpenVPN itu sendiri, koromicha.ovpn.

ls
ca.crt koromicha.crt koromicha.key koromicha.ovpn ta.key

Untuk menghindari masalah dengan jalur ke sertifikat dan kunci, Anda dapat meletakkannya sebaris pada file konfigurasi;

client
tls-client
pull
dev tun
proto udp4
remote 192.168.2.132 1194
resolv-retry infinite
nobind
#user nobody
#group nogroup
persist-key
persist-tun
key-direction 1
remote-cert-tls server
auth-nocache
comp-lzo
verb 3
auth SHA512
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
feb1af5407baa247d4e772c76aed6c75
...
-----END OpenVPN Static key V1-----
</tls-auth>
<ca>
-----BEGIN CERTIFICATE-----
MIIDTjCCAjagAwIBAgIUX0VQrHTgLDabUUIOAf7tD9cGp4YwDQYJKoZIhvcNAQEL
...
WA9BBk2shVWfR849Lmkep+GPyqHpU47dZAz37ARB2Gfu3w==
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
...
/7FvJaeLqmUHnvSs5eBlRZSgtOL19SCFkG0HXdnw3LtBaoHQXxgzOkDPW1+5
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+DI7kg6MsRoCs
...
6WdLcNtWKAcU294xJEZoOA8/
-----END PRIVATE KEY-----
</key>

Lakukan hal yang sama pada semua server klien untuk setiap pengguna yang perlu terhubung ke vpn.

Jika Anda perhatikan, baris di bawah ini diberi komentar untuk menghindari kesalahan, ERROR:Linux route add command failed:external program exited with error status:2 dengan menghapus rute yang dibuat sebelum menambahkannya lagi saat koneksi ulang.

#user nobody
#group nogroup

File konfigurasi klien OpenVPN sekarang siap.

Anda kemudian dapat terhubung ke server OpenVPN sesuai permintaan atau mengonfigurasi server Anda untuk membuat file konfigurasi VPN setiap kali sistem di-boot ulang.

Untuk terhubung sesuai permintaan, cukup gunakan perintah openvpn sebagai;

sudo openvpn client.ovpn

atau

sudo openvpn --config client.ovpn

Jika koneksi ke server OpenVPN berhasil, Anda akan melihat Initialization Sequence Completed .

...
Wed Apr 14 15:23:19 2020 ROUTE_GATEWAY 10.0.2.2/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:8d:b0:f8
Wed Apr 14 15:23:19 2020 TUN/TAP device tun0 opened
Wed Apr 14 15:23:19 2020 TUN/TAP TX queue length set to 100
Wed Apr 14 15:23:19 2020 /sbin/ip link set dev tun0 up mtu 1500
Wed Apr 14 15:23:19 2020 /sbin/ip addr add dev tun0 10.8.0.3/24 broadcast 10.8.0.255
Wed Apr 14 15:23:19 2020 /sbin/ip route add 192.168.2.132/32 via 10.0.2.2
Wed Apr 14 15:23:19 2020 /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Wed Apr 14 15:23:19 2020 /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Wed Apr 14 15:23:19 2020 Initialization Sequence Completed

Untuk memeriksa alamat IP;

[[email protected] ~]$ ip add show tun0
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.3/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::8d65:4038:acb0:b954/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
[email protected]:~$ ip add show tun0
10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::bd3d:27ff:84d5:e587/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Uji konektivitas antara dua server jarak jauh;

[email protected]:~$ ping 10.8.0.3 -c 4
PING 10.8.0.3 (10.8.0.3) 56(84) bytes of data.
64 bytes from 10.8.0.3: icmp_seq=1 ttl=64 time=3.78 ms
64 bytes from 10.8.0.3: icmp_seq=2 ttl=64 time=3.59 ms
64 bytes from 10.8.0.3: icmp_seq=3 ttl=64 time=3.61 ms
64 bytes from 10.8.0.3: icmp_seq=4 ttl=64 time=3.30 ms

--- 10.8.0.3 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 3.307/3.576/3.786/0.172 ms
[[email protected] ~]$ ping 10.8.0.2 -c 4
PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.
64 bytes from 10.8.0.2: icmp_seq=1 ttl=64 time=6.77 ms
64 bytes from 10.8.0.2: icmp_seq=2 ttl=64 time=1.57 ms
64 bytes from 10.8.0.2: icmp_seq=3 ttl=64 time=4.37 ms
64 bytes from 10.8.0.2: icmp_seq=4 ttl=64 time=13.6 ms

--- 10.8.0.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 15ms
rtt min/avg/max/mdev = 1.571/6.572/13.577/4.443 ms

Anda juga harus bisa mendapatkan akses internet tergantung pada pengaturan rute server Anda.

Menjalankan Klien OpenVPN sebagai Layanan Systemd

Untuk membuat koneksi secara otomatis setiap kali server reboot, Anda dapat mengaktifkan layanan sistem klien OpenVPN.

Sebelum Anda dapat melakukannya, ubah ekstensi file konfigurasi VPN Anda dari .ovpn ke .conf . Ganti nama file yang sesuai.

cp koromicha.ovpn koromicha.conf

Salin .conf file ke direktori konfigurasi klien OpenVPN, /etc/openvpn/client .

cp koromicha.conf /etc/openvpn/client

Selanjutnya, mulai layanan sistem klien OpenVPN. Ganti nama koromicha dengan nama file konfigurasi .conf Anda.

systemctl start [email protected]koromicha

Untuk memeriksa status;

systemctl status [email protected]
[email protected] - OpenVPN tunnel for koromicha
   Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-14 16:00:35 EAT; 8s ago
     Docs: man:openvpn(8)
           https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
           https://community.openvpn.net/openvpn/wiki/HOWTO
 Main PID: 6877 (openvpn)
   Status: "Initialization Sequence Completed"
    Tasks: 1 (limit: 2300)
   CGroup: /system.slice/system-openvpn\x2dclient.slice/[email protected]
           └─6877 /usr/sbin/openvpn --suppress-timestamps --nobind --config koromicha.conf

Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: ROUTE_GATEWAY 10.0.2.2/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:4b:ff:18
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: TUN/TAP device tun0 opened
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: TUN/TAP TX queue length set to 100
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip link set dev tun0 up mtu 1500
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 192.168.2.132/32 via 10.0.2.2
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: Initialization Sequence Completed

Untuk mengaktifkannya agar berjalan pada boot sistem;

systemctl enable [email protected]

Anda telah berhasil menginstal dan mengatur klien OpenVPN di Ubuntu 18.04 dan CentOS 8. Itu membawa kita ke akhir tutorial tentang cara menginstal dan mengkonfigurasi Klien OpenVPN di CentOS 8/Ubuntu 18.04.

Tutorial Terkait

Tetapkan Alamat IP Statis untuk Klien OpenVPN

Konfigurasikan Klien VPN strongSwan di Ubuntu 18.04/CentOS 8

Konfigurasikan IPSEC VPN menggunakan StrongSwan di Ubuntu 18.04

Instal dan Konfigurasi OpenVPN Server FreeBSD 12

Instal dan Siapkan Server OpenVPN di Fedora 29/CentOS 7

OpenVPN
  1. Cara Menginstal dan Mengonfigurasi Klien FreeIPA di Ubuntu 20.04

  2. Instal dan Konfigurasi Klien OpenVPN di Rocky Linux 8

  3. Cara Menginstal dan Mengonfigurasi Server OpenVPN di Ubuntu 20.04

  1. Instal dan Siapkan Server OpenVPN di Ubuntu 20.04

  2. Hubungkan ke OpenVPN menggunakan Network Manager di CentOS 8/Ubuntu 18.04

  3. Konfigurasikan Klien VPN strongSwan di Ubuntu 18.04/CentOS 8

  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara menginstal OpenVPN Server dan Klien di CentOS 7

  3. Instal dan Konfigurasi OpenVPN Server FreeBSD 12