Install OpenVPN di Linux Debian Wheezy

4 Comments

Sesuai dengan salah satu janji saya sebelumnya ke seorang teman, kali ini saya akan membahas cara Install OpenVPN di Linux Debian Wheezy, bisa di server sendiri atau di vps sewaan, yang penting bukan punya orang tanpa ijin 😛

Pertama download OpenVPN di sini.

Ekstrak file openvpn-version.tar.gz kemudian jalankan ini di dalam foldernya:

./configure
make
sudo make install

Jika ada error seperti ini:
“configure: error: no acceptable C compiler found in $PATH”
Install compiler di Debian dengan cara:

sudo apt-get install build-essential

Sebelum mengulang perintah ./configure, biasanya ketika melakukan compile source selalu ada dependency yang dibutuhkan agar prosesnya bisa selesai. Untuk OpenVPN di Ubuntu diperlukan beberapa library yang harus diinstall, diantaranya:
1. sudo apt-get install libssl-dev
2. sudo apt-get install liblzo2-dev
3. sudo apt-get install libpam0g-dev

Setelah install library di atas lanjutkan ./configure kembali, kemudian make dan sudo make install.

Oke, OpenVPN telah terinstall di server.

Agar OpenVPN dapat berjalan ada beberapa hal yang kita perlukan, diantaranya:
  1. File konfigurasi server (server.conf)
  2. File konfigurasi klien (klien.conf)
  3. CA cert
  4. Private key dan Public key untuk server dan klien
Lanjut...

Di sisi server.

I. Pertama, bikin dulu file server.conf. contohnya dapat dilihat di sini. dibawah ini adalah file server.conf di server saya:
port 1194                            #listening port
proto udp                            #protokol yang digunakan
dev tun                              #ip tunneling
server 10.80.0.0 255.255.255.0       #ip subnet untuk server dan klien
ifconfig-pool-persist ipp.txt        #reconnect akan membuat ip klien tidak berubah
push "redirect-gateway"              #routing semua trafik data klien ke server
push "dhcp-option DNS 10.80.0.1"     #routing DNS klien ke server
client-to-client                     #antara klien satu dgn yang lain bisa berkomunikasi
duplicate-cn                         #satu public key bisa digunakan banyak klien
keepalive 10 120                     #ping tiap 10 detik sekali, maks 120 detik akan disconnect
cipher AES-128-CBC                   #enkripsi yang digunakan
comp-lzo                             #trafik data yang lewat akan dikompres
user nobody                          #drop privilege
group nogroup                        #drop privilege
persist-key                          #agar klien dapat reconnect setelah restart
persist-tun                          #agar klien dapat reconnect setelah restart
status openvpn-status.log            #log status openvpn server
log    openvpn.log                   #log openvpn server
verb 3                               #log level (verbose)
ca ca.crt                            #CA cert
cert ikons-server.crt                #Public key server
key ikons-server.key                 #Private key server
dh dh.pem                            #parameter Diffie-Helman
tls-auth ta.key 0                    #mengamankan koneksi openvpn dari dos dan flooding

simpan dengan nama file server.conf (atau terserah selera masing2)

II. Kedua, yang perlu dilakukan adalah membuat CA cert, Private dan Public key server.
Download dulu Easy RSA di sini. atau download langsung di terminal:

git clone https://github.com/OpenVPN/easy-rsa
buka saja folder /easy-rsa/easyrsa3/, di dalamnya ada file executable ./easyrsa
Setelah itu inisialisai PKI dengan CA cert-nya dengan cara:
./easyrsa init-pki
./easyrsa build-ca
masukkan password dan nama/domain server.
setelah selesai maka file ca.crt dapat dilihat di folder /easy-rsa/easyrsa3/pki/
buat parameter Diffie-Helman:
./easyrsa gen-dh
tunggu sampai selesai, file dh.pem dapat dilihat di folder /easy-rsa/easyrsa3/pki/
lalu buat Private key dan Public key server dengan cara:
./easyrsa build-server-full ikons-server nopass
perintah diatas menghilangkan password sehingga ketika server reboot maka openvpn dapat langsung berjalan.
masukkan password yang telah dimasukkan ketika membuat ca.crt diatas. 
file ikons-server.key dapat dilihat di folder /easy-rsa/easyrsa3/pki/private/
file ikons-server.crt dapat dilihat di folder /easy-rsa/easyrsa3/pki/issued/

buat file ta.key dengan cara:
openvpn --genkey --secret ta.key

Setelah itu setting ip forwarding  di server dengan cara:
nano /etc/sysctl.conf
dan ubah salah satu parameter didalamnya seperti berikut:
net.ipv4.ip_forward=1
kemudian lakukan:
sudo sysctl -p /etc/sysctl.conf
dan untuk koneksi di server yang sedang berjalan lakukan juga:
echo 1 > /proc/sys/net/ipv4/ip_forward

lakukan juga iptables terhadap koneksi yang sedang berjalan, lakukan satu persatu:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT   
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

masukkan iptables dan ip forwarding diatas ke dalam file rc.local agar ketika server reboot, iptables dapat langsung berjalan. caranya:
nano /etc/rc.local
 
#!/bin/sh -e
......

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

exit 0

kemudian agar DNS request para klien dapat dilakukan oleh server, maka harus diinstall DNSmasq di server.

apt-get install dnsmasq resolvconf
rubah file konfigurasinya dengan cara:
nano /etc/dnsmasq.conf
dan ubah parameter berikut:
listen-address=127.0.0.1,10.8.0.1
bind-interfaces
jangan lupa juga di server di setting DNS server yang digunakan di file /etc/network/interfaces.
nano /etc/network/interfaces
ubah menjadi seperti:
 
# The primary network interface
auto eth0
iface eth0 inet static
        address xxx.xxx.xxx.xxx
        netmask 255.255.255.0
        gateway xxx.xxx.xxx.xxx
        dns-nameservers 208.67.222.222 8.8.4.4 8.8.8.8

DNS yang saya gunakan adalah dari OpenDNS dan Google DNS.
oh iya masukkan juga DNSmasq di rc.local, caranya:

nano /etc/rc.local
masukkan ini persis diatas parameter exit 0:
/etc/init.d/dnsmasq restart

setting di sisi server telah selesai, reboot server.
copy semua file mulai dari server.conf, ca.crt, ikons-server.crt, ikons-server.key, dh.pem dan ta.key ke dalam satu folder, saran saya taruh saja di folder /etc/openvpn/.

jalankan openvpn di server dengan cara:
sudo openvpn /etc/openvpn/server.conf
setelah openvpn jalan, akan ada file openvpn.log, openvpn-status.log dan ipp.txt sesuai dengan file konfigurasi server.conf.

klo mau, masukkan juga ke file rc.local agar openvpn dapat berjalan setelah server reboot.

setelah ini lanjut ke sisi hatiku, eh maksud saya sisi klien.

Di sisi klien

I. Pertama, buat dulu file konfigurasinya, contohnya dapat dilihat di sini. berikut adalah file konfigurasi di pc saya sebagai klien:
client                   #bilang ke server, ini adalah klien       
dev tun                  #ip tunneling
proto udp                #protokol yang digunakan udp
remote ip-server 1194    #ganti ip-server dan port sesuai dengan ip/domain server
resolv-retry infinite    #agar klien selalu ping server
nobind                   #agar klien tidak binding ke port server
user nobody              #drop privilege klien
group nogroup            #drop privilege klien
persist-key              #agar koneksi tersambung kembali ketika reconnect
persist-tun              #agar koneksi tersambung kembali ketika reconnect 
tls-auth ta.key 1        #mengamankan koneksi openvpn dari dos dan flooding
cipher AES-128-CBC       #enkripsi yang digunakan koneksi openvpn
comp-lzo                 #kompresi data trafik 
ca ca.crt                #CA cert
cert ikons-klien01.crt   #public key klien
key ikons-klien01.key    #private key klien

simpan dengan nama klien.conf (atau terserah selera masing2).

II. Kedua,
buat Private key dan Public key untuk klien dengan cara:

./easyrsa build-client-full ikons-klien01 nopass
masukkan password sesuai dengan file ca.crt diatas.
setelah selesai file ikons-klien01.key dapat dilihat di folder /easy-rsa/easyrsa3/pki/private/
dan file ikons-klien01.crt dapat dilihat di folder /easy-rsa/easyrsa3/pki/issued/

setelah selesai copy file klien.conf, ca.crt, ikons-klien01.key, ikons-klien01.crt dan ta.key ke komputer/gadget klien.

biasanya saya menggunakan openvpn klien di OS Windows dan di hp android, sedangkan linux install dari source. semuanya bisa didapatkan di sini.

cara koneksi openvpn di linux:

sudo openvpn klien.conf

seperti ini hasilnya jika sudah terkoneksi:
OpenVPN koneksi klien

coba saja lihat ip publik anda, jika sudah berubah menjadi ip publik server OpenVPN berarti sudah berhasil.

semoga bermanfaat,

salam hangat.
iKONs

Categories: Uncategorized Tags: ,

Mencoba cita rasa lain Debian 7.1 “Wheezy”

9 Comments

Sudah lama tidak ngeblog itu rasanya otak jadi kram ternyata hahaha…

