Cara install dan setting openvpn di Debian dan Ubuntu

07.50 Unknown 1 Comments


 Halo sobat Linexia!!

 Kali ini gua pengen ngasih tau cara install dan setting openvpn di Debian dan ubuntu. yuk langsung baca artikelnya

Cara Install dan OpenVPN di Debian dan Ubuntu
cara install dan setting openvpn di ubuntu dan debian
Karena Debian dan Ubuntu masih satu keluarga,perintah nya juga sama jadi tutorial ini bisa digunakan sebagai panndung jika kamu menggunakan ubuntu atau debian dan ingin tau cara install dan setting openvpn secara lengkap. perlu diperhatikan di tutorial ini saya login sebagai root # karena saya menggunakan VPS, jika kamu login sebagai user biasa $ maka kamu tambahkan awalan sudo pada setiap perintah yang kamu ketik  yang ada di tutorial ini agar dijalankan sebagai root.

A. Cek kebutuhan sistem

Sebagai langkah awal sebelum mempraktekan tutorial ini baiknya kamu cek dulu apakah TUN/TAP di server /VPS kamu sudah aktif /enable,karena tanpa ini VPN gak bakal jalan.kamu bisa menggunakan perintah cat /dev/net/tun pastikan outputnya adalah cat: /dev/net/tun: File descriptor in bad state kalau outputnya beda berarti TUN/TAP belum aktif silakan aktifkan terlebih dahulu melalui panel VPS atau hubungi support tempat kamu membeli VPS.
cara cek tun/tap sudah ter enable apa belum

B. Install OpenVPN dan Easy-RSA

aplikasi utama kita adalah openvpn namun kita perlu easy-rsa untuk membuat ROOT CERTIFICATE AUTHORITY (CA) CERTIFICATE/KEY yang digunakan oleh openvpn untuk keamanan.
  • Sebelum install baiknya kita mengupdate repository menggunakan perintah apt-get update agar list repository di mesin kita diperbaharui dengan versi ter anyar.
    pembaruan repository ubuntu menggunakan apt-get update
  • Setelah pembaruan selesai kemudian kita install openvpn dengan perintah apt-get install openvpn
    cara install openvpn di ubuntu dan debian
  • Setelah openvpn terinstall selanjutnya kita akan menginstall easy-rsa dengan perintah apt-get install easy-rsa
    cara install easy-rsa openvpn
untuk memastian kalau easyrsa sudah terpasang coba kamu  ke directory easy-rsa seperti di gambar atau bisa list langsung dengan perintah ls /usr/share/easy-rsaKopi directory easy-rsa ke /etc/openvpn ini hanya untuk memudahkan pas kamu nyeting biar gampang diingat kalau setingan yang berkaitan dengan openvpn ada di folder /etc/openvpn gunakan perintah ini untuk mengcopy directory easy-rsa dan isinya cp -a /usr/share/easy-rsa /etc/openvpn
untuk mengecek apa sudah berhasil, kita pindah ke directory /etc/openvpn dengan perintah cd /etc/openvpn/easy-rsa
Setelah masuk ke directory /etc/openvpn/easy-rsa berikan perintah chmod +x * agar semua file di dalam folder easy-rsa bisa dieksekusi
navigasi-ke-folder-easy-rsa

1. Menbuat ROOT CERTIFICATE AUTHORITY (CA) CERTIFICATE/KEY dengan Easy-RSA

Jalankan perintah dibawah ini secara ber urutan !! kalo pengin liat manual lengkap bisa dilihat di panduan menggunakan easy-rsasource ./vars
./vars
./clean-all
./build-ca   Masukan data ke formulir seperti Country name,emal dll seperti gambar dibawah ini ketika kamu membuat root certificate
cara membuat ROOT CERTIFICATE AUTHORITY (CA) CERTIFICATE/KEY untuk openvpn

2. Membuat Server Key

Buat Key Server dengan perintah ./build-key-server namafilekeymuBebas kamu bisa menggunakan nama ap aja serah2 kmu aja 😀
cara membuat server key certificate untuk openvpn

3. Build Diffie Hellman

untuk membuatnya cukup ketikan perintah ./build-dh tunggu sampai kelar. biasnaya ini agak lama
build diffie Helman untuk openvpn
Semua file yang kita buat tadi berada di folder /etc/openvpn/easy-rsa/keys
isi-keys-folder

C. Setting OpenVPN dan Firewall

4. Membuat Server config File

ketikan perintah pico /etc/openvpn/namaFileConfigServerMu     kamu bisa memberi nama suka-suka kamu untuk nama file config
Masukan dan sesuaikan config dibawah ini dengan servermu, tekan CTRL+X lalu tekan Y dan enter untuk menyimpan
Setelah Tanda pagar adalah komen gak ngefek apa2 kok hanya sebagai keterangan saja.
local 103.252.101.170  #ganti dengan IP VPS atau domain anda
port 995  #Sesuaikan dengan port yang anda inginkan
proto tcp #ptocol bisa tcp atau  udp sesuaikan dengan kebutuhan
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt  #lokasi file ca yang kita buat dengan easy-rsa
cert /etc/openvpn/easy-rsa/keys/serverVPNTembolokID.crt #lokasi file server crt yang kita buat dengan easy-rsa
key /etc/openvpn/easy-rsa/keys/serverVPNTembolokID.key #lokasi file key server yang kita buat dengan easy-rsa
dh /etc/openvpn/easy-rsa/keys/dh2048.pem #lokasi file dh yang kita buat dengan easy-rsa
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so /etc/pam.d/login
management localhost 8443 #console untuk memonitor user VPN
client-cert-not-required
username-as-common-name
server 10.9.8.0 255.255.255.0   # ip yang akan dipakai client
ifconfig-pool-persist ipp.txt
push “redirect-gateway def1”
push “dhcp-option DNS 8.8.8.8”
push “dhcp-option DNS 8.8.4.4”
keepalive 5 30
comp-lzo
persist-key
persist-tun
status server-tcp.log
verb 3
cara membuat openvpn config file

5. Menjalankan Service OpenVPN

Setelah semua dirasa cukup dan benar saatnya kita jalankan openvpn server kita dengan perintah service openvpn start  dan cek dengan perintah service openvpn status pastikan statusnya running kalo tidak berarti ada yang salah silakan trouble shoot seperti dibawah ini
menjalankan openvpn service
kalo statusnya uda running coba kamu cek dengan perintah netstat -tulpn kalau hasilnya seperti diatas berarti da sukses kita membuat server VPN menggunakan openvpn.

6. Mengaktifkan IP Forwarding NAT

kita harus mengaktifkan IP forwarding dan NAT agar user yang terkonek ke VPN server kita bisa mengakses internet lewat server kita.
pico /etc/sysctl.conf  lalu hilangkan tanda pagar pada net.ipv4.ip_forward=1 ,jangan lupa save perubahan dengan CTRL+X  lalu Y .
enable-net-ip-forwarding
kemudian jalankan perintah sysctl -p /etc/sysctl.conf

Kemudian kita setting NAT dengan IPTABLES jalankan perintah ini secara berurutan
iptables ‐t nat ‐I POSTROUTING ‐s 10.9.8.0/24 ‐o venet0 ‐j MASQUERADE   # ip bisa disesuaikan dengna ip yg dipakai pada openvpnconfig
iptables‐save > /etc/iptables.cfg
simpan-iptables
pico /etc/rc.local # tambahkan baris  iptables-restore < /etc/iptables.conf  lalu simpan dengan CTRL+X lalu Y
ini dilakukna agar setiap kali kamu restart server kamu gak perlu lagi setting iptables,jadi settingan iptables kita  menjadi permanent.

membuat iptables permanent di linux
terakhir jalankan perintah /etc/init.d/openvpn restart untuk merestart openvpn service

7. Troubleshooting OpenVPN Server

kadang walau sudah pempraktekan sesuai tutorial ada saja yang error,nah error ini biasanya karena typo atau kesalahan ketik atau perbedaan directory pas kita install karena tutorial dan server kamu berbeda,jadi kamu disini harus teliti ,dan untuk membantu melihat error yang terjadi kita bisa membuka error log dengan perintah grep ovpn /var/log/syslog
mengatasi error pada openvpnContoh diatas adalah openvpn gak mau jalan walau sudah di start dan tidak menampilkan error ketika di start menggunakan perintah service openvpn start,setelah ditelusuri lewat log ternyata ada file yang tidak ditemukan ,nah ternyata nama file plugin nya ini berbeda dengan yang dulu pak bikin catatan. jadi intinya kamu harus cek config file apa sudah betul apa belum.

8. Membuat File Config OpenVPN untuk  Client

File config client ini yang nantinya akan dipegang client untuk bisa masuk ke server VPN kita menggunakan akun SSH yang kita buat di server kita. untuk membuatnya kita hanya perlu notepad dan bisa dibuat di komputer local kita. masukan config dibawah ini dan sesuaikan dengan server mu (IP port dll)
Simpan file dengan extensi *.ovpn
untuk melihat isi file ca.crt kamu bisa menggunakan perintah cat /etc/openvpn/easy-rsa/keys/ca.crt
client
dev tun
proto tcp 
remote 103.252.101.170 995  #Ip Server kamu dan port
route-method exe
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3
<ca>
—–BEGIN CERTIFICATE—–
isi bagian ini dengan isi file ca.crt    #
—–END CERTIFICATE—–
</ca>
contoh client certificate openvpn

D. Membuat,mengatur dan memonitor User  SSH /VPN

Kita bisa membuat user dan membatasi masa aktif serta memonitor user yang sedang aktif di server VPN kita, hal ini kita lakukan untuk membatasi akun ketika kita akan menjual akun VPN kita, kita dengna mudah bisa mematikan atau memperpanjang masa aktif dari akun VPN atau SSH milik pelanggan kita.

1. Membuat User dan membatasi masa aktif akun SSH /VPN

akun yang kita buat bisa digunakan untuk mengakses VPN atau membuat SSH tunnel ke Server kita. untuk mempermudah mengelola akun penlanggan yang jumlah nya banyak (jika dipakai jualan) kita akan membutuhkan sedikit script untuk membuat user dan membuat masa aktif dan random password.
Posisikan dirimu di home caranya ketik cd ~ lalu buat file dengan perintah pico buatuser.sh lalu masukan script dibawah ini tekan CTRL+X lalu Y dan enter untuk menyimpan
#!/bin/bash
#Script auto create trial user SSH
#yg akan expired setelah 5 Bulan
# ./ini.sh username jumlah-hari
Login=$1-`</dev/urandom tr -dc X-Z0-9 | head -c4`
Pass=`</dev/urandom tr -dc a-f0-9 | head -c9`
IP=`ifconfig eth0:0| awk ‘NR==2 {print $2}’| awk -F: ‘{print $2}’`
useradd -e `date -d “$2 days” +”%Y-%m-%d”` -s /bin/false -M $Login
echo “____________________________________________________________”
echo -e “$Pass\n$Pass\n”|passwd $Login &> /dev/null
echo -e “Username: $Login\nPassword: $Pass”
echo “_____________________________________________________________”
echo -e |chage -l $Login
Setelah disave jalankan perintah chmod +x buatuser.sh agar file bisa dieksekusi
Cara menggunakanya dengan ekseskusi file secara langsung dan masukan parameter dengan format ./buatuser.sh namaUser masaAktifHari contoh ./buatuser.sh dodit 60
buat-user-otomatis-dengan-masa-akktif-ssh
username dan password akan dibuat random oleh sistem,jadi kamu pas buat gak usa mikir soal bikin password.

2. Mengatur dan mengelola UserVPN dan SSH

Kita bisa melihat semua user yang terdaftar dan masa aktifnya,ini sangat berguna jika kamu menggunakan VPS dengan banyak user seperti untuk jualan VPN atau SSH tunnel.
pastikan kamu ada di home directory (supaya mudah aja) dan buat file dengan perintah pico lihatuser.sh lalu masukan script dibawah ini sinpan dengan tombol CTRL+X lalu Y dan Enter
Berikan atribut executable dengan perintah chmod +x lihatuser.sh
jelankan dengan perintah ./lihatuser.sh
#!/bin/bash
# melihat semua user dan expired date
echo “—————————————————-“
echo “USERNAME          CREATE DATE          EXP DATE     “
echo “—————————————————-“
while read penghuni
do
        AKUN=”$(echo $penghuni | cut -d: -f1)”
        ID=”$(echo $penghuni | grep -v nobody | cut -d: -f3)”
        exp=”$(chage -l $AKUN | grep “Account expires” | awk -F”: ” ‘{print $2}’)”
        create=”$(chage -l $AKUN | grep “Last password change” | awk -F”: ” ‘{print $2}’)”
        if [[ $ID -ge 1000 ]]; then
        printf “%-17s %2s %18s\n” “$AKUN” “$create” “$exp”
        fi
done < /etc/passwd
JUMLAH=”$(awk -F: ‘$3 >= 1000 && $1 != “nobody” {print $1}’ /etc/passwd | wc -l)”
echo “—————————————————–“
echo “Jumlah akun: $JUMLAH user”
echo “—————————————————–“
lihat-user-akun-ssh-linux
nah kalo ingin merubah masa aktif bisa dengan perintah chage -E `date -d “30 days” +”%Y-%m-%d”` dodit-4120 ini untuk merubah masa aktif bukan menambah loh ya. dihitung dari sekarang bukan ditambahkan masa aktifnya.

3. Blokir user menggunakan ssh tunnel

Jika kamu membuat server VPN dengan settingan yang ketat (misal server vpn hanya bisa mengakses server game online tertentu agar bandwidth irit) maka kamu perlu memblokir user untuk menggunakan ssh tunnel,karena walau tanpa shell user linux masih bisa login lewat protocol shh dan menggunakan tunnel,kalau sampai terjadi sama aja server VPN kita kecolongan.
Cara memblokir user linux menggunakan ssh protocol :
Jalankan perintah pico /etc/ssh/sshd_config
lalu tambahkan baris DenyUsers user1 user2 user3 user4 userdst   # kamu bisa memasukan user kesini dengan pemisah spasi sebanyak yang kamu mau dalam satu baris
Simpan dengan tombol CTRL+X lalu Y
Restart ssh service dengan perintah service ssh restart
block-user-menggunakan-ssh
Dengan begini user hanya bisa menggunakan protocol VPN saja sesuai dengan yang kita inginkan.

4. Memonitor user VPN yang aktif

ini berguna untuk ngecek ada berapa user yang sedang aktif biar gak kecolongan kalau ada user yang uda abis masa aktif tapi msh bisa login karena kesalahan mesin atau kita.
jalankan perintah telnet 127.0.0.1 8443 (8443 adalah port yang ada di file config openvpn,pada baris management localhost 8443 kamu bisa merubah nya sesuka hati ) untuk menampilkan daftar perintah yang ada ketik help dan u ntuk keluar ketik exit
openvpn-management-interface

You Might Also Like

1 komentar: