Cara Install dan Setup OpenVPN pada Debian 6.0 Squeeze dengan Certificate Authentication

Pada postingan kali ini saya akan berbagi tentang?cara install dan setup OpenVPN pada Debian 6.0 Squeeze dengan Certificate Authentication. Cara ini sudah saya uji coba pada OpenVPN klien Windows 7 dan Windows 8.
Pertama, kita harus memastikan semuanya up to date dengan menjalankan perintah berikut:Cara Install dan Setup OpenVPN pada Debian 6.0 Squeeze dengan Certificate Authentication
apt-get update
apt-get upgrade -show-upgrade

Selanjutnya, mulai menginstal OpenVPN dan ketergantungan udev dengan menjalankan perintah berikut:
apt-get install openvpn udev
Sekarang, salin alat enkripsi yang berhubungan dengan ‘easy-rsa’ dengan menjalankan perintah berikut:
cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
Mari kita mengkonfigurasi infrastruktur?public key untuk OpenVPN. Kamu perlu mengkonfigurasi beberapa variabel pada file /etc/openvpn/easy-rsa/2.0/vars untuk contoh konfigurasi seperti di bawah ini:
export KEY_COUNTRY="ID"
export KEY_PROVINCE="DIY"
export KEY_CITY="Yogyakarta"
export KEY_ORG="Kentos"
export KEY_EMAIL="webmaster@www.kentos.org"

Jalankan perintah berikut di bawah ini secara berurutan untuk memulai pembuatan?certificate authentication dan infrastruktur ?public key:
cd /etc/openvpn/easy-rsa/2.0
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/clean-all
. /etc/openvpn/easy-rsa/2.0/build-ca

Selanjutnya, membuat private key?untuk server dengan menjalankan perintah berikut:
. /etc/openvpn/easy-rsa/2.0/build-key-server Server
Kamu dapat mengubah kata ‘Server’ pada perintah diatas ke hostname?server OpenVPN kamu. Perintah di atas akan meminta informasi dan Common Name , untuk private key saat ini adalah ‘server’. Kamu dapat membiarkannya kosong pada isian?challenge password.?Terakhir, Kamu harus menjawab ‘y’ untuk menyetujui sertifikat.
Selanjutnya, kamu dapat membuat?certificate authentication?dan private key untuk klien OpenVPN dengan menjalankan perintah berikut:
. /etc/openvpn/easy-rsa/2.0/build-key client1

Catatan : ‘client1’ di atas adalah nama dari klien OpenVPN. Kamudapat mengganti ‘client1’ untuk mencocokkan masing-masing klien kamu dengan ulangi langkah di atas untuk membuat certificate authentication?dan private key?tambahan?.

Selanjutnya, membuat Diffie Hellman Parameter yang mengatur metode pertukaran private key dan authentication?yang digunakan oleh server OpenVPN dengan menjalankan perintah berikut: –
. /etc/openvpn/easy-rsa/2.0/build-dh

Selanjutnya, salin certificate, private key dan file Diffie Hellman Parameter?ke direktori /etc/openvpn dengan menjalankan perintah berikut: –
cd /etc/openvpn/easy-rsa/2.0/keys
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn

Sekarang, salin certificate?berikut dan file penting dari direktori /etc/openvpn/easy-rsa/2.0/keys menggunakan WinSCP ke komputer klien Windows:
ca.crt
client1.crt
client1.key

Salin atau tulis konfigurasi di bawah ini, di /etc/openvpn/server.conf :
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 5 30

Selanjutnya, men-download OpenVPN Client installer Windows. Setelah download selesai, menginstal klien OpenVPN. Kemudian, kamu dapat melanjutkan untuk membuat file ‘client1.ovpn’ dan salin ‘ca.crt’, ‘client1.crt’, ‘client1.key’ ke folder C:\Program Files\OpenVPN\config. Di bawah ini adalah konfigurasi klien OpenVPN saya di ‘client1.ovpn’ untuk Windows 7 / Windows 8 :
client
dev tun
proto udp
remote your.openvpn.server 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3

Dengan memiliki ‘push redirect-gateway def1’ di /etc/openvpn/server.conf, hal ini akan memungkinkan enkripsi tunneling lalu lintas klien penuh melalui OpenVPN. kamu harus menghapus komentar pada baris berikut di /etc/sysctl.conf untuk mengaktifkan fitur routing IPv4:
net.ipv4.ip_forward = 1
Namun, fitur tersebut akan kembali seperti semula jika kamu reboot sistem, tetapi kamu dapat melakukan dengan menjalankan perintah berikut:
sysctl -p
kamu perlu mengkonfigurasi iptables untuk mengaktifkan ip forwarding agar OpenVPN dapat bekerja. Jalankan perintah berikut:
touch /usr/local/bin/firewall.sh
chmod + x /usr/local/bin/firewall.sh

Sekarang, tambahkan code di bawah pada /usr/local/bin/firewall.sh berkas:
#! / Bin / bash
oclient = "10.8.0.0/24"

iptables -t filter -F
iptables -t nat -F

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEP
iptables -A FORWARD -s $oclient -j ACCEPT
iptables -A FORWARD -j REJECT

iptables -t nat - A POSTROUTING -s $oclient -o eth0 -j SNAT -to ip.anddress.kamu

Catatan, jika aturan POSTROUTING atas tidak bekerja, mungkin kamu menggunakan OpenVZ dan kamu perlu mengubah ‘eth0’ menjadi ‘venet0’ atau kamu perlu mengubah(bukan menimpa) dengan iptables dibawah.

iptables -t nat -A POSTROUTING -s $oclient -j MASQUERADE

Selanjutnya, taruh baris /usr/local/bin/firewall.sh ke /etc/rc.local sebelum ‘exit 0’ untuk memastikan pengaturan iptables sudah tersimpan setiap reboot atau power up.
nano /etc/rc.local atau vi /etc/rc.local
Kamu juga dapat menghapus user akses klien OpenVPN dengan menjalankan perintah berikut:
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/revoke-full client1

Catatan, kamu perlu mengganti ‘client1’ dengan klien pengguna yang akan dihapus.

Akhirnya, Cara Install dan Setup OpenVPN pada Debian 6.0 Squeeze dengan Certificate Authentication selesai juga. Dengan semua konfigurasi di atas saya harap kamu dapat menggunakan dan menikmati lalu lintas aman kamu melalui OpenVPN. Terima kasih.

16 Comments

    • hahaha maaf mas, kalo gak salah ini posting tengah malam jadi kurang efektif 😀

  1. juju

    gan typonya tolong bnerin dong. maklum gan nubie

    • sudah tak edit dikit mas hehe.. ini juga belum lagi 😀

  2. Gan maap nubi mau tanya, kalo installnya di ubuntu apa aja yang sekiranya beda dari command pada postingan tersebut diatas?
    Makaisih.. 🙂

    • Sama aja kok kalo ada error disetiap awal apt-get tambahin sudo.

      • gan maap masih error nih untuk iptablesnya..
        saya udah coba untuk POSTROUTING’nya tapi masih selalu gagal.
        iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
        iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
        iptables -A FORWARD -j REJECT
        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j SNAT –to-source [server-ip]
        — atau —
        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j MASQUERADE
        — atau —
        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
        tapi masih belum bisa ngeping sama sekali..
        VPS OS : debian debian squeeze 64x
        mohon pencerahannya ya

        • Itu iptables -t nat nya pilih salah satu aja tergantung situ pake vps openvz, KVM atau yang lainnya. Kalo udah terlanjur hapus dulu jangan langsung ditimpa iptables -t nat yang lain bakal tetep gak bisa soalnya.

Leave a Reply