Kali ini saya akan berbagi pengalaman menggunakan Debian 7.1 “Wheezy”. Setelah cukup frustasi dengan laptop lama yang wirelessnya tidak terdeteksi oleh hampir semua OS Linux akhirnya saya putuskan untuk ganti laptop, pilihan saya jatuh ke Acer Aspire S3-391-6428. Dengan spesifikasi VGA Intel HD 4000 dan Wifi AR9462 saya rasa OS Linux apapun akan dapat berjalan tanpa hambatan yang berarti.

Oke, lanjut ke OS pertama yang ingin saya coba adalah Debian, nenek moyang Ubuntu. Salah satu alasan pindah dari Ubuntu karena akhir-akhir ini tampaknya kurang stabil terutama setelah ada Unity dan tiruan “Apps Store”. Untuk programming sebenarnya tidak ada masalah tapi untuk penggunaan sehari-hari cukup repot juga ketika aplikasi yang kita gunakan tiba-tiba crash.

Setelah instalasi, reboot…

  1. koneksi wireless (kebetulan laptop ini tidak memiliki colokan LAN) works like a charm 🙂
  2. VGA intel HD 4000 – ok (dideteksi sebagai ” Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)”)
  3. Keyboard – ok
  4. Sound – ok (hanya harus di naikkan volumenya secara manual tiap kali reboot, akan kita bahas fix nya setelah ini)
  5. Touchpad – multitouch tidak berfungsi
  6. Brightness – tombol <= fn => tidak berfungsi

Solusi:

  1. Sound, buka file /usr/local/bin/start-pulseaudio-x11 dengan editor kesayangan, saya menggunakan vim.
    cari code line ini:

    /usr/bin/start-pulseaudio-x11 "[email protected]"

    tambahkan persis dibawahnya code berikut:

    { xprop -root -spy > /dev/null 2>&1 || true; pulseaudio --kill; } &

    setelah selesai save dan reboot.

  2. Touchpad, buat file synaptics.conf di dalam folder /etc/X11/xorg.conf.d/
    isi dengan konfigurasi ini:

    Section “InputClass”Identifier “Touchpad” # required
    MatchIsTouchpad “yes” # required
    Driver “synaptics” # required
    Option “MinSpeed” “0.5″
    Option “MaxSpeed” “1.0″
    Option “AccelFactor” “0.075″
    Option “TapButton1″ “1″
    #Option “TapButton2″ “2″ # multitouch
    #Option “TapButton3″ “3″ # multitouch
    #Option “VertTwoFingerScroll” “1″ # multitouch
    #Option “HorizTwoFingerScroll” “1″ # multitouch
    Option “VertEdgeScroll” “1″
    Option “CoastingSpeed” “8″
    Option “CornerCoasting” “1″
    Option “CircularScrolling” “1″
    Option “CircScrollTrigger” “7″
    Option “EdgeMotionUseAlways” “1″
    Option “LBCornerButton” “8″ # browser “back” btn
    Option “RBCornerButton” “9″ # browser “forward” btn

    Kemudian lakukan ini di terminal:
    $ sudo modprobe -r psmouse
    kemudian
    $ sudo modprobe psmouse proto=imps

    lalu untuk membuatnya diload pada saat startup buat file touchpad.conf di dalam folder /etc/modprobe.d/ dan isi dengan kode berikut:

    options psmouse proto=imps
  3. Pengaturan Brightness solusinya cukup mudah tinggal buka file /etc/default/grub dan tambahkan “acpi_backlight=vendor” pada GRUB_CMDLINE_LINUX_DEFAULT, hasilnya seperti ini:
    GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash acpi_backlight=vendor“

    simpan kemudian jalankan update-grub di terminal lalu reboot.

Overall laptop ini ringan, cukup hemat energi (rata-rata 4 jam di Debian 7) dan memiliki kompatibilitas hardware yang cukup baik dengan Debian.

Setelah ini saya sedang memikirkan untuk mencoba OS Linux untuk penggunaan sehari-hari dari distro lain seperti Fedora, Arch Linux, Linux Mint, Blankon (bangga buatan dalam negeri) dan tentunya suatu saat nanti ingin mencoba OS X 🙂

Semoga bermanfaat,

iKONs

Acer Aspire S3-391-6428
Mencoba cita rasa lain Debian 7 di Acer Aspire S3-391-6428

Let’s loose some nerf  m/

[youtube=https://www.youtube.com/watch?v=sZGJrYPMkNI]

Sumber:

  • http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594001
  • https://martincooper9.wordpress.com/2012/01/02/debian-wheezy-enable-synaptic-touchpad/
Categories: Troubleshooting Tags: