BAB 4
IMPLEM ENTASI DAN EVALUASI
4.1 Perancangan Jaringan VPN
Implementasi VPN di Depkominfo dilakukan dengan mengunakan OpenVPN, menerapkan skema di mana masing-masing VPN Client merupakan sebuah router untuk menghubungkan LAN dibelakangnya dengan jaringan lokal di DEPKOM INFO. Secara sederhana skema tersebut diilustrasikan dengan gambar di bawah.
Gambar 4.1 : Skema rancangan VPN sederhana
4.2 Hardware dan Software yang Digunakan
Dibawah ini daftar hardware yang penulis gunakan untuk melakukan simulasi VPN melalui OpenVPN pada DEPKOM INFO baik server maupun client.
Komputer Server :
Tabel 4.1 : Spesifikasi Server
Brand HP Proliant DL 350 G5 Processor IntelXeon 2.8 Ghz
Hardisk 2x80 GB
Memory 1 GB
LAN Card 2 Broadcom 1 Ghz Operating System Debian
Komputer Client :
Tabel 4.2 : Spesifikasi Client
No. Brand Spesifikasi
1. Hawlett-Packard CPU Intel P4 2.8Ghz, 512 DDR, 40GB HDD, 52x CDROM 2. Laptop Acer Aspire
CPU IntelCeleron Processor 530 1.7Ghz, 512 DDR2, 80GB
HDD DVD RW, Broadcom LAN Card
Software yang digunakan antara lain : • Operating System Debian Linux
• Operating System Windows XP SP2 Profesional Edition • OpenVPN
4.3 Instalasi OpenVPN
Untuk melakukan penginstalan OpenVPN dapat mendownload software pada web resmi OpenVPN secara gratis, karena software ini merupakan open source. Untuk mendownload engine OpenVPN pada alamat http://openvpn.net/download.html dan untuk mendownload GUI OpenVPN pada windows pada alamat http://openvpn.se/
4.3.1 Instalasi OpenVPN Pada Windows
1. Buka file “openvpn-2.0.9-install.exe” maka akan keluar jendela sebagai berikut. Klik next untuk melanjutkan instalasi.
2. Halaman Licence Agreement tekan next untuk melanjutkan instalasi.
Gambar 4.1.2 : License Agreement
3. Pemilihan komponen yang akan diinstal, tidak perlu diubah, tekan next untuk melanjutkan.
4. Pemilihan lokasi instalasi OpenVPN, tekan next untuk melanjutkan.
Gambar 4.1.4 : Pemilihan lokasi instalasi
5. Proses instalasi sedang berjalan.
6. Instalasi selesai, tekan next untuk melanjutkan.
Gambar 4.1.6 : Instalasi selesai
7. Instalasi telah selesai dengan sukses, tekan finish untuk keluar.
4.3.2 Instalasi OpenVPN GUI Pada Windows
OpenVPN GUI berfungsi untuk menjalankan aplikasi OpenVPN pada windows, untuk mempermudah user melakukan koneksi. Langkah-langkah instalasi OpenVPN GUI pada Sistem Operasi Windows kurang lebih sama dengan cara instalasi engine OpenVPN diatas. Berikut screenshot instalasi OpenVPN GUI untuk windows.
1. Buka file “openvpn-2.0.9gui-1.0.3.exe” maka akan keluar jendela sebagai berikut. Klik next untuk melajutkan instalasi
2. Halaman License Agreement, tekan next untuk melanjutkan instalasi.
Gambar 4.2.2 : License Agreement
3. Pemilihan komponen yang akan diinstal, tidak perlu diubah. Tekan next untuk melajutkan.
4. Pemilihan lokasi instalasi, tekan next untuk melanjutkan.
Gambar 4.2.4 : Pemilihan destination instalasi
5. Proses instalasi sedang berjalan.
6. Instalasi selesai, tekan next untuk melanjutkan.
Gambar 4.2.6 : Instalasi selesai
7. Instalasi telah selesai dengan sukses.
Setelah selesai proses instalasi OpenVPN GUI maka pada taskbar sebelah kanan bawah akan muncul lambang OpenVPN, berupa lambang koneksi LAN, namun mempunyai warna yang berbeda.
Gambar 4.3 : Tampilan OpenVPN GUI pada taskbar
4.3.3 Instalasi OpenVPN Pada Debian S ebagai Server
Instalasi dapat dilakukan dengan menggunakan apt-get seperti yang ditujukan di bawah ini.
Server VPN adalah server yang menjadi pusat koneksi. Seluruh VPN client akan terhubung ke server tersebut, dan server tersebut sekaligus menjadi titik pusat routing yang menghubungkan jaringan lokal Depkominfo dengan jaringan-jaringan lain di remote site.
Beberapa hal yang diperlukan dalam mengkonfigurasi server VPN adalah membuat beberapa sertifikat, keys, dan pengaturan IP.
4.3.3.1 Pembuatan S ertifikat
Paket OpenVPN di Debian telah menyertakan beberapa tool yang memudahkan pembuatan sertifikat. Sertifikat yang dibutuhkan adalah sertifikat CA, sertifikat server, dan sertifikat client. Tool ini (berupa script) berada dalam direktori /usr/share/doc/openvpn/examples/easy-rsa/2.0/.
Ubah file vars sesuai dengan table berikut.
Setelah itu export variable vars, dan jalankan perintah clean-all.
Lanjutkan dengan menjalankan perintah build-ca. Akan ada beberapa pertanyaan yang harus dijawab. Bila di dalam tanda kurung siku ( [ ] ) telah terdapat jawaban yang tepat, lanjutkan saja dengan menekan tombol enter. Bila tidak, masukkan isi yang sesuai.
{root@root 11:20 2.0} #vi vars export KEY_COUNTRY=”ID” export KEY_PROVINCE=”JKT” export KEY_CITY=”Jakarta” export KEY_ORG=”Depkominfo”
export KEY_EM [email protected]
{root@vpn 11:20 2.0}#. ./vars {root@vpn 11:20 2.0}# ./clean-all
{root@vpn 11:20 2.0]# ./build-ca Generating a 1024 bit RSA private key ...++++++
………...++++++ writing new private key to 'ca.key' ---
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank For some fields there will be a default value,
If you enter '.', the field will be left blank. ---
Country Name (2 letter code) [ID]:
State or Province Name (full name) [JKT]: Locality Name (eg, city) [JakartaJ:
Organization Name (eg, company) [Depkominfo] : Organizational Unit Name (eg, section) []:Pusat Data Common Name (eg, your name or your server's hostname) [Depkominfo CA] ;
Hasilnya akan disimpan pada direktori keys dengan nama ca.crt dan ca.key.
Lanjutkan dengan membuat sertifikat server. Pada bagian ini terdapat pertanyaan untuk memasukkan sebuah password. M asukkan sebuah password, dan ingatlah password yang anda masukkan. Selain membuat sebuah sertifikat, perintah ini juga secara otomatis men-sign sertifikat tersebut dengan menggunakan CA yang telah dibuat.
[root@vpn 11:20 2.0]# ./build-key-server server Generating a 1024 bit RSA private key
...++++++
...+ + + +++
writing new private key to 'server.key'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN
There are quite a few fields but you can leave some blank For .some fields there will be a default value,
If you enter ‘.’, the field will be left blank. ---
Country Name (2 letter code) [ID]:
State or Province Name (full name) [JKT]: Locality Name (eg, city) [Jakarta]:
Organization Name (eg, company) [Depkominfo]:
Common Name (eg, your name or your server’s hostname) [server]: Email Address [[email protected]]:
Please enter the following ‘extra’ attributes To be sent with your certificate request A challenge password []:superman An optional company name [ ]:
Using configuration from /home/sokam/tmp/2.0/openssl.cnf Check that the request matches the signature
Signature ok
The subject’s Distinguished name is as follows
countryName :PRINTABLE:’ID’
stateOrProvinceName :PRINTABLE:’JKT’
localityname :PRINTABLE:’Jakarta’ organizationName :PRINTABLE:’Depkominfo’
Proses diatas menghasilkan file server.crt, server.csr dan server.key pada direktori key.
Kemudian proses pembuatan sertifikat dilanjutkan dengan pembuatan sertifikat client. Proses ini diulang sebanyak jumlah client yang akan dibuat. Bila ada 64 client yang dibuat, maka tentu saja proses ini harus dilakukan sebanyak 64 kali.
Tidak seperti kedua jenis sertifikat sebelumnya, pembuatan sertifikat client menggunakan pkitool. Sebagai contoh, berikut adalah proses pembuatan 2 (dua) sertifikat client.
commonName:PRINTABLE:’server’
emailAddress :IA5STRING:’[email protected]
Certificate is to be certified until Nov 1 02:40:41 2018 GMT(3650 days) Sign the certificate? [y/n]:y
1 out of 1 certificate requests certificate requests certified, commit? [y/n]y Write out database with 1 new entries
Data Base Updated
[root@vpn 11:20 2.0]# ./pkitool client1 Generating a 1024 bit RSA private key …++++++
……++++++
Writing new private key to ‘client1.key’
Using configuration from /home/sokam/tmp/2.0/openssl.cnf Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’ID’ stateOrProvinceName :PRINTABLE:’JKT’ localityname :PRINTABLE:’Jakarta’ organizationName :PRINTABLE:’Depkominfo’ commonName :PRINTABLE:’client1’emailAddress :IA5STRING:’[email protected]
Certificate is to be certified until Nov 1 03:17:48 2018 GM T(3650 days)
Komponen terakhir yang dibutuhkan adalah file dh.key yang digunakan untuk menjalankan algoritma Diifie-Herman, yaitu suatu mekanisme yang memungkinkan client dan server saling bertukar data dengan aman melalui jalur non-encrypted. Hasil operasi ini terdapat pada file dh1024.pem.
4.3.4 Konfigurasi OpenVPN Pada Windows
Jika belum melakukan konfigurasi, maka user belum dapat melakukan koneksi memakai OpenVPN. Seperti terlihat pada gambar di bawah tidak terdapat pilihan untuk melakukan koneksi karena belum melakukan konfigurasi.
Data Base Updated
[root@vpn 11:20 2.0]# ./pkitool client1 Generating a 1024 bit RSA private key …++++++
……++++++
Writing new private key to ‘client1.key’
Using configuration from /home/sokam/tmp/2.0/openssl.cnf Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’ID’ stateOrProvinceName :PRINTABLE:’JKT’ localityname :PRINTABLE:’Jakarta’ organizationName :PRINTABLE:’Depkominfo’ commonName :PRINTABLE:’client2’ emailAddress :IA5STRING:’[email protected] Certificate is to be certified until Nov 1 03:17:48 2018 GMT (3650 days)
Write out database with 1 new entries Data Base Updated
Gambar 4.4 : Tidak terdapat pilihan koneksi
4.3.4.1 Pembuatan Key
OpenVPN telah menyediakan tool pembuatan key untuk melakukan pengetesan koneksi saat OpenVPN baru diinstal pertama kali. Pada windows setelah menginstal OpenVPN user dapat pergi ke direktori: Start ->All Program->OpenVPN->Generate a static OpenVPN key, seperti dibawah ini. Setelah itu akan muncul windows dengan tampilan sebagai berikut.
Gambar 4.5 : Generate a static OpenVPN key
Generate a static OpenVPN key
M aka pada folder config dalam OpenVPN akan muncul file .txt yang berisi key yang sudah di-generate oleh OpenVPN.
Gambar 4.6 : key.txt hasil proses generate key sebelumnya
Ini adalah isi dari key.txt yang di generate oleh OpenVPN. File key.txt ini harus di copy ke client agar server dan client mempunyai key yang sama.
Gambar 4.8 : isi dari file key.txt
Isi folder config yang telah berisi sertifikat, key, dan konfigurasi untuk sistem client.
Terdapat juga file client.opvp yang merupakan file inti konfigurasi OpenVPN. Dapat dilihat sebagai contoh dari gambar dibawah. Saat komputer client melakukan buka koneksi, maka file inilah yang dijalankan oleh OpenVPN engine.
Gambar 4.10 : Konfigurasi yang terdapat pada file client.opvn
Jika terlebih dahulu telah konfigurasi maka untuk memulai, klik kanan pada lambang OpenVPN GUI di taskbar lalu pilih connect.
Setelah menekan tombol connect maka OpenVPN akan membuat koneksi melalui file yang berada dalam folder config.
Gambar 4.12 : Proses yang terjadi setelah di-connect
Koneksi selesai dibuat, dan OpenVPN siap digunakan.
Gambar 4.13 : Koneksi telah terhubung
Pesan dari OpenVPN yang menyatakan bahwa koneksi berhasil dibuat. Terlihat juga IP sementara komputer client dalam OpenVPN
(bukan IP asli). IP ini didapat dengan melakukan setting dalam file client konfigurasi.
Gambar 2.14 : IP yang diberikan oleh OpenVPN
4.3.5 Konfigurasi OpenVPN Pada Debian
Seluruh konfigurasi OpenVPN terdapat pada direktori /ect/openvpn. Komponen-komponen lain seperti sertifikat dan sebagainya ada baiknya diletakkan juga di dalam direktori tersebut, untuk memudahkan proses konfigurasi.
4.3.5.1 Konfigurasi Server
Konfigurasi server OpenVPN terdapat pada server.conf, yang isinya ditunjukan oleh kode berikut :
Port 443 Proto tcp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem server 10.253.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt client-config-dir ccd route 10.254.0.0 255.255.0.0 route 10.253.0.0 255.255.0.0 push “redirect-gateway” keepalive 10 120
Pada konfigurasi diatas terdapat sebuah key yang sebelumnya bebas dibahas, yaitu ta.key. File ini adalah shared secret key yang digunakan untuk memperketat keamanan enkripsi, yakni digunakan pada saat memulai koneksi SSL/TLS.
File ini dibuat dengan menggunakan perintah :
File yang harus terdapat pada direktori /ect/openvpn ditunjukan oleh bagian konfigurasi yang dicetak tebal.
File ipp.txt digunakan untuk menyimpan data asosiasi client <-> Virtual IP Address. File ini kosong, dibuat dengan menggunakan perintah touch seperti yang ditunjukkan di bawah ini.
4.3.5.1.1 Konfigurasi Alokasi IP
Pada skema instalasi ini masing-masing client memperoleh alokasi IP jaringan dan IP p2p. Konfigurasi ini disimpan di dalam direktori ccd. Direktori ini berisi banyak file, sejumlah tls-auth ta.key 0 # This file is secret
comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3
{root@vpn 11:20 openvpn}# openvpn –genkey –secret
client yang diijinkan terhubung dengan server VPN. Nama file konfigurasi masing-masing client harus sesuai dengan CN (Common Name) masing-masing sertifikat client.
Sebagai contoh, berikut adalah isi file client10, client20, dan client30. Penyusupan IP disesuaikan dengan table pembagian IP. Client10 ipconfig-push 10.254.0.38 10.254.0.37 Iroute 10.254.10.0 255.255.255.0 Client20 Ipconfig-push 10.254.0.78 10.254.0.77 Iroute 10.254.20.0 255.255.255.0 Client30 Ipconfig-push 10.254.0.118 10.254.0.177 Iroute 10.254.30.0 255.255.255.0 4.3.5.2 Konfigurasi Client
Seperti halnya server, client OpenVPN menyimpan konfigurasi di direktori /etc/openvpn. Konfigurasi berisi seperti yang ditunjukan di bawah. client dev tun proto tcp remote vpn.depkominfo.go.id 443 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client18.crt key client18.key tls-auth ta.key 1 comp-lzo verb 3
Sebelum client dapat melakukan koneksi, ada beberapa berkas yang harus di distribusikan terlebih dahulu. Berkas-berkas tersebut adalah, sebagai berikut :
• clientXX.crt
Berisi sertifikat yang digunakan client dalam melakukan hubungan ke server
• clientXX.key
Berisi sertifikat yang digunakan client dalam melakukan deskripsi paket-paket data yang didapatkan dari server.
• ta.key
M erupakan public key yang digunakan untuk melakukan enkripsi data yang dikirimkan oleh server.
• ca.crt
M erupakan sertifikat CA yang digunakan untuk verifikasi sertifikat yang diperoleh dari server pada saat proses penyambungan berlangsung.
Berkas-berkas di atas merupakan sertifikat yang sebelumnya telah dibuat di server. Administrator harus mengirimkan berkas-berkas tersebut ke penerimanya masing-masing.
Gambar 4.15 : Contoh Berkas yang telah di distribusikan ke masing-masing client
4.6 Kontrol OpenVPN
Pada server dan client (yang menggunakan sistem operasi Debian LINUX), perintah yang digunakan untuk menjalankan OpenVPN adalah :
untuk mematikannya,
Ketika client memulai koneksi, dapat diamati bahwa syslog akan merekam aktifitas-aktifitasnya.
4.7 Konfigurasi Lainnya
Agar server VPN dapat melakukan packet forwarding, ubahlah file/etc/sysctl.conf pada bagian net.ip4.ip_forward. Isi variable ini adalah angka 1
{root@vpn 11:20 openvpn}# /etc/init.d/openvpn start
(satu). Pada awalnya bagian ini di comment. Anda cukup menghapus tanda “#” yang terdapat di awal baris.
4.8 Evaluasi
4.8.1 Uji Konektivitas Jaringan
Uji konektivitas akan dilakukan dengan menggunakan dua alamat IP berbeda (192.168.250.0/24) dan (172.16.76.0/24) melalui server yang berbasis Linux. Diantara dua server Linux terdapat tunnel dengan IP virtual (10.179.10.1) dan (10.179.10.2). Uji konektivitas dilakukan dengan menggunakan perintah ifconfig, route dan ping.
Langkah pertama adalah pengecekan sistem alamat jaringan dengan menggunakan perintah ifconfig :
Hasilnya memperlihatkan alamat IP jaringan (192.168.250.128) dan menunjukkan sistem jaringan berjalan dengan baik. Ketik –n untuk menampilkan IP routing table dari sistem jaringan yang ada.
root@vpn:~ #ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:AE:8C:D7 inet addr:192.168.250.128 Bcast:192.168.250.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2640 errors:0 dropped:0 overruns:0 frame:0 TX packets:2290 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:250738 (244.8 KiB) TX bytes:273328 (266.9 KiB) Interrupt:10 Base address:0x1080
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:57 errors:0 dropped:0 overruns:0 frame:0 TX packets:57 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
Tabel 4.3 : Kernel IP 192.168.250.128 routing table
Destination Gateway Subnetmask Flags M etric Raf Use Iface 192.168.250.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.250.251 0.0.0.0 UG 0 0 0 eth0
Dapat kita lihat tabel diatas yang menghasilkan informasi mengenai destination, gateway, netmask dan interface.
Baris ketiga menunjukkan semua traffic yang menuju jaringan 192.168.250.0 dikirim langsung menuju network interface eth0.
Baris keempat menunjukkan semua traffic ke tujuan manapun akan dikirim melalui default gateway 192.168.250.251 melalui interface eth0.
Dari hasil diatas telah terbukti tidak terjadi masalah pada sisi client. Sekarang menggunakan perintah ping kita akan mencoba apakah default gateaway diatas dapat tersambung pada client.
root@vpn:~ #route -n
root@vpn:~ #ping 192.168.250.251
PING 192.168.250.251 (192.168.250.251): 56 data bytes 64 bytes from 192.168.250.251: icmp_seq=0 ttl=64 time=1.3 ms
64 bytes from 192.168.250.251: icmp_seq=1 ttl=64 time=0.6 ms
64 bytes from 192.168.250.251: icmp_seq=2 ttl=64 time=0.4 ms
--- 192.168.250.251 ping statistics --- 3 packets transmitted, 3 packets received, 0% packetloss
Hasil ping membuktikan default gateaway merespon client. Uji konektivitas yang sama juga dilakukan pada client dengan IP (172.16.76.28).
Tabel 4.4 : Kernel IP 172.16.76.28 routing table
Destination Gateway Subnetmask Flags M etric Raf Use Iface 172.16.76.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 172.16.76.251 0.0.0.0 UG 0 0 0 eth0
Dari hasil percobaan diatas, terbukti konfigurasi jaringan sudah benar dan berjalan dengan semestinya. Dan ping menuju server VPN juga berjalan.
root@vpn2:~ #ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:21:07:FC
inet addr:172.16.76.128 Bcast:172.16.76.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2399 errors:0 dropped:0 overruns:0 frame:0 TX packets:2715 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:345146 (337.0 KiB) TX bytes:271839 (265.4 KiB) Interrupt:10 Base address:0x1080
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0 0TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:772 (772.0 B) TX bytes:772 (772.0 B)
root@vpn2:~ #route -n
root@vpn2:~ #ping 172.16.76.251
PING 172.16.76.251 (172.16.76.251): 56 data bytes
64 bytes from 172.16.76.251: icmp_seq=0 ttl=64 time=2.0 ms 64 bytes from 172.16.76.251: icmp_seq=1 ttl=64 time=0.5 ms 64 bytes from 172.16.76.251: icmp_seq=2 ttl=64 time=0.5 ms --- 172.16.76.251 ping statistics ---
4.8.2 Mengecek Interface, Routing, dan Koneksi Pada Server VPN
Uji konektivitas pada server juga sama seperti pada client hanya hasilnya lebih kompleks dan lebih banyak.
opensuse01:~ # ifconfig
eth0 Protocol:Ethernet Hardware Address 00:0C:29:13:EC:48
inet Address:172.16.103.2 Bcast:172.16.103.255 Mask:255.255.255.0
inet6 Address: fe80::20c:29ff:fe13:ec48/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2900 errors:0 dropped:0 overruns:0 frame:0 TX packets:4790 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:759578 (741.7 Kb) TX bytes:666545 (650.9 Kb) Interrupt:10 Base address:0x1080
eth1 Protocol:Ethernet Hardware Adresse 00:0C:29:13:EC:52
inet Address:172.16.76.251 Bcast:172.16.76.255 Mask:255.255.255.0
inet6 Address: fe80::20c:29ff:fe13:ec52/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:797 errors:0 dropped:0 overruns:0 frame:0 TX packets:421 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:77682 (75.8 Kb) TX bytes:42404 (41.4 Kb) Interrupt:9 Base address:0x1400
lo Protocol:Local tha
inet Address:127.0.0.1 Maske:255.0.0.0
inet6 Address: ::1/128 Gültigkeitsbereich:Maschine UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:109 errors:0 dropped:0 overruns:0 frame:0 TX packets:109 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
tunVPN0 Protokoll:UNSPEC Hardware Address 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet Address:10.179.10.2 P-z-P:10.179.10.1 Mask:255.255.255.255 UP PUNKTZUPUNKT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:1337 errors:0 dropped:0 overruns:0 frame:0 TX packets:1547 errors:0 dropped:0 overruns:0 carrier:0
Dari percobaan di atas, dapat disimpulkan bahwa hasil menunjukkan server mempunyai dua network interface car eth0 dan eth1 dengan dua network 172.16.103.0/24 dan 172.16.76.0/24 dan dengan tambahan tunnel dari OpenVPN yang mempunyai alamat IP virtual 10.179.10.2 dan 10.179.10.1 Tabel 4.5 : Routing table
Dari percobaan di atas, maka dapat disimpulkan bahwa hasil menunjukkan ada dua subnet yang terhubung ke eth0 dan eth1.
Dari informasi sebelumnya kita mendapatkan IP virtual komputer ini adalah 10.179.10.2 dan IP virtual partner-nya adalah 10.179.10.1, maka untuk melakukan uji konektivitas kita akan melakukan ping dari komputer ini ke komputer partner.
collisions:0 txqueuelen:100
RX bytes:470725 (459.6 Kb) TX bytes:181397 (177.1 Kb) opensuse01:~ #
opensuse01:~ # route -n Kernel IP Routing table
Destination gateaway netmask Flags Metric Ref Use Iface
10.179.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 tunVPN0 172.16.103.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.76.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.250.0 10.179.10.1 255.255.255.0 UG 0 0 0 tunVPN0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 172.16.103.1 0.0.0.0 UG 0 0 0 eth0 opensuse01:~ # opensuse01:~ # ping 10.179.10.1
PING 10.179.10.1 (10.179.10.1) 56(84) bytes of data. 64 bytes from 10.179.10.1: icmp_seq=1 ttl=64 time=1.77 ms 64 bytes from 10.179.10.1: icmp_seq=2 ttl=64 time=1.50 ms 64 bytes from 10.179.10.1: icmp_seq=3 ttl=64 time=1.42 ms 64 bytes from 10.179.10.1: icmp_seq=4 ttl=64 time=1.44 ms --- 10.179.10.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3013ms rtt min/avg/max/mdev = 1.425/1.535/1.770/0.141 ms
Kesimpulan yang didapat dari percobaan diatas adalah terjadi koneksi antara dua komputer yang di ujicobakan. Perlu dicatat bahwa waktu yang diperlukan untuk menjawab ping melalui tunnel lebih lama daripada melalui koneksi LAN biasa.
Uji konektivitas juga dilakukan terhadap komputer partner melakukan koneksi terhadap komputer diatas melalui tunneling.
debian01:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:99:7B:CA
inet addr:172.16.247.2 Bcast:172.16.247.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7735 errors:0 dropped:0 overruns:0 frame:0 TX packets:11012 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:924335 (902.6 KiB) TX bytes:1714169 (1.6 MiB) Interrupt:18 Base address:0x1080
eth1 Link encap:Ethernet HWaddr 00:0C:29:99:7B:D4
inet addr:192.168.250.251 Bcast:192.168.250.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:490 errors:0 dropped:0 overruns:0 frame:0 TX packets:468 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:47652 (46.5 KiB) TX bytes:43728 (42.7 KiB) Interrupt:19 Base address:0x1400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
tunVPN0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.179.10.1 P-t-P:10.179.10.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:1849 errors:0 dropped:0 overruns:0 frame:0 TX packets:1489 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100
RX bytes:206765 (201.9 KiB) TX bytes:483493 (472.1 KiB)
debian01:~# route -n Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface 10.179.10.2 0.0.0.0 255.255.255.255 UH 0 0 0 tunVPN0 172.16.247.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.76.0 10.179.10.2 255.255.255.0 UG 0 0 0 tunVPN0 192.168.250.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 172.16.247.1 0.0.0.0 UG 0 0 0 eth0 debian01:~# ping 10.179.10.1
PING 10.179.10.1 (10.179.10.1) 56(84) bytes of data. 64 bytes from 10.179.10.1: icmp_seq=1 ttl=64 time=0.221 ms
Dari hasil pengujian/evaluasi seperti telah dijelaskan diatas, terbukti konektifitas dapat berjalan. M aka dapat kita simpulkan :
1. Server VPN mencapai jaringan lokalnya. 2. Tunnel OpenVPN berjalan dengan baik 3. Tunnel OpenVPN bekerja pada kedua arah.
Pengetesan melalui ping dari client ke client lain yang sama-sama menggunakan OpenVPN, namun dalam jaringan yang sama. Di dapat bukti ping berjalan dengan lancar menandakan sudah terciptanya koneksi antara dua komputer tersebut tanpa menggunakan kabel hanya menggunakan media internet.
Gambar 4.16 : Ping client-to-client dalam jaringan yang sama
64 bytes from 10.179.10.1: icmp_seq=2 ttl=64 time=0.069 ms 64 bytes from 10.179.10.1: icmp_seq=3 ttl=64 time=0.059 ms
--- 10.179.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 0.059/0.116/0.221/0.074 ms
OpenVPN juga memungkinkan kita untuk menggunakan Remote Desktop yang berfungsi untuk membuka atau menjalankan komputer lain yang IP-nya masuk ke dalam jaringan OpenVPN yang dibuat.
Gambar 4.17 : Remote Desktop
Kedua komputer client sudah dapat melakukan sharing data. Hal ini dimungkinkan jika kedua client menginstal OpenVPN dan server juga menginstal OpenVPN.
4.8.3 Keamanan VPN Menggunakan OpenVPN
4.8.3.1 Privacy (Confidentiality)
Untuk melihat apakah rancangan VPN sudah berjalan dengan baik, maka perlu dilakukan pengecekan dengan menggunakan software ethereal network analyzer. Dengan menggunakan software ini, dapat diketahui apakah paket-paket data yang dikirimkan terkenkripsi atau tidak. Apabila paket data telah terenkripsi, maka dapat disimpulkan bahwa VPN berjalan dengan baik dan aman untuk digunakan pada jalur publik (internet). Namun sebaliknya, apabila paket data tidak terenkripsi maka VPN belum berjalan dengan baik dan mempunyai resiko mengalami kebocoran data.
Gambar 4.19 : Tampilan Ethereal Network Analyzer
Pada percobaan pertama komputer client akan mengambil data berupa file teks dari komputer server tanpa menggunakan VPN.
Gambar 4.20 : Isi File yang Diambil
Kemudian dilakukan proses capturing dengan menggunakan software ethereal
Gambar 4.22 : Hasil Capture Proses Pengambilan Data
Pada gambar diatas dapat dilihat bahwa isi file yang diambil oleh komputer client dari komputer server masih dapat terlihat. Hal ini menandakan bahwa pengiriman data tanpa enkripsi akan dapat mudah terlihat oleh node lain di internet.
Pada percobaan kedua, pengiriman file akan dilakukan melalui tunnel VPN yang dibuat sebelumnya.
Gambar 4.23 : Proses Capturing Data VPN
Setelah capturing dilakukan, dapat dilihat pada gambar diatas bahwa paket data yang dikirimkan tidak terlihat isinya. Dengan demikian terbukti bahwa enkripsi berjalan dengan baik pada tunnel VPN dan data yang dikirimkan hanya dapat dibuka/diakses oleh client yang diberikan hak akses.
4.8.3.2 Reliability (Integrity)
Data yang dikirimkan tidak akan mengalami perubahan/modifikasi yang mungkin dilakukan oleh pihak yang tidak bertanggung jawab, karena pada OpenVPN terdapat certificate dimana di dalam certificate terdapat file dh.key yang digunakan untuk menjalankan algoritma Diffie-Herman, yaitu suatu mekanisme yang memungkinkan client dan server saling bertukar data dengan aman melalui jalur non-encrypted. Hasil operasi ini terdapat pada file dh1024.pem.
4.8.3.3 Availablility
Data yang dikirimkan akan selalu tersedia asalkan terhubung dengan internet, karena media yang digunakan oleh OpenVPN adalah internet, sehingga ketika diperlukan untuk mengakses jarigan internal kantor untuk berkomunikasi data, data akan selalu tersedia.