Cara Install dan Konfigurasi OpenVPN di Debian dan Ubuntu

Rasanya kurang sempurna jika saya tidak membuat artikel cara install dan konfigurasi OpenVPN di Debian dan Ubuntu  ini, karena sebelumnya saya sudah pernah share artikel tentang cara install dan konfigurasi OpenVPN di Centos. Pada prakteknya, cara install dan konfigurasi OpenVPN itu sama saja, hanya tinggal penyesuaiannya saja dengan masing-masing distro. Dan oleh karena tidak terdapatnya perbedaan antara Debian dan Ubuntu (karena masih satu keluarga), maka saya gabungkan saja di artikel yang satu ini.

cara install openvpn di debian, cara install openvpn di ubuntu, install openvpn di vps debian, install vpn di vps ubuntu

Seperti biasa, sebelum anda melakukan instalasi dan konfigurasi OpenVPN, harap anda pastikan terlebih dahulu bahwa TUN/TAP server (VPS) anda sudah aktif (enable). Command berikut adalah untuk mengetahuinya :

cat /dev/net/tun

Pastikan outputnya adalah :

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

cara membuat user openvpn, cara membuat openvpn di linux, membuat password openvp, menambahkan user ssh ke openvpnJika tidak demikian berarti TUN/TAP belum aktif, silahkan aktifkan terlebih dahulu melalui panel VPS yang diberikan ISP atau hubungi seller untuk informasi lebih lanjut.

Install OpenVPN di Debian dan Ubuntu :

  • Update terlebih dahulu melalui command :
    apt-get update
  • Install OpenVPN dengan command :
    apt-get install openvpn
  • Copy easy-rsa ke direktori /etc/openvpn :
    cp -a /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
  • Silahkan masuk ke direktori /etc/openvpn/easy-rsa/2.0
    cd /etc/openvpn/easy-rsa/2.0
  • Ganti permission ke 755 :
    chmod 755 *
  • Berikan perintah berikut secara berurutan untuk menghapus dan membuat certificate baru :
    source ./vars
    ./vars
    ./clean-all
    ./build-ca

    Seperti halnya pada centos, disini anda akan diminta untuk mengisi data-data. Anda bisa skip saja dengan enter atau boleh diisi sesuka hati anda. Pastikan anda isi “common name” dengan hostname VPS atau nama lainnya.membuat certificate openvpn ubuntu, certificate vpn debian

  • Membuat key server :
    ./build-key-server server

    Silahkan anda skip seperti biasa atau anda isi data-data yang diminta. Jangan lupa pada saat ditanyakan sign the certificate? dan 1 out of 1 certificate requests certified, commit? anda tekan y untuk menyetujuinya.cara setting openvpn debian 6, cara setting openvpn debian 7, cara setting openvpn ubuntu

  • Saatnya build Diffie Hellman :
    ./build-dh

    cara konfigurasi openvpn di debian, cara konfigurasi openvpn di ubuntu

Konfigurasi OpenVPN di Server Debian dan Ubuntu :

  • Membuat konfigurasi server dengan :
    nano /etc/openvpn/server.conf

    Pastikan anda sudah install nano editor di VPS Debian atau Ubuntu anda. Jika anda tidak suka editor nano, silahkan sesuikan saja 🙂
    Masukkan baris berikut ini kedalam file tersebut :

    local 192.249.60.206 #ganti dengan IP VPS atau domain anda
    port 995 #Sesuaikan dengan port yang anda inginkan
    proto tcp #bisa diganti dengan udp, sesuaikan saja 
    dev tun
    ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
    cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
    key /etc/openvpn/easy-rsa/2.0/keys/server.key
    dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
    plugin /usr/lib/openvpn/openvpn-auth-pam.so /etc/pam.d/login
    client-cert-not-required
    username-as-common-name
    server 10.9.8.0 255.255.255.0
    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

    Selalu simpan konfigurasi server dengan CTRL+X, Y.cara edit config openvpn debian, menghapus user openvpn debian, menambahkan bug di openvpn

  • Coba jalankan OpenVPNnya dengan command :
    service openvpn start

    Jika error failed, silahkan periksa kembali baris konfigurasi server diatas.

  • Enable IP forwarding :
    nano /etc/sysctl.conf

    Hilangkan tanda pagar sebelum net.ipv4.ip_forward = 1 seperti berikut ini :mengatur openvpn di vps debian, menambah user openvpn debian, merubah conf openvpn debian dan ubuntu
    Selanjutnya berikan command ini :

    sysctl -p /etc/sysctl.conf
  • Setting IP tables :
    iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE

    Atau bisa secara spesifik dengan :

    iptables -t nat -I POSTROUTING -s 10.9.8.0/24 -o venet0 -j MASQUERADE

    Ganti venet0 dengan eth0 jika anda menggunakan VPS KVM. Lalu tambahkan perintah ini untuk menyimpan setting IP tables tersebut :

    iptables-save
  • Restart OpenVPN :
    /etc/init.d/openvpn restart
  • Build certificate untuk client :
    ./build-key dedeerik

    Seperti biasa anda bisa skip atau isi datanya. Ganti dedeerik dengan nama certificate yang ingin anda buat.

  • Proses konfigurasi OpenVPN di VPS sudah selesai. Selanjutnya tinggal buat saja konfig untuk client :
    nano /etc/openvpn/easy-rsa/2.0/keys/dedeerik.ovpn

    Masukkan baris-baris berikut ini ke dalam file tersebut :

    client
    dev tun
    proto tcp #bisa ganti udp, samakan dengan server.conf
    remote 192.249.60.206 995 #ganti dgn IP VPS/domain, 995 samakan dengan server.conf
    route-method exe
    resolv-retry infinite
    nobind
    tun-mtu 1500
    tun-mtu-extra 32
    mssfix 1450
    persist-key
    persist-tun
    ca ca.crt
    cert dedeerik.crt
    key dedeerik.key
    auth-user-pass
    comp-lzo
    verb 3

    Pastikan anda mengganti dedeerik.crt dan dedeerik.key sesuai dengan yang anda buat.

    Anda bisa tambahkan http-proxy x.x.x.x dan http-proxy-retry, jika anda ingin menggunakan proxy. Anda juga bisa memasukan ca, cert dan key secara langsung dengan catatan “ca ca.crt”, “cert dedeerik.crt”, “key dedeerik.key” diatas anda hapus terlebih dahulu. Silahkan buka file tersebut dengan editor seperti nano. Contoh :

    nano /etc/openvpn/easy-rsa/2.0/keys/ca.crt

    Konfigurasi seperti ini biasanya digunakan untuk client OpenVPN di android (smartphone). Silahkan anda copy saja isi file ca.crt tersebut dan masukkan (paste) ke konfig client anda. Awali dengan <ca> dan akhiri dengan </ca>. Lihat contoh konfig client dengan memasukkan ca.crt berikut :

    client
    dev tun
    proto tcp #bisa ganti udp, samakan dengan server.conf
    remote 192.249.60.206 995 #ganti dgn IP VPS/domain, 995 samakan dengan server.conf
    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-----
    MIIDpTCCAw6gAwIBAgIJAI0Yg29c0yu7MA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
    VQQGEwJJRDESMBAGA1UECBMJV2VzdCBKYXZhMQ8wDQYDVQQHEwZDaWFtaXMxDjAM
    BgNVBAoTBUlCRUtBMQwwCgYDVQQLEwNWUE4xDjAMBgNVBAMTBWliZWthMREwDwYD
    VQQpEwhjaGFuZ2VtZTEfMB0GCSqGSIb3DQEJARYQbWFpbEBob3N0LmRvbWFpbjAe
    Fw0xNTA1MTMyMzU1MzNaFw0yNTA1MTAyMzU1MzNaMIGUMQswCQYDVQQGEwJJRDES
    MBAGA1UECBMJV2VzdCBKYXZhMQ8wDQYDVQQHEwZDaWFtaXMxDjAMBgNVBAoTBUlC
    RUtBMQwwCgYDVQQLEwNWUE4xDjAMBgNVBAMTBWliZWthMREwDwYDVQQpEwhjaGFu
    Z2VtZTEfMB0GCSqGSIb3DQEJARYQbWFpbEBob3N0LmRvbWFpbjCBnzANBgkqhkiG
    9w0BAQEFAAOBjQAwgYkCgYEAsu9E87KF8iXFay97ESwCHbHC2j0oq8G1dmw9LTD4
    dYfbUm5Ewa0IhyHhK1rCObZNz8LXYHBnyvo1i4ARtm+NIaqQPhtdrgVXSjmYH0jT
    FZak2qqHoJIMXz3saC43bORtKWtLcHrRbVJo7cTsUH1qR6l6JA9YpseSYxY+/iKI
    gpsCAwEAAaOB/DCB+TAdBgNVHQ4EFgQUPmcsv9f5J4y05VdMpJf92UBLOUYwgckG
    A1UdIwSBwTCBvoAUPmcsv9f5J4y05VdMpJf92UBLOUahgZqkgZcwgZQxCzAJBgNV
    BAYTAklEMRIwEAYDVQQIEwlXZXN0IEphdmExDzANBgNVBAcTBkNpYW1pczEOMAwG
    A1UEChMFSUJFS0ExDDAKBgNVBAsTA1ZQTjEOMAwGA1UEAxMFaWJla2ExETAPBgNV
    BCkTCGNoYW5nZW1lMR8wHQYJKoZIhvcNAQkBFhBtYWlsQGhvc3QuZG9tYWluggkA
    jRiDb1zTK7swDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQB3yJaTR706
    /Qw3QI6ca3EKKhMm1ElQKP8za0+NhJj02Qr0qhoG1g8JCi4EiNmFrMAnso2XG1y1
    VqSgb9WQ0Somf5Mtmybuymxq5tJUpP4znya5EJ9fL/+NU3I1sy+8XZvQEuCh05jc
    wNiktKpXiVkrmnCxPSMKG5H3dVSxXJUF8g==
    -----END CERTIFICATE-----
    </ca>

    Lakukan hal yang sama, jika anda ingin membuka dan memasukkan crt dan key file kedalam konfig client ‘openVPN anda.
    Config diatas dapat anda edit semau anda. Sesuaikan saja dengan trik dan keinginan anda.
    Save konfig dengan CTRL+X, Y.

  • Untuk membuat user, silahkan berikan perintah :
    useradd -s /bin/false username

    Ganti username dengan nama user yang ingin anda buat. Untuk membuat password, silahkan berikan command :

    passwd username
  • Untuk mendownload config client, anda bisa gunakan bitvise atau gunakan saja zip serta webserver (nginx/apache). Karena sebelumya sudah saya share tentang cara download lewat bitvise di tutorial cara install dan konfigurasi OpenVPN di Centos, maka sekarang saya buat cara download config client lewat zip ditambah web server :
    • Install terlebih dahulu web server nginx atau apache. (lihat tutor cara install LEMP di ubuntu dan cara install LAMP di ubuntu).
    • Install zip melalui command :
      apt-get install zip
    • Masuk ke direktori keys :
      cd /etc/openvpn/easy-rsa/2.0/keys
    • Jalankan :
      zip OVPN.zip *
    • Copy file OVPN.zip ke direktori /var/www dengan command :
      cp OVPN.zip /var/www/ovpn.zip

      Jika anda menggunakan webserver nginx, maka commandnya :

      cp OVPN.zip /usr/share/nginx/www/ovpn.zip
    • Akses IP VPS atau domain anda dengan menambahkan /ovpn.zip, maka file tersebut akan terdownload secara otomatis. Contoh :
      1dpaper.tk/ovpn.zip
      192.249.60.206/ovpn.zip
    • Extrack kemudian copy file ca.crt, dedeerik.crt, dedeerik.csr, dedeerik.key dan dedeerik.ovpn (sesuaikan kelima nama file tersebut dengan yang anda miliki) ke folder config OpenVPN GUI anda. Jika anda sudah memasukan certificate ca, crt dan / atau key langsung ke konfig client, maka anda tidak perlu mendownload file-file tersebut lagi. Cukup anda download konfig OpenVPN Client saja (dedeerik.ovpn).
    • Selain dengan cara tersebut, anda juga bisa menggunakan ftp client filezilla atau ftp client lainnya.

Catatan :

Cara diatas adalah dokumentasi pribadi saya saat install OpenVPN di VPS Debian 7. Mungkin ada sedikit perbedaan jika anda menggunakan Ubuntu, tapi saya yakin tidak akan ada perbedaan yang cukup mencolok diantara kedua distro tersebut.

Leave a Reply

Your email address will not be published. Required fields are marked *