Cerita punya cerita, sebuah kantor yang koneksi internetnya lewat wireless ke netsolusi membutuhkan konektifitas yang sangat stabil dengan downtime seminimal mungkin (hehehe semuanya juga butuh kann..). Namun kondisi perinternetan Indonesia memang rada-rada aneh dan terkadang menjadi batu sandungan bagi perusahaan-perusahaan yang mengandalkan berkembangnya usaha mereka dengan memanfaatkan jalur internet.
PT. Davindo Pratama, demikian nama perusahaannya menjalankan usahanya dengan melakukan koneksi host-to-host dengan provider pulsa handphone baik GSM maupun CDMA. Aplikasi yang mereka gunakan adalah rabtronik dari RAB Indonesia, bagaimana aplikasi ini bekerja saya kurang tahu persis, yang pasti traffic yang terjadi adalah paket-paket XML informasi transaksi antara host davindo dengan beberapa host dealer pulsa (entah tepat atau tidak istilahnya). Untuk melakukan komunikasi data, host davindo membutuhkan satu buah IP Publik yang telah diregister dan dikenali oleh host milik dealer pulsa, yang tidak bisa diubah dengan mudah.
Memberikan sebuah IP Publik bukan hal sulit, saya punya dua blok /29 dari ISP saya lintaswave untuk dibagi-bagikan kepada yang membutuhkan. Namun permasalahan muncul apabila terjadi masalah dengan wireless link yang ada antara host davindo dengan Gd. Cyber, yang artinya, wireless link antara davindo dan netsolusi, netsolusi dan lintaswav, serta lintaswave dan gd.cyber. Sebenarnya tidak menjadi masalah, karena SLA lintaswave masih diangka 98% yang masih masuk hitungan baik dan bahkan lebih baik dari pada SLA t****ms****y berdasarkan pengalaman davindo sendiri (sebelumnya mereka konek via provider besar tersebut). Namun karena ada 3 hop yang mungkin putus/terganggu maka SLA tidak bisa dipertahankan pada angka manis tersebut. Pernah terjadi kegagalan hardware yang menyebabkan host davindo putus selama 4 jam (sebelum mereka konek ke netsolusi) dan menyisakan kerugian secara material yang cukup besar (failed transaction) serta tentunya kerugian imaterial (faktor trust dalam dunia bisnis).
Beberapa solusi pernah dicoba, salah satunya dengan berniat untuk melakukan collocation host davindo di sebuah data center, yang katanya tidak berhasil karena host davindo membutuhkan kondisi dengan sinyal gsm dan cdma dengan kualitas baik untuk menerima permohonan transaksi yang masuk melalui kurang lebih 8 buah gsm dan cdma modem yang tercolok di host davindo, hal ini tidak bisa mereka dapatkan di data center.
Solusi yang saya ajukan adalah dengan melakukan koneksi VPN dengan moda routing sehingga kita bisa melakukan collocation, dan bahkan lebih baik lagi menyewa sebuah account VPS dengan minimal 3 buah ip publik dan menggunakan sebuah IP Publik pada VPS tersebut sebagai IP yang diregister ke host yang lain. Kemudian melakukan NAT any to any dan push redirect gateway sehinggan host davindo hanya akan berada satu hop dibelakan IP Publik tersebut baik terkoneksi melalui wireless, ataupun yang lain sebagai backup selama melakukan koneksi melalui VPN Tunnel yang disediakan oleh VPN server di VPS Account.
Untuk VPS tentu saja pilihan jatuh kepada idVPS milik indika, karena saya sebelumnya pernah menjadi pelanggan mereka dan tentu karena murah dan technical support yang dapat diandalkan. Sementara untuk VPN pilihan jatuh kepada openVPN, tentunya open source dan tidak terlalu sulit diimplementasikan untuk seseorang dengan pengerahuan linux pas-pasan seperti saya.
OpenVPN diimplementasikan dengan moda routing (tun) dan push redirect gateway, sehinggan host yang terkoneksi dengan openVPN akan menggunakan openVPN server sebagai gateway. Konfigurasinya mudah, tinggal googling, salah satu panduan yang saya pakai adalah blognya Mas Dicky untuk konfigurasi servernya dan wiki pada tektonik untuk konfigurasi SNAT dan juga kemudian DNAT, karena VPS dengan XEN (milik idVPS) tidak mensupport -t nat masquerade, dan secara default tidak mengkompile Module Driver TUN pada kernelnya (hal ini diselesaikan dengan mudah setelah saya mengajukan permohonan support ke idVPS — viva idVPS untuk fleksibilitas dan kehandalan supportnya).
Berikut ringkasan konfigurasi pada server..
instalasi openVPN pada debian..
# apt-get install openvpn
Bikin ssl nya dari direktori openvpn sample hasil instalasi pada debian
#cd /usr/share/doc/openvpn/examples/easy-rsa/
#export D=/etc/openvpn
#export KEY_CONFIG=$D/openssl.cnf
#export KEY_DIR=$D/keys
#export KEY_SIZE=1024
#export KEY_COUNTRY=ID
#export KEY_PROVINCE=”DKI Jakarta”
#export KEY_CITY=”Jakarta Timur”
#export KEY_ORG=”netsolusi”
#export KEY_EMAIL=”tajid.yakub@gmail.com”
#export KEY_COMMON=”xxx.idvps.com”/usr/share/doc/openvpn/examples/easy-rsa# gunzip openssl.cnf.gz
/usr/share/doc/openvpn/examples/easy-rsa# cp openssl.cnf /etc/openvpn#./clean-all
#./build-ca
#./build-key-server davindo
#./build-key davindo-client
#./build-dh
dan kemudian bikin konfigurasi servernya
#pico /etc/openvpn/davindo-vpn.conf
berikut isinya, gunakan ip publik untuk koneksi vpnnya, berbeda dengan ip publik yang akan di nat any to any
port 1194
local 202.xx.xx.21
proto udp
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/davindo.crt
key /etc/openvpn/keys/davindo.key
dh /etc/openvpn/keys/dh1024.pem
server 10.10.10.0 255.255.255.0
persist-key
persist-tun
status openvpn-status.log
verb 2
dev tun
keepalive 10 120
comp-lzo
push “redirect-gateway”
push “dhcp-option DNS 10.10.10.1″
start openvpn server
#/etc/init.d/openvpn start
setelah distart akan muncul interface tun0
#ifconfig
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.10.1 P-t-P:10.10.10.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3397 errors:0 dropped:0 overruns:0 frame:0
TX packets:3244 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:986676 (963.5 KiB) TX bytes:835539 (815.9 KiB)
Lakukan SNAT untuk “merubah” ip dari vpn client, dalam hal ini 10.10.10.x dan DNAT untuk “merubah” permintaan ke ip 202.xx.xx.25 ke 10.10.10.x;
# iptables -t nat -s 10.10.10.x -A POSTROUTING -j SNAT –to 202.xx.xx.25
# iptables -t nat -A PREROUTING -d 202.xx.xx25 -j DNAT –to 10.10.10.x
openVPN server sudah berjalan dan mendengarkan permohonan koneksi dari vpnclient, ini contoh koneksi dengan openVPN client di windowXP SP2, dengan key ca.crt, klien.crt, dan klien.key yang telah dikopi ke komputer saya, dengan konfigurasi sebagai berikut;
client
dev tun
;dev-node MyTap
proto udp
remote xxx.idvps.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca carstenz-davindo-key\\ca.crt
cert carstenz-davindo-key\\davindo-client.crt
key carstenz-davindo-key\\davindo-client.key
comp-lzo
verb 3
;mute 20
Berikut hasil traceroute sebelum dan sesudah terkoneksi dengan vpn ;
C:\Documents and Settings\Tajid Yakub>tracert boleh.com
Tracing route to boleh.com [202.10.63.6]
over a maximum of 30 hops:1 <1 ms <1 ms <1 ms netsol.005.001.29.gw [172.16.5.1]
2 18 ms 3 ms 23 ms core.netsolusi.net [202.xx.xx.105]
3 14 ms 3 ms 4 ms morp.lintaswave.net.id [202.xx.xx.1]
4 6 ms 5 ms 4 ms 202.149.95.141
5 32 ms 6 ms 4 ms bolehnet.openixp.net [218.100.27.173]
6 5 ms 20 ms 7 ms 202.10.63.6Trace complete.
Tracing route to boleh.com [202.10.63.6]
over a maximum of 30 hops:1 20 ms 7 ms 32 ms 10.10.10.1
2 22 ms 19 ms 7 ms gigabitethernet1-edge187.idvps.com [202.87.187.1]
3 5 ms 23 ms 7 ms bolehnet.openixp.net [218.100.27.173]
4 9 ms 19 ms 21 ms 202.10.63.6Trace complete.
![[?] Joy, Works and Thoughts](http://www.tajidyakub.net/wp-content/themes/freshfolio/images/logo.png)








feby
September 27th, 2007
hye,,, mo nanya nie,,, (boleh khan???)
gini, aq dah selese konfigurasi VPN seperti yg km buat
saat di START-kan, client ma server na dah OK. Tp waktu di ifconfig, tun0 pada client ga muncul, tp klo pada server udah.
kira2 masalah na apa ya?
makasi ya sebelum na…
=FEBY=
Tajid Yakub
September 28th, 2007
@feby, clientnya pake OS dan software apa, kalau pada contoh ini kan saya menggunakan winM$ ..
RAFI
November 20th, 2007
openvpn bs utk koneksi full duplex 2 ip address private tdk?
yg 1 via gprs, yg 1 internet
thanks
reny
January 8th, 2008
hY..
hY..
aq mO nanya niY..
pLz bgD..
hmm.
cara IMPLEMENTASI INTERKONEKSI PC/DOS KE HOST MENGGUNAKAN PROTOKOL TCP/IP…
cara terbagustnya lah..
n ajarin juga cara prakteknya dari mana ke mana…
hmm..
plz bgt..
bls ajah ke emaiL aq..
thankz yia..
deRegen
February 11th, 2008
kalo yang beginian error-nya gimana:
deRegen
February 15th, 2008
Done, coba pake versi 2.0
udin
April 27th, 2008
mas, terimakasih tutorialnya,cukup jelas. saya berhasil bikin koneksi vpn dari client xp ke server linux debian..
hasilnya :
- di ethernet interface, gatewaynya yg seharusnya 192.168.1.1 menghilang, dns server tetap 192.168.1.1,
-sedangkan di TAP interface muncul ip address 10.10.10.6, gateway 10.10.10.5, dns 10.10.10.1, subnet mask 255.255.255.252.
saya bisa ping ke 10.10.10.1 (linux server), cuma kok kenapa gatewaynya 10.10.10.5 ??? saya ga bisa
ping ke 10.10.10.5. Gimana caranya bikin koneksi openvpn yg otomatis supaya mirip dengan vpn default (PPTP) pada windows xp, jadi pas browsing ip addressnya di whatismyip.com otomatis berubah…
Sejauh ini saya baru bisa SSH aja ke server linux saya, baik lewat 10.10.10.1 atau ip address langsung 216.XXX.XXX.XXX…cuma koneksi openvpn ini blum bisa buat internet/tunnell…
Tajid Yakub
April 27th, 2008
@udin, itu terbuat emulasi blok /30 sehingga gatewaynya menjadi 10.10.10.5, ini hanya emulasi soalnya ada kelemahan di windowsnya dalam kaitannya dengan openVPN. Kalau mau bisa internetan setupnya di Linuxnya mas, tinggal dinyalakan ip forward dan di masquerade, dan pastikan bagian;
push “redirect-gateway”
push “dhcp-option DNS 10.10.10.1″
jadi untuk DNS nya diganti aja dengan DNS yang valid dan bisa digunakan (karena bisa jadi juga masalahnya di DNS). Goodluck ya…
faul
April 30th, 2008
mantab mas inponya….
tapi tetep aja belum paham2 nih….hihihihihih
Pak kabar mas tadjid, jarang OL skrng….
Tajid Yakub
April 30th, 2008
heheh baik mas faul, jarang ol memang karena ganti Yahoo ID mas, add saya ya .. tajid.yakub[di]yahoo.com
pandi
June 15th, 2008
Nanya nih bro,
Kalo buat Windows XP ke debian/linux settingnya sama tidak ? terus, apa bedanya sih openvpn dengan pptp ? apa opnvpn bisa melewati proxy ?
~makasih buat jawabannya
Tajid Yakub
June 15th, 2008
Bro itu contohnya dari Windows XP ke Debian kok, openVPN dan pptp beda protokol, openVPN tidak menggunakan GRE, seharusnya tidak ada masalah dengan proxy (tapi ya tergantung setingan proxynya juga)