GNU/Linux >> Belajar Linux >  >> OpenSuse

Cara menginstal dan mengkonfigurasi OpenVPN pada OpenSUSE Leap 42.1

VPN atau Virtual Private Network adalah jaringan pribadi yang aman melalui jaringan publik seperti internet. VPN adalah terowongan aman melalui internet yang melindungi lalu lintas data Anda dan meningkatkan privasi dan keamanan internet. Akses ke VPN dibatasi oleh metode autentikasi yang aman.

OpenVPN adalah perangkat lunak sumber terbuka untuk membangun jaringan pribadi virtual, ia menggunakan perpustakaan OpenSSL untuk mengenkripsi data terowongan dan mendukung transportasi UDP atau TCP. OpenVPN dapat menggunakan kunci yang dibagikan sebelumnya, berbasis sertifikat, dan mekanisme otentikasi berbasis nama pengguna/sandi.

Dalam tutorial ini, saya akan menunjukkan kepada Anda bagaimana menerapkan jaringan pribadi virtual menggunakan OpenVPNvpn di bawah sistem operasi Linux OpenSUSE Leap 42.1.

Prasyarat

  • OpenSUSE Leap 42.1 - 64bit
  • Hak istimewa root
  • TUN/TAP diaktifkan

Langkah 1 - Memeriksa apakah TUN/TAP diaktifkan

Jika Anda ingin membuat VPN di server Anda, pastikan TUN/TAP diinstal dan diaktifkan. Anda dapat memeriksanya dengan perintah di bawah ini:

cat /dev/net/tun

Hasilnya seharusnya:

cat: /dev/net/tun: File descriptor in bad state

Langkah 2 - Instal OpenVPN

OpenVPN tersedia di repositori OpenSUSE. Anda dapat menginstalnya menggunakan perintah zypper:

zypper in openvpn

Langkah 3 - Penyiapan RSA Mudah

Selanjutnya, unduh easy-rsa untuk menghasilkan file sertifikat. Easy-rsa adalah utilitas untuk mengelola sertifikat, Anda dapat membuat otoritas sertifikat root dengannya dan meminta serta menandatangani sertifikat.

Buka direktori OpenVPN dan unduh easy-rsa dengan perintah wget:

cd /etc/openvpn/
wget https://github.com/OpenVPN/easy-rsa/archive/release/2.x.zip

Ekstrak arsip dan pindahkan direktori easy-rsa:

unzip 2.x.zip
mv easy-rsa-release-2.x/easy-rsa/ /etc/openvpn/
rm -rf easy-rsa-release-2.x/

Konfigurasikan Kunci

Buka direktori easy-rsa dan edit file vars untuk mengonfigurasi kunci dan sertifikat:

cd easy-rsa/2.0/
vim vars

Baris 53 - Jika Anda benar-benar paranoid, Anda dapat meningkatkan ukuran kunci.

export KEY_SIZE=2048

Baris 56 dan 59 - Dalam berapa hari kunci dan sertifikat akan kedaluwarsa.

export CA_EXPIRE=3650
export KEY_EXPIRE=3650

Baris 64 - 72 - Ubah nilai default dari informasi kunci dan sertifikat.

export KEY_COUNTRY="US"
export KEY_PROVINCE="California"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]main"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"

Simpan file dan keluar.

Inisialisasi PKI

Selanjutnya, inisialisasi PKI (Public Key Infrastructure):

source ./vars && ./clean-all && ./build-ca

Kami akan meninggalkan nilai default, cukup tekan "Enter".

Buat Parameter Diffie Hellman

Jalankan perintah di bawah ini:

./build-dh

Anda akan melihat hasilnya:

Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
..................................

Buat Kunci Pribadi Server

Buat kunci pribadi dengan nama "server":

./build-key-server server

Tekan enter dan ketik "y" untuk mengonfirmasi pembuatan kunci.

Buat Kunci dan Sertifikat untuk Klien

Buat kunci klien dan sertifikat dengan nama "client1":

./build-key client1

Tekan enter dan ketik "y" untuk mengonfirmasi pembuatan kunci.

Kunci dan sertifikat telah dibuat di direktori "kunci". Sekarang buat salinan direktori "keys" dan letakkan di direktori "openvpn".

cp -r keys/ /etc/openvpn/

Langkah 4 - Konfigurasi OpenVPN

Pada langkah ini, kami akan mengonfigurasi OpenVPN untuk berjalan pada protokol UDP, menggunakan port 2034 untuk koneksi klien. Buat file konfigurasi baru server.conf di direktori OpenVPN.

cd /etc/openvpn/
vim server.conf

Rekatkan konfigurasi di bawah ini:

#change with your port
port 2034

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh2048.pem

#Internal IP will get when already connect
server 10.10.2.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#openvpn status log
status /var/log/openvpn/openvpn-status.log

#enable log
log-append /var/log/openvpn/openvpn.log

#Log Level
verb 3

Simpan file dan keluar dari editor.

Selanjutnya, buat direktori dan file baru untuk log openvpn:

mkdir -p /var/log/openvpn/
touch /var/log/openvpn/{openvpn,openvpn-status}.log

Langkah 5 - Konfigurasi SuSEfirewall2

SuSEfirewall2 adalah skrip untuk menghasilkan aturan iptables berdasarkan file "/etc/sysconfig/SuSEfirewall2". Kami akan menginstal SuSEfirewall2 dan kemudian mengkonfigurasi port untuk mengakses OpenVPN, kemudian kami akan mengaktifkan NAT dengan skrip iptables untuk OpenVPN.

Instal SuSEfirewall2 dengan perintah zypper:

zypper in SuSEfirewall2

Sekarang, masuk ke direktori sysconfig, dan edit file konfigurasi SuSEfirewall2:

cd /etc/sysconfig/
vim SuSEfirewall2

Jalur 134 - Aktifkan rute.

FW_ROUTE="yes"

Baris 253 - Aktifkan port TCP 22 untuk akses SSH dari luar jaringan.

FW_SERVICES_EXT_UDP="22"

Baris 267 - Aktifkan port udp untuk akses klien openvpn - port 2034.

FW_SERVICES_EXT_UDP="2034"

Baris 877 - Aktifkan aturan khusus SuSEfirewall2.

FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"

Simpan dan keluar.

Selanjutnya, edit aturan khusus SuSEfirewall2 di direktori skrip.

cd /etc/sysconfig/scripts/
vim SuSEfirewall2-custom

Di dalam direktif "fw_custom_after_chain_creation", tempel aturan iptables baru untuk OpenVPN:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.10.2.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.10.2.0/24 -o eth0 -j MASQUERADE

Simpan dan keluar.

Catatan:

IP 10.10.2.0/24 adalah jaringan dari file konfigurasi server.conf OpenVPN.

Sekarang kita dapat mengaktifkan penerusan dengan menambahkan baris konfigurasi baru ini ke file sysctl.conf.

vim /etc/sysctl.conf

Tempelkan konfigurasi di bawah ini:

net.ipv4.ip_forward = 1

Simpan dan keluar.

Catatan:

Jika Anda sudah memiliki baris dalam file, ubah nilainya dari "0" menjadi "1" alih-alih menambahkan baris baru.

Sekarang jalankan perintah di bawah untuk menerapkan perubahan konfigurasi.

sysctl -p

Mulai SuSEfirewall2 dan server OpenVPN:

systemctl start SuSEfirewall2
systemctl start [email protected]

Jika Anda memiliki kesalahan, Anda dapat melihat pesan kesalahan terperinci di log OpenVPN.

Tambahkan semua layanan ke startup sistem:

systemctl enable SuSEfirewall2
systemctl enable [email protected]

Langkah 5 - Konfigurasikan Klien

Unduh kunci klien dan sertifikat dari direktori kunci ke komputer lokal Anda. Anda dapat menggunakan perintah scp atau sftp, saya di sini menggunakan scp:

Perintah yang harus dijalankan di komputer lokal.

scp [email protected]:~/etc/openvpn/keys/ca.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.key ~/myvpn/

Di direktori myvpn, buat file konfigurasi baru untuk klien "client1.ovpn".

cd ~/myvpn/
vim client1.ovpn

Rekatkan konfigurasi di bawah ini:

client
dev tun
proto udp

#Server IP and Port
remote SERVERIP 2034

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo

Simpan dan keluar.

Untuk terhubung ke VPN kami, Anda dapat menginstal klien VPN atau jika Anda menggunakan Linux, Anda dapat menggunakan "Network-Manager". Jika Anda ingin menguji VPN dengan terminal, Anda dapat menggunakan perintah di bawah ini:

cd ~/myvpn/
sudo openvpn --config client1.ovpn


OpenSuse
  1. Cara Menginstal PostgreSQL dan phpPgAdmin di OpenSUSE Leap 42.1

  2. Cara menginstal dan menggunakan Podman di OpenSUSE Leap 15.3

  3. Bagaimana menginstal Java 17 di OpenSUSE Leap 15.3

  1. Cara Menginstal &Mengkonfigurasi Postgres 14 di OpenSUSE Leap 15.3

  2. Bagaimana menginstal Mongodb 5 di Opensuse Leap 15.3

  3. Cara menginstal &mengkonfigurasi Redis 6 pada OpenSUSE Leap 15.3

  1. Cara Menginstal dan mengatur Nginx sebagai proxy OpenSUSE Leap 15.3

  2. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di OpenSUSE Leap 15.3

  3. Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di OpenSUSE Leap 15.3