Senin, 14 Januari 2008

virtual private network



vpn(Virtual Private Network )

VPN a.k.a Virtual Private Network adalah suatu cara membuat jaringan lokal pada jaringan publik,dalam hal ini yang dimaksud jaringan publik adalah jaringan internet,VPN digunakan untuk alasan keamanan transfer data dari gangguan orang2 yg tidak berkepentingan. sebagai contoh ada sebuah perusahaan,perusahaan tersebut mempunyai anak perusahaan di kota A dan kota B,kemudianperusahaan induk ingin mengakses jaringan komputer (transfer data penting perusahaan) di anak perusaahaan di Kota A dan kota B.Perusahaan indUk dan anak perusahaan masing2 mempunyai koneksi ke internet.Untuk transfer data penting perusahaan lewat jaringan publik jelas sangat rawan terhadap gangguan para intruder,salah satu penyelesaiannya perusahaan induk dapat membangun jaringan fiber optik ke masing2 anak perusahaan.Opsi ini mungkin dilakukan tapi dari segi biaya jelas sangat mahal, untuk itu digunakanlah VPN, dari segi biaya opsi ini tidak memerlukan biaya tambahan,karena perusahaan dan anak perusahaan sudah mempu mempunyai koneksi internet.jadi dengan VPN perusahaan induk dapat mengakses,transfer data penting perusahaan pada masing2 anak perusahaan seolah-olah transfer pada dilakukan .Ada banyak cara membangun koneksi VPN, yang saya tulis disini hanya IPsec dan OpenVPN (yg banyak digunakan entah dengan alasan apa)yang lainnya ntar aja yach soalnya banyak amat caranya









OpenVPN


install openvpnuntuk instalasi aku pake yum install aja biar lebih gampang,biar gak dipusingkan dengan dependency2-nya[irfan@localhost]#yum install -y openvpn
untuk membangun koneksi OpenVPN ada 2 cara, menggunakan Static Key dan menggunakan Certificate Authority (CA),masing2 mempunyai kelebihan dan kekurangan
Cara yang pertama yaitu menggunakan Static Key, cara ini hanya dapat digunakan untuk koneksi OpenVPN antara satu server dan satu client tetapi cara ini mempunyai konfigurasi yang simpleBerikut gambar topology yang akan kita gunakan untuk eksperimen




























Dalam kasus ini kita umpamakan PC01 sebagai server machine dan PC02 sebagai client server
#Konfigurasi pada machine servermasuk ke direktory /etc/openvpn dan buat key di direktory tersebut
[PC01@localhost]# cd /etc/openvpn/[PC01@localhost]# openvpn –genkey –secret kunci.key
setelah key selesai dibuat,kemudian copy key tersebut ke machine client pada direktory /etc/openvpn (dlm hal ini aku menggunakan perintah scp untuk proses peng-copy-an –lebih lanjut tentang perintah scp dapat dibaca pada artikel lain di web-blog ini
[PC01@localhost]# scp kunci.key root@client_node:/etc/openvpn
setelah itu buat file baru server.conf pada /etc/openvpn kemudian isikan konfigurasi seperti dibawah ini,tutup kemudian simpan file tsb
[PC01@localhost]#vi server.confdev tun //menggunakan tunnel untuk membangun koneksi openVPNifconfig 222.222.222.1 222.222.222.2 //IP address yg digunakan untuk tunnel (awas jng sampai kebalik antara server dg client)secret kunci.key //nama file key yang telah kita buat tadicomp-lzo //data yg ditransfer akan di compress dengan metode ini
#Konfigurasi pada machine clientbuat file baru dengan nama client.conf di /etc/openvpn kemudian isikan file konfigurasi seperti dibawah ini setelah selesai tutup dan simpan file tsb
[PC02@localhost]# cd /etc/openvpn/[PC02@localhost]# vi client.confremote 172.29.1.1 //IP address server machinedev tun //menggunakan tunnel untuk membangun koneksi openVPNifconfig 222.222.222.2 222.222.222.1 //IP address yg digunakan untuk tunnel (awas jng sampai kebalik antara server dg client)secret kunci.key //nama file key yang telah kita buat tadicomp-lzo //data yg ditransfer akan di compress dengan metode ini
Setelah konfigurasi pada server dan client machine selesai dibuat kemudian jalankan openVPN pada masing2 machinemenjalankan openVPN pada server machinemasuk ke direktory /etc/openvpn#openvpn –config server.confmenjalankan openVPN pada client machinemasuk ke direktory /etc/openvpn#openvpn –config client.confNow we test the connectionserver machine
Sekarang cara yg kedua dengan menggunakan Certificate Authority (CA), cara ini dapat digunakan untuk koneksi satu server dan lebih dari satu client. Untuk maen2 kali ini kita masih mengunakan topology seperti gambar diatas
#Konfigurasi pada server machinemasuk ke /usr/share/openvpn/easy-rsa, trus edit file vars dan isikan KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL (jangan sampe dikosongin)
#cd /usr/share/openvpn/easy-rsa#vi varsexport KEY_COUNTRY=” ”export KEY_PROVINCE=” ”export KEY_CITY=” ”export KEY_ORG=” ”export KEY_EMAIL=” ”
Trus jalanin perintah dibawah ini untuk menginisialisasi PKI (public key infrastructure)#. ./vars#./clean-all#./build-ca //membuat certificate authority (CA)
membuat key untuk server dan client, untuk contoh dibawah saya membuat key untuk 1 server dan 2 client#./build-key-server server#./build-key client1#./build-key client2
next step untuk men-generate Diffie Hellman parameter#./buil-dhJika langkah2 diatas berhasil maka akan ada direktory keys di /usr/share/openvpn/easy-rsa, copy direktory keys tsb ke /etc/openvpn#cp -r /usr/share/openvpn/easy-rsa/keys /etc/openvpn/masuk ke direktory keys tsb dan copy ca.crt,client1.crt,client1.key ke /etc/openvpn/ client1 machine (lakukan perintah yg sama pada client2 machine)
Setelah itu copy /usr/share/doc/openvpn-2.0.7/sample-config-files/server.conf ke /etc/openvpn dan edit file server.conf yg telah di copy tadi sesuai kebutuhan (konfigurasi server.conf akan dijelaskan dibawah)#cp /usr/share/doc/openvpn-2.0.7/sample-config-files/server.conf /etc/openvpn#vi /etc/openvpn/server.conf
#Konfigurasi pada client machineCopy /usr/share/doc/openvpn-2.0.7/sample-config-files/client.conf ke /etc/openvpn dan edit file client.conf yg telah di copy tadi sesuai kebutuhan (konfigurasi client.conf akan dijelaskan dibawah)#cp /usr/share/doc/openvpn-2.0.7/sample-config-files/client.conf /etc/openvpn#vi /etc/openvpn/client.conf
Sekarang kita akan langsung aja maen2 dg contoh topology diatasExample #1Host-to-hostContoh pertama kita akan membangun koneksi openVPN antara PC01 (server) dan PC02 (client)
#konfigurasi pada server machine[PC01@localhost]#vi /etc/openvpn/server.confport 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh1024.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtkeepalive 10 120comp-lzopersist-keypersist-tunstatus openvpn-status.logverb3
jalankan service openvpn[PC01@localhost]#service openvpn start[PC01@localhost]#cd /etc/openvpn/keys[PC01@localhost]#openvpn –config server.conf
#konfigurasi pada client machineedit /etc/openvpn/client.conf[PC02@localhost]#vi /etc/openvpn/client.confclientdev tunproto udpremote 172.29.1.1 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client.crtkey client.keycomp-lzoverb 3
jalankan service openvpn[PC02@localhost]#service openvpn start[PC02@localhost]#cd /etc/openvpn/keys[PC02@localhost]#openvpn –config client.conf
#Test koneksi
Example #2Network-to-hostContoh kedua kita akan membangun koneksi openVPN antara PC01 (server) dan PC02 (client).Sebagai tambahan PC02 dapat terkoneksi dengan PC03 (network dari PC01)
#konfigurasi pada server machine[PC01@localhost]#vi /etc/openvpn/server.confport 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh1024.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush “route 172.29.2.0 255.255.255.0″keepalive 10 120comp-lzopersist-keypersist-tunstatus openvpn-status.logverb3
jalankan service openvpn[PC01@localhost]#service openvpn start[PC01@localhost]#cd /etc/openvpn/keys[PC01@localhost]#openvpn –config server.conf
#konfigurasi pada client machine[PC02@localhost]#vi /etc/openvpn/client.confclientdev tunproto udpremote 172.29.1.1 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client.crtkey client.keycomp-lzoverb 3
jalankan service openvpn[PC02@localhost]#service openvpn start[PC02@localhost]#cd /etc/openvpn/keys[PC02@localhost]#openvpn –config client.conf
Example #3Network-to-networkContoh ketiga kita akan membangun koneksi openVPN antara PC01 (server) dan PC02 (client).Sebagai tambahan network dari PC02 dapat terkoneksi dengan network PC01
#Konfigurasi server machine[PC01@localhost]#vi /etc/openvpn/server.confport 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh1024.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush “route 172.29.2.0 255.255.255.0″client-config-dir ccdroute 172.29.3.0 255.255.255.0keepalive 10 120comp-lzopersist-keypersist-tunstatus openvpn-status.logverb3
#buat directory ccd dan file client di /etc/openvpn/keys dan isikan konfigurasi seperti dibawah[PC01@localhost]#mkdir /etc/openvpn/keys/ccd[PC01@localhost]#cd /etc/openvpn/ccd[PC01@ keys]#vi clientiroute 172.29.2.0 255.255.255.0
jalankan service openvpn[PC01@localhost]#service openvpn start[PC01@localhost]#cd /etc/openvpn/keys[PC01@localhost]#openvpn –config server.conf
#konfigurasi pada client machine[PC02@localhost]#vi /etc/openvpn/client.confclientdev tunproto udpremote 172.29.1.1 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client.crtkey client.keycomp-lzoverb 3
jalankan service openvpn[PC02@localhost]#service openvpn start[PC02@localhost]#cd /etc/openvpn/keys[PC02@localhost]#openvpn –config client.conf

Tidak ada komentar: