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

Cara Termudah Untuk Menginstal Dan Mengonfigurasi Server OpenVPN Di Linux

Panduan ini menjelaskan cara menginstal dan mengkonfigurasi server OpenVPN di sistem berbasis RPM dan DEB. Dalam panduan ini, kita akan menggunakan skrip bernama openvpn-install yang mengotomatiskan seluruh proses instalasi dan konfigurasi server OpenVPN. Skrip ini membantu Anda menyiapkan server VPN Anda sendiri dalam beberapa menit, meskipun Anda belum pernah menggunakan OpenVPN sebelumnya.

Mari kita mulai.

Instal Dan Konfigurasi Server OpenVPN Di Linux

Untuk tujuan panduan ini, saya akan menggunakan dua sistem yang berjalan dengan CentOS 7 edisi 64bit. Satu bertindak sebagai server OpenVPN, yang lain bertindak sebagai klien openVPN. Berikut ini adalah detail kotak tes saya.

Server OpenVPN:

  • OS :CentOS 7 64bit edisi minimal
  • IP :192.168.43.150/24
  • Nama Inang :vpnserver.ostechnix.local

Klien OpenVPN:

  • OS  :CentOS 7 64bit edisi minimal
  • IP :192.168.43.199/24

Pertama, kita akan melihat konfigurasi sisi server.

Instalasi dan konfigurasi Server OpenVPN

Unduh skrip openvpn-install dari halaman GitHub-nya.

wget https://git.io/vpn -O openvpn-install.sh

Kemudian, jalankan skrip menggunakan perintah berikut sebagai pengguna root:

bash openvpn-install.sh

Anda akan diminta untuk menjawab serangkaian pertanyaan. Jawablah sesuai dengan itu.

Pastikan alamat IP server VPN sudah benar. Jika Anda menggunakan beberapa alamat IP, masukkan IP antarmuka jaringan yang ingin Anda dengarkan oleh OpenVPN.

Welcome to this quick OpenVPN "road warrior" installer

I need to ask you a few questions before starting the setup
 You can leave the default options and just press enter if you are ok with them

First I need to know the IPv4 address of the network interface you want OpenVPN
 listening to.
 IP address: 192.168.43.150

Pilih protokol mana yang ingin Anda gunakan. Saya ingin menggunakan port tcp, maka saya memilih nomor 2.

Which protocol do you want for OpenVPN connections?
 1) UDP (recommended)
 2) TCP
Protocol [1-2]: 2

Masukkan nomor port.

What port do you want OpenVPN listening to?
Port: 1194

Masukkan detail server DNS yang ingin Anda gunakan dengan VPN. Saya ingin menggunakan resolver DNS Google, jadi saya memilih opsi 2.

Which DNS do you want to use with the VPN?
 1) Current system resolvers
 2) Google
 3) OpenDNS
 4) NTT
 5) Hurricane Electric
 6) Verisign
DNS [1-6]: 2

Kami telah mencapai langkah terakhir. Masukkan nama sertifikat klien Anda. Nama harus terdiri dari satu kata, dan tidak boleh mengandung karakter khusus apa pun.

Finally, tell me your name for the client certificate
Please, use one word only, no special characters
Client name: client

Tekan tombol ENTER untuk memulai instalasi server OPENVPN.

Okay, that was all I needed. We are ready to setup your OpenVPN server now
Press any key to continue...

Npw, skrip ini akan mulai menginstal semua paket yang diperlukan untuk mengatur server OpenVPN. Anslo, itu akan membuat semua kunci dan sertifikat yang diperlukan untuk mengautentikasi dengan klien VPN. Ini akan memakan waktu beberapa menit.

Terakhir, skrip akan menanyakan apakah Anda memiliki alamat IP Eksternal. Jika tidak ada, abaikan saja dengan membiarkannya kosong dan tekan tombol ENTER.

If your server is NATed (e.g. LowEndSpirit), I need to know the external IP
If that's not the case, just ignore this and leave the next field blank
External IP: 

Finished!

Your client configuration is available at /root/client.ovpn
If you want to add more clients, you simply need to run this script again!

Instalasi dan konfigurasi server OpenVPN selesai. Seperti yang Anda lihat di keluaran terakhir, detail konfigurasi klien disimpan dalam file /root/client.ovpn . Anda perlu menyalin file ini ke semua sistem klien VPN Anda.

Saya menyalin file client.ovpn ke klien VPN saya

scp client.ovpn [email protected]:/etc/openvpn/

Selanjutnya, kita perlu mengkonfigurasi klien OpenVPN.

Unduh - Video Gratis:"Kursus Pelatihan Metodologi Pengujian Penetrasi (nilai $99!) GRATIS"

Konfigurasi klien OpenVPN

Pastikan Anda telah menyalin file client.ovpn dari sistem server VPN Anda. Saya sudah menyalin file ini ke /etc/openvpn/ direktori sistem klien VPN saya.

Instal paket OpenVPN menggunakan manajer paket distribusi.

yum install openvpn

Selanjutnya, jalankan perintah berikut untuk membuat koneksi aman dengan server VPN.

openvpn --config /etc/openvpn/client.ovpn

Contoh keluaran:

Wed Apr 5 18:50:44 2017 Unrecognized option or missing parameter(s) in /etc/openvpn/client.ovpn:14: block-outside-dns (2.3.14)
Wed Apr 5 18:50:44 2017 OpenVPN 2.3.14 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Dec 7 2016
Wed Apr 5 18:50:44 2017 library versions: OpenSSL 1.0.1e-fips 11 Feb 2013, LZO 2.06
Wed Apr 5 18:50:44 2017 Control Channel Authentication: tls-auth using INLINE static key file
Wed Apr 5 18:50:44 2017 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:44 2017 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:44 2017 Socket Buffers: R=[87380->87380] S=[16384->16384]
Wed Apr 5 18:50:44 2017 Attempting to establish TCP connection with [AF_INET]192.168.43.150:1194 [nonblock]
Wed Apr 5 18:50:45 2017 TCP connection established with [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:45 2017 TCPv4_CLIENT link local: [undef]
Wed Apr 5 18:50:45 2017 TCPv4_CLIENT link remote: [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:45 2017 TLS: Initial packet from [AF_INET]192.168.43.150:1194, sid=c6fb554e 362eb192
Wed Apr 5 18:50:45 2017 VERIFY OK: depth=1, CN=ChangeMe
Wed Apr 5 18:50:45 2017 Validating certificate key usage
Wed Apr 5 18:50:45 2017 ++ Certificate has key usage 00a0, expects 00a0
Wed Apr 5 18:50:45 2017 VERIFY KU OK
Wed Apr 5 18:50:45 2017 Validating certificate extended key usage
Wed Apr 5 18:50:45 2017 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Wed Apr 5 18:50:45 2017 VERIFY EKU OK
Wed Apr 5 18:50:45 2017 VERIFY OK: depth=0, CN=server
Wed Apr 5 18:50:45 2017 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Wed Apr 5 18:50:45 2017 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:45 2017 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Wed Apr 5 18:50:45 2017 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:45 2017 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Wed Apr 5 18:50:45 2017 [server] Peer Connection Initiated with [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:48 2017 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Wed Apr 5 18:50:48 2017 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 8.8.8.8,dhcp-option DNS 8.8.4.4,route-gateway 10.8.0.1,topology subnet,ping 10,ping-restart 120,ifconfig 10.8.0.2 255.255.255.0'
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: timers and/or timeouts modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: --ifconfig/up options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: route options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: route-related options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Apr 5 18:50:48 2017 ROUTE_GATEWAY 192.168.43.1/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:28:98:6b
Wed Apr 5 18:50:48 2017 TUN/TAP device tun0 opened
Wed Apr 5 18:50:48 2017 TUN/TAP TX queue length set to 100
Wed Apr 5 18:50:48 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Apr 5 18:50:48 2017 /usr/sbin/ip link set dev tun0 up mtu 1500
Wed Apr 5 18:50:48 2017 /usr/sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 192.168.43.150/32 dev enp0s3
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Wed Apr 5 18:50:48 2017 Initialization Sequence Completed

Sekarang, periksa apakah tun0 (Antarmuka VPN) dibuat, dan periksa alamat IP antarmuka VPN menggunakan perintah 'ip addr':

ip addr

Contoh keluaran:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 08:00:27:28:98:6b brd ff:ff:ff:ff:ff:ff
 inet 192.168.43.199/24 brd 192.168.43.255 scope global dynamic enp0s3
 valid_lft 42359sec preferred_lft 42359sec
 inet6 fe80::a00:27ff:fe28:986b/64 scope link 
 valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
 link/none 
 inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
 valid_lft forever preferred_lft forever

Seperti yang Anda lihat pada output di atas, server VPN kami secara otomatis menetapkan alamat IP 10.8.0.2 ke klien VPN.

Sekarang, coba ping server VPN dari sistem klien VPN Anda:

ping -c3 10.8.0.1

Contoh keluaran:

PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=1.05 ms
64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=1.94 ms
64 bytes from 10.8.0.1: icmp_seq=3 ttl=64 time=2.49 ms

--- 10.8.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 1.057/1.832/2.495/0.594 ms

Selamat! Kami sekarang telah berhasil menginstal dan mengonfigurasi server dan klien OpenVPN di CentOS. Metode ini sama untuk sistem berbasis DEB seperti Ubuntu dan Linux Mint. Tidak seperti penginstalan manual, skrip ini membuat penginstalan dan konfigurasi openvpn menjadi lebih mudah.

Semangat!


OpenVPN
  1. Cara menginstal dan mengkonfigurasi Server OpenVPN di Debian 10

  2. Instal dan Konfigurasi Klien OpenVPN di Rocky Linux 8

  3. Instal dan Siapkan Server OpenVPN di Ubuntu 20.04

  1. Konfigurasikan server OpenVPN Anda di Linux

  2. Instal OpenVPN di PC Linux Anda

  3. Instal dan Konfigurasi OpenVPN Server FreeBSD 12

  1. Cara Memasang dan Mengonfigurasi Server Akses OpenVPN

  2. Instal dan Konfigurasi HAProxy di RHEL 8 / CentOS 8 Linux

  3. Cara Menginstal dan Mengonfigurasi Server dan Klien NTP Linux