Anda di halaman 1dari 30

OpenVPN

Secara sederhana, penggunaan Virtual Private Network (VPN) memungkinkan terciptanya


jaringan sendiri (local network) pada jaringan bersama (public network) antara dua atau lebih
jaringan yang berbeda. VPN memiliki mekanisme sendiri dalam mengamankan berbagai data
yang melewati atau saling bertukar di dalam public network. Pengamanan yang dilakukan ini
dapat mencegah terjadinya penyadapan atau kebocoran terhadap pihak ketiga. Gambar 1.1
merupakan ilustrasi sederhana untuk menggambarkan perbedaan ketika menggunakan VPN
dan tidak menggunakan VPN. Ada berbagai jenis implementasi dari VPN ini sendiri, salah
satunya adalah Open VPN.

Gambar 1.1 Ilustrasi Perbedaan Saat Menggunakan dan Tidak Menggunakan VPN

OpenVPN merupakam implementasi dari VPN yang menggunakan dasar SSL/TSL untuk
mengamankan jalur komunikasinya. OpenVPN juga menggunakan virtual network adapater
yang berupa tune device (layer-3) atau tap device (layer-2). Tap device dipakai ketika pengguna
bekerja pada protocol selain IP. Secara default, OpenVPN dalam bekerja menggunakan protokol
UDP di port 1194 dan juga dapar bekerja pada port/jalur TCP, meskipun tidak dianjurkan.
Karena pada kondisi jaringan yang buruk, jalur TCP dapat menyebabkan penalty kinerja ganda.
OpenVPN menggunakan dua jalur komuikasi, yaitu control channel dan data channel, di mana
kedua jalur ini memiliki enkripsi yang berbeda.
A. Konfigurasi OpenVPN

Client/Server Mode merupakan model OpenVPN yang seringkali digunakan. Di mana pada
model ini, terdapat satu server (single server) dengan banyak client yang bisa saling terhubung
satu sama lain. Alamat IP para client berasal dari kumpulan alamat IP yang bisa digunakan oleh
OpenVPN. Antara satu client dengan client lainnya tidak bisa terhubungan secara langsung.
Semua pertukaran data atau informasi yang tejadi akan melalui server.

Konfigurasi Protokol UDP Port 1194

1. Pembuatan dokumen konfigurasi server

proto udp
port 1194
dev tun
server 10.2000.0.0 255.255.255.0
topology subnet
persist-key
persist-tun
keepalive 10 60

dh /etc/openvpn/movpn/dh2048.pem
ca /etc/openvpn/movpn/movpn-ca.crt
cert /etc/openvpn/movpn/server.crt
key /etc/openvpn/movpn/server.key

user nobody
group nobody # use ‘group nogroup’ on Debian/Ubuntu

verb 3
daemon
log-append /var/log/openvpn/log

2. Kemudian simpan dokumen pada langkah pertama dengan nama ‘movpn-04-01-


server.conf’
3. Mulai OpenVPN server

[root@server] # openvpn --config movpn-04-01-server.conf


4. Perintah pada langkah tiga tidak akan menghasilkan apapun pada command line, tetapi
langsung mengalihkan ke log file /var/log/openvpn.log.

openVPN 2.3.2 x86_64-redhat-linux-gnu [SSL (OpenSSL) [LZ0] [EPOLL]


[PKCS11] [eurephia] [MH] [IPv6] built on Sep 12 2013
Enter Private Key Password:
WARNING: this configuration may cache passwords in memory -- use the
auth-nocache option to prevent this
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
/sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 10.200.0.1/24 broadcast 10.200.0.255
GID set to nobody
UID set to nobody
UDPv4 link local (bound) : [undef]
UDPv4 link remote : [undef]
Initialization Sequence Completed

Catatan : umumnya atau normalnya setiap log file diawali dengan adanya timestamp.
Namun, untuk kejelasan, timestamp telah dihilangkan.

5. Selanjutnya adalah pembuatan dokumen konfigrasi client:

client
proto udp
remote openvpnserver.example.com
port 1194
dev tun
nobind
ca /etc/openvpn/movpn/movpn-ca.crt
cert /etc/openvpn/movpn/client1.crt
key /etc/openvpn/movpn/client1.key
Simpan dalam bentuk ‘movpn-04-01-clinet.conf.

6. Pindahkan dokumen PKI ke client dengan menggunakan saluran (channel) yang aman,
contohnya dengan menggunakan perintah scp:

[root@clinet]# mkdir -p /etc/openvpn/movpn


[root@client]# chmod 700 /etc/openvpn/movpn
[root@client]# cd /etc/openvpn/movpn
[root@client]# PKI_HOST=openvpnserver.example.com
[root@client]# PKI=<PKI_DIR>/ssladmin/active
[root@client]# scp root@$PKI_HOST:$PKI/ca.crt movpn-ca.crt
[root@client]# scp root@$PKI_HOST:$PKI/client1.crt client1.crt
[root@client]# scp root@$PKI_HOST:$PKI/client1.key client1.key

7. Mulai OpenVPN client:

[root@client]# openvpn --config movpn-04-01-client.conf --suppress-


timestamps
OpenVPN 2.3.2 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL]
[PKCS11] [eurephia] [MH] [IPv6] built on Sep 12 2013
WARNING: No server certificate verification method has been enabled.
See http://openvpn.net/howto.html#mitm for more info.
UDPv4 link local: [undef]
UDPv4 link remote: [AF_INET]openvpnserver:1194
[Mastering OpenVPN Server] Peer Connection Initiated with
[AF_INET]openvpnserver:1194
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv9=0, tt->did_ifconfig_ipv6_setup=0
/sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 10.2000.0.2/24 broadcast 10.200.0.255
Initialization Sequence Completed

8. Timestamp tetap tidak ada, tetapi kali ini timestamp hilang dengan OpenVPN option
suppress-timestamp, seperti yang ada pada command line.

9. Ketika koneksi telah terjadi, periksa pesan berikut:

Initialization Sequence Completed

10. Koneksi bisa diperiksa atau untuk memastikan ada atau tidaknya koneksi dapat dilakukan
dengan ping alamat VPN atau server
[client] $ ping -c 4 10.200.0.1
PING 10.200.0.1 (10.200.0.1) 56(84) bytes of data.
64 bytes from 10.200.0.1: icmp_seq=1 ttl=64 time=7.95 ms
64 bytes from 10.200.0.1: icmp_seq=2 ttl=64 time=7.74 ms
64 bytes from 10.200.0.1: icmp_seq=3 ttl=64 time=7.25 ms
64 bytes from 10.200.0.1: icmp_seq=4 ttl=64 time=7.19 ms

--- 10.200.0.1 ping statistics ---


4 packets transmitted, 4 received, 0% packet loss, time 3011ms
rtt min/avg/max/mdev = 7.194/7.535/7.951/0.337 ms
[client] $
Penjelasan File Configuration

Konfigurasi Server:

 proto udp : merupakan default protocol yang digunakan


 port 1194 : merupakan local port yang hanya didengarkan atau direspon oleh OpenVPN
 dev tun : merupakan spesifik nama tun device yang digunakan oleh server
 server 10.200.0.0.255.255.255.0 : merupakan pernyataan yang menyatakan jika OpenVPN
dalam mode server. 10.200.0.1 menyatakan sebagai server. Sementara untuk client
biasanya dinyatakan dalam 10.200.0.2. Pernyataan server dalam konfigurasi dapat
diperluas sebagai berikut:

mode server
tls-server
push “topology subnet”

ifconfig 10.200.0.1 255.255.255.0


ifconfig-pool 10.200.0.2 10.200.0.254 255.255.255.0
push “route-gateway 10.200.01”

 topology subnet : merupak spesifikasi topology yang digunakan oleh VPN. Jenis topology
yang digunakan saat ini adalah topology net30.
 persist-tun dan persist-key : merupakan instruksi yang digunakan untuk membuka atau
tidak tun device atau juga intruksi yang menentukan apa perlu men-generate new keying
material ketika tunnel dimulai.
 keepalive 10 60 : merupakan pernyataan yang digunakan untuk menjaga agar koneksi dari
OpenVPN tetap terjaga. Dalam konfigurasi pernyataan ini dapat diperluas sebagai berikut:

ping 10
ping-restart 120
push “pong10”
push “ping-restart 60”

Kode di atas dapat diartikan sebagai berikut:


o Dalam sepuluh detik, akan dikirim pesan ping untuk setiap client
o Apabila dalam 120 detik tidak ada respon dari client, maka koneksi akan melakukan
pengulangan atau penyegaran atau restart.
o Mengirimkan pernyataan ping 10 dan ping-restrat 60 untuk setiap client.

 dh <path to Diffie Hellman file> : merupakan spesifikasi dari DH file yang dibutuhkan oleh
OpenVPN server. Tanpa adanya dokumen atau file ini maka server akan sulit atau bahkan
tidak bisa membangun koneksi TLS yang aman dengan clients.
 ca <path to CA file> : merupakan spesifikasi path untuk CA file. CA file yang mengandung
sertifikat CA digunakan untuk sign client certificates.
 cert <path to X.509 certificate file> : merupakan spesifikasi dari path untuk X.509 public
certificate file. Sertifikasi dibutuhkan oleh OpenVPN server.
 key <path to private key file> : merupakan spesifikasi path untuk server private key file.
Private key file dibutuhkan oleh OpenVPN dan file ini harus bisa dibaca oleh pengguna atau
administrator.
 user nobody dan group nobody : merupakan instruksi yang digunakan oleh OpenVPN
untuk mengeluarkan Unix user nobody dan group nobody setelah terjadi koneksi. Instruksi
juga digunakan untuk mempertinggi atau meningkatkan keamanan dalam jaringan.
 verb 3 : merupakan jumlah yang menunjukkan jumlah atau level penggunaan kata atau
verbosity, yaitu secara default adalah 3. Untuk melihat lebih detail hasil keluaran dari
proses OpenVPN dapat dilakukan dengan peningkatan jumlah atau level ini. Apabila
verbosity diatur menjadi 0 maka akan sulit untuk melihat output dari proses OpenVPN.
 Daemon : memberitahukan OpenVPN untuk men-daemonize dirinya sendiri yang artinya
proses OpenVPN akan tetap berjalan meskipun OpenVPN mulai dimatikan atau ditutup.
 log-append <path to log file> : merupakan spesifikasi path yang biasanya digunakan untuk
server log file. Penggunaan path ini bisa mencegah OpenVPN untuk memotong log file
setiap kali akan dimulai.
Konfigurasi Client:

 client : merupakan perintah yang akan membawa OpenVPN ke dalam mode client. Perintah
ini juga memberikan instruksi kepada OpenVPN untuk melakukan koneksi dengan server
dan menarik perintah untuk meproses parameter konfigurasi dari server setelah koneksi
telah berhasil terlebih dahulu. Pernyataan atau client statement ini dapat diperluas dalam
konfigurasi sebagai berikut:

tls-client
pull

 proto udp : merupakan protocol default yang biasa digunakan dalam OpenVPN.
 remote openvpnserver.example.com : merupakan spesifikasi dari nama VPN servet to
connect to. Nama lain yang biasanya juga digunakan adalah Fully qualified domain name
(FQDN) atau IPv4 address.
 port 1194 : merupakan jenis port yang biasanya digunakan oleh client OpenVPN untuk
melakukan koneksi dengan server.
 dev tun : merupakan nama spesifikasi dari tun device yang digunakan oleh server.
 Nobind : merupakan instruksi yang digunakan oleh OpenVPN client untuk tidak mengikat
dan juga tidak mendengarkan spesifikasi port yang digunakan oleh client. OpenVPN client
biasanya akan menggunakan anonymous port, yang mana adalah tipe 1024-65335.
 ca <path to CA file> : merupakan spesifikasi CA file yang digunakan. Di mana di dalamnya
terdapat sertifikasi CA yang digunakan untuk sign di sertifikasi server.
 cert <path to X.509 certificate file> : merupakan spesifikasi X.509 public certificate milik
client. Hal ini memungkinkan OpenVPN untuk menggunakan username/password daripada
menggunakan sertifikasi tetapi tentu saja hal ini sedikit lebih tidak aman.
 key <path to private key file> : merupakan spesifikasi path untuk server private key file.
Private key file dibutuhkan oleh OpenVPN dan file ini harus bisa dibaca oleh pengguna atau
administrator.
Penambahan Pengamanan

Penambahan pengamanan pada model OpenVPN client/server dapat dilakukan dengan dua
cara.

1. By adding tls-auth keys


Pada client/server mode, OpenVPN akan mencoba membentuk saluran yang mengontrol
TLS untuk setiap client yang melakukan koneksi atau hubungan dengan server. Di mana
saluran TLS ini akan melindungi clients yang tengah melakukan pertukaran informasi.
Untuk men-generate tls-auth digunakan kalimat perintah sebagai berikut:

[root@server]# openvpn --genkey --secret /etc/openvpn/movpn/ta.key

Sementara untuk client mode:

[root@client]# cd /etc/openvpn/movpn
[root@client]# scp root@openvpnserver:/etc/openvpn/movpn/ta.key

2. By checking the extended key usage attributes of certificated used


Ketika sertifikasi X.509 di-generate, maka atribut Extended Key Usage (EKU) ditambahkan
dalam sertifikat tersebut. Di mana hal ini memberikan kebebasan dari tujuan penambahan
tersebut, apakah sertifikasi server-only atau client only.
Contoh penambahan sertifikasi dengan tujuan server-only:

$ openssl x509 -text -noout -in server.crt | \


Grep -c 1 “Key Usage”

X509v3 Extended Key Usage:


TLS Web Server Authentication
X509v3 Key Usage:
Digital Signature, Key Encipherment

Berikut merupakan konfigurasi dari client/server mode OpenVPN yang telah ditambah atau
ditingkatkan keamanannya dengan menggunakan tls-auth key.
Server Configuration File
proto udp
port 1194
dev tun
server 10.2000.0.0 255.255.255.0
topology subnet
persist-key
persist-tun
keepalive 10 60

remote-cert-tls client
tls-auth /etc/openvpn/movpn/ta.key 0
dh /etc/openvpn/movpn/dh2048.pem
ca /etc/openvpn/movpn/movpn-ca.crt
cert /etc/openvpn/movpn/server.crt
key /etc/openvpn/movpn/server.key

user nobody
group nobody

verb 3
daemon
log-append /var/log/openvpn/log

Kemudian simpan dokumen sebagai basic-udp-server.conf.

Client Configuration File


client
proto udp
remote openvpnserver.example.com
port 1194
dev tun
nobind

remote-cert-tls server
tls-auth /etc/openvpn/movpn/ta.key 1
ca /etc/openvpn/movpn/movpn-ca.crt
cert /etc/openvpn/movpn/client1.crt
key /etc/openvpn/movpn/client1.key

Kemudian simpan dokumen di atas sebagai basic-udp-client.conf.

Setelah penambahan atau peningkatan keamanan di atas, ketika ketika memulai OpenVPN
server, maka dapat dilihat jika saluran pengendalian TLS mulai melindungi dengan static key.

[root@server]# openvpn --config basic-udp-server.conf --suppress-


timestamps
openVPN 2.3.2 x86_64-redhat-linux-gnu [SSL (OpenSSL) [LZ0] [EPOLL]
[PKCS11] [eurephia] [MH] [IPv6] built on Sep 12 2013
Enter Private Key Password:
WARNING: this configuration may cache passwords in memory -- use the
auth-nocache option to prevent this
Control Channel Authentication: using ‘/etc/openvpn/movpn/ta.key’ as a
OpenVPN static key file
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
/sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 10.200.0.1/24 broadcast 10.200.0.255
GID set to nobody
UID set to nobody
UDPv4 link local (bound) : [undef]
UDPv4 link remote : [undef]
Initialization Sequence Completed

Hal yang sama juga terlihat ketika OpenVPN client mulai dijalankan setelah penambahan atau
peningkatan keamanan

[root@client]# openvpn --config movpn-04-01-client.conf --suppress-


timestamps
OpenVPN 2.3.2 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL]
[PKCS11] [eurephia] [MH] [IPv6] built on Sep 12 2013
Control Channel Authentication: using ‘/etc/openvpn/movpn/ta.key’ as a
OpenVPN static key file
UDPv4 link local: [undef]
UDPv4 link remote: [AF_INET]openvpnserver:1194
[Mastering OpenVPN Server] Peer Connection Initiated with
[AF_INET]openvpnserver:1194
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv9=0, tt->did_ifconfig_ipv6_setup=0
/sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 10.2000.0.2/24 broadcast 10.200.0.255
Initialization Sequence Completed

Konfigurasi Protokol TCP

Seperti telah ditulis sebelumnya, Client/Server Mode OpenVPN dapat bekerja dengan dua jenis
protokol port, yaitu protokol UDP dengan port 1194 dan protocol TCP. Jika sebelumnya
dituliskan konfigurasi Client/Server Mode OpenVPN dengan protokol UDP, maka berikut ini
merupakan konfigurasi dengan protokol TCP.
Server Configuration File
proto tcp
port 1194
dev tun
server 10.2000.0.0 255.255.255.0
topology subnet
persist-key
persist-tun
keepalive 10 60

remote-cert-tls client
tls-auth /etc/openvpn/movpn/ta.key 0
dh /etc/openvpn/movpn/dh2048.pem
ca /etc/openvpn/movpn/movpn-ca.crt
cert /etc/openvpn/movpn/server.crt
key /etc/openvpn/movpn/server.key

user nobody
group nobody

verb 3
daemon
log-append /var/log/openvpn/log

Client Configuration File


client
proto tcp
remote openvpnserver.example.com
port 1194
dev tun
nobind

remote-cert-tls server
tls-auth /etc/openvpn/movpn/ta.key 1
ca /etc/openvpn/movpn/movpn-ca.crt
cert /etc/openvpn/movpn/client1.crt
key /etc/openvpn/movpn/client1.key
B. Penggunaan OpenVPN di Mobile Devices dan Home Routers

Penggunaan OpenVPN saat ini tidak hanya di PC-style platforms, tetapi juga telah merambah di
smartphones dan tablets baik Android dan juga Apple iOS. Selain itu penggunaan OpenVPN juga
bisa ditemukan di home routers. Berikut merupakan sedikit penjelasan dari penggunaan aplikasi
OpenVPN baik di mobile devices maupun di Home Routers.

Penggunaan OpenVPN untuk Android App

OpenVPN for Android merupakan fully open source yang didasarkan versi terakhir OpenVPN
(Git-master) code branch. Artinya, ada beberapa fitur yang ada di versi OpenVPN yang belum
ada di versi produk reguler OpenVPN.

Membuat profil OpenVPN app

1. Diawali dengan membuat dokumen konfigurasi basic-udp-clieet.conf dan merubah seluruh


referensi ke dokumen eksternal (tls-auth, ca, cart dan key) dengan kata kunci [inline].
Kemudia tambahkan inline blobs dengan cara copy dan paste konten dari masing-masing
dokumen ta.key, ca.crt, client1.crt dan client1.key.
2. Hasil dari profil konfigurasi adalah sebagai berikut:

client
proto udp
remote openvpnserver.example.com
port 1194
dev tun
nobind
remote-cert-tls server
tls-auth [inline] 1
ca [inline]
cert [inline]
key [inline]

<ca>
-----BEGIN CERTIFICATE-----
MIIEwTCCA^mgAwIBAgIJANKTMvCOv. . .
. . .
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIIDeTCCAmECAQQwDQYJKoZIhvcNAQE. . .
. . .
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN CERTIFICATE-----
MIIEowIBAAKCAQEA3vzLCSqR3fQF. . .
. . .
-----END CERTIFICATE-----
</key>

<tls-auth>
-----BEGIN OpenVPN Static key V1-----
5f5b2bfff373961654089871b40a39eb
. . .
-----END OpenVPN Static key V1-----
</tls-auth>

3. Simpan sebagai basic-udp-inline.ovpn.


4. Membuat dokumen dapat digunakan atau available di perangkat Android dengan cara
transferring atau mailing.
5. Buka OpenVPN server, launch the server dengan menggunakan profil ipv6-udp-server.conf.
6. Reminder, pada contoh ini dilakukan di perangkat Android.
7. Unduh dan pasang (install) aplikasi gratis dari ‘Google Play’ pada device.
8. Pastikan jika dokumen konfigurasi .ovpn tersedia dan juga dapat digunakan.
9. Launch aplikasi. Untuk launch pertama kali, maka akan terbuka daftar profil yang masih
kosong seperti yang terlihat pada gambar di bawah:
10. Pilih atau klik lambing folder pada bagian bawah untuk melakukan import dokumen .ovpn.
Cari (browse) keberadaan dokumen .ovpn, seteleh ketemu select it, dan kemudian Import.
Apabila berhasil, maka akan muncul seperti gambar di bawah:

11. Setelah itu, kembali ke halaman utama OpenVPN. Pada halaman utama tersebut akan
muncul beberapa pilihan profil yang telah tersedia seperti contoh pada gambar di bawah:
12. Pada perangkat Android tersebut, pilih atau klik dokumen movpn-android-udp untuk
memulai koneksi OpenVPN yang kemudian OpenVPN untuk Androis tersebut akan memulai
untuk membangun koneksi. Apabila logging terlalu lama, maka pada layar OpenVPN akan
menampilkan hal yang sama dengan OpenVPN client seperti yang ada di desktop ketika
menggunakan PC tanpa adanya timestamps seperti gambar di bawah:

13. OpenVPN akan terkoneksi atau terhubung. Ketika koneksi telah berhasil terbentuk, makan
status VPN pada bagian bawah kiri layar akan memunculkan tulisan Connected.
14. Selanjutnya dilakuan verifikasi pada koneksi VPN apakah sudah benar terkoneksi atau
berfungsi secara baik.
15. Gunakan aplikasi Android Ping untuk melakukan ping terhadap alamat IP server.

16. Selain itu juga bisa digunakan ICMP untuk melakukan ping dari server ke alamat IP VPN
client untuk menyakinkan jika koneksi VPN telah terhubung dan berfungsi secara baik.

[server]$ ping 10.200.0.2


PING 10.200.0.2 (10.200.0.2) 56(84) bytes of data.
64bytes from 10.200.0.2: icmp_seq=1 ttl=64 time=14.5 ms
64bytes from 10.200.0.2: icmp_seq=2 ttl=64 time=13.2 ms

Penggunaan Aplikasi OpenVPN Connect di Android

Aplikasi OpenVPN Connect merupakan aplikasi yang berasal dari OpenVPN Technologies, Inc.
Aplikasi ini hanya bisa digunakan pada profil yang menggunakan [inline].
1. Pada OpenVPN server, launch aplikasi dengan menggunakan standar dokumen konfigurasi
ipv6-udp-server.conf.
2. Setelah mengundah dan memasang (install) aplikasi, buka aplikasi dan import profil.

3. Kemudian pilih dan klik profil yang diinginkan dan klik Connect
4. Setelah koneksi OpenVPN berhasil terbentuk atau terhubung makan client akan mendapat
laporan OpenVPN: Connect.
5. Kemudian lakukan verifikasi jika VPN client bisa diraih atau terhubung dari server dan
begitupula sebaliknya.

Penggunaan Aplikasi OpenVPN Connect di iOS

Pada contoh penggunaan aplikasi OpenVPN Connect di iOS dilakukan pada Apple iPad
dengan iOS 8.1.2 yang juga sama dengan iPhone iOS 8. Versi OpenVPN pada perangkat iOS
bukan merupakan open source. Terdapat perjanjian dengan Apple iOS networking stack. Tidak
berbeda dengan versi Android, aplikasi OpenVPN Connect untuk iOS ini juga hanya bisa atau
memberika hasil yang baik ketika menggunakan profil sertifikasi [inline] dan key pairs. Dari sisi
VPN server, OpenVPN yang digunakan adalah OpenVPN standar dengan dokumen konfigurasi
ipv6-udp-server.conf.

Sebelum menggunakan OpenVPN di iOS, terlebih dahulu harus dilakukan pemindahan profil
OpenVPN ke perangkat atau device yang digunakan. Hal ini bisa dilakukan melalui e-mail atau
mengunakan iTunes. Tentunya sebelum melakukan pemindahan, harus dipastikan jika cara
yang dilakukan adalah cara yang aman. Misalnya pemindahan melalui iTunes. Pemindahan
atau transfer melalui iTunes memang aman tetapi TLS melakukuan encrypted e-mail yang
digunakan.

Berikut merupakan contoh penggunaan aplikasi OpenVPN di iOS dengan langkah-langkah


sebagai berikut:
1. Setelah berhasil melakukan transferring profil .ovpn, bukan section aplikasi dan pada
bagian File Sharing, klik OpenVPN.

2. Kemudian klik Add untuk melakukan penambahan profil baru. Selain dengan klik, bisa juga
dilakukan dengan drag dan drop konfigurasi OpenVPN yang berasal dari folder atau
desktop.
3. Pilih imported file dan klik kembali Add
4. Dokumen client.ovpn tersedian sebagai salah satu profil OpenVPN Connect,
5. Ketika aplikasi OpenVPN Connect dimulai pada clean iPhone atau iPad, maka akan muncul
kotak dialog seperti di bawah:

6. Setelah profil telah berhasil di-import maka pada bagian daftar profil akan available.
Pengguna pertama aplikasi OpenVPN Connect biasanya akan mudah mengalami tricky dan
ketikan konfigurasi yang salah berhasil di-import maka akan muncul kotak dialog sebagai
berikut:
7. Aplikasi melakukan report jika terdapat profil yang bisa di-import tetapi terdapat pesan
peringatan jika ada masalah dalam loading profil tersebut. Saat itu, pilihan yang tersedia
hanyalah remove profil dengan memilih tanda merah X. Dan ketika dokumen konfigurasi
yang di-import sesuai, makan pilihan tanda hijau + akan tersedia.

8. Klik tombol hijaun + untuk membukan profil koneksi OpenVPN.

9. Terakhir, gunakan slider Connection untuk memulai OpenVPN Connection.


10. Setelah OpenVPN Connection telah berhasil terhubung atau terkoneksi, makan bisa dilihat
jika IPv4 dan IPv6 ternyata mendukung aplikasi OpenVPN Connect.
11. Apabila ingin menghentikan sambungan atau koneksi VPN Connection maka bisa diakukan
dengan tombol Connection slider seperti saat memulai koneksi.

Penggunaan Home Router sebagai VPN Client

1. Pada DD-WRT web interface, klik tab Services kemudian klik pada pilihan VPN.
2. Pada pilihan Start OpenVPN Client, pilih atau klik pada pilihan Enable.
3. Isi dalam keterangan konek dan enable Advanced Options.
Pada pilihan di kotak dialog gambar di atas, biasanya akan dibiarkan atau disesuai dengan
kondisi default-nya, tetapi untuk Firewall Protection pastikan dalam keadaan disable. Hal
ini dilakukan agar server VPN dapat tersambung dengan client dan begitu pula sebaliknya.
Untuk memastikan Firewall Protection dalam kondisi disable bisa dilakukan dengan cara
sebagai berikut:
a. Ini adalah web form yang cukup panjang, jadi scroll down dan isi pada kotak
parameter berikut:
o TLS auth key
o CA certificate
o Client public certificate
o Client private key
b. Isi dari kotak masing-masing parameter tersebut sama dengan isi atau tulisan yang
digunakan pada profil konfigurasi untuk Android client:
Setelah mengisi masing-masing kotak parameter, klik tombol Save untuk menyimpan
konfigurasi OpenVPN client. Biasanya secara normal, saat valid profile sudah
tersimpan atau masuk dalam list, maka DD-WRT OpenVPN client akan mencoba
untuk membuat koneksi dengan server. *Catatan: bisanya pada perangkat DD-WRT
hanya bisa memiliki satu profil (single profile) akibat dari keterbatasan penyimpanan
NVRAM milik perangkat.
4. Setelah koneksi telah berhasil terhubung, lakukan verifikasi jika VPN client bisa diraih oleh
server dengan cara ping alamat IP VPN:

$ ping -c 2 10.200.0.2
PING 10.200.0.2 ( 10.200.0.2) 56(84) bytes of data.
64 bytes from 10.200.0.2: icmp_seq=1 ttl=64 time=0.591 ms
64 bytes from 10.200.0.2: icmp_seq=2 ttl=64 time-0.659 ms
--- 10.200.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
Rtt min/avg/max/mdev = 0.591/0.625/0.659/0.034 ms

Penggunaan Home Router sebagai Server

Penggunaan OpenVPN pada jaringan wireless yang kecil bisa saja dilakukan, tetapi hal ini
ditentukan dengan jenis wireless router yang digunakan. Jenis-jenis wireless router yang
mendukung tersebut bisa dilihat pada DD-WRT dan website OpenWRT. Jumlah minimum
ukuran flash yang dibutuhkan adalah 8 MB dan kecukupan NVRAM space juga diperlukan.

Namun, meskipun telah memilih dan menggunakan perangkat keras yang tepat, performansi
OpenVPN pada wireless router belum tentu akan bagus akibat dari keterbatasan kemampuan
computing pada perangkat. Untuk mereka yang ingin men-setting VPN di rumah mereka,
biasanya performansi masih akan tetap bagus selama koneksi yang dilakukan di rumah tersebut
tidak melebihi 100 Mbps upstream.

Berikut merupakan langkah-langkah yang bisa digunakan untuk melakukan mengkonfigurasi


sebuah DD-WRT router sebagai OpenVPN server:

1. Pada DD-WRT web interface, klik Services dan kemudian klik VPN.
2. Setelah itu lakukan disable pada OpenVPN client, dengan cara scrolling down hingga
menemukan pilihan disable pada bagian OpenVPN Client.
3. Pada bagian OpenVPN Server/Daemon, pastikan untuk enable OpenVPN.
4. Isi kotak keterangan koneksi dan bandingkan isi keterangan dengan dokumen konfigurasi
basic-udp-server.conf:
a. Pilih System sebagai Start Type sehingga OpenVPN daemon bisa muncul kapan saja
ketika DD-WRT router melakukan boots.
b. Secara keseluruhan ini tidak memperjelas perbedaan antara Configure as server
dengan Configure as daemon.
c. Pilih Router (TUN) sebagai Server Mode bersamaan dengan keinginan untuk tun-style
OpenVPN set up.
d. Isi pada 10.200.0.0 dan 255.255.255.0 sebagai Network dan Netmask.
e. Port, Tunnel Protocol, Encryption Cipher, dan Has Algorithm bisa dibiarkan secara
default atau tanpa adanya perubahan apa pun.
f. Pilih Enable pada pilihan Advanced Options sehingga akan memunculkan pilihan
konfigurasi OpenVPN. Tidak ada yang perlu dirubah pada kotak dialog ini hanya saja
hal ini akan memperlihatkan pilihan-pilihan apa saja yang available.

5. Selanjutnya, isi bagian keterangan certificate dan public/private key. Untuk ini, maka dipilih
dari dokumen standar konfigurasi basic-udp-server.conf.
6. Scroll down pada web form dan paste dokumen server.crt, ca.crt, server.key dan dh2048
secara berturut-turut:
o Public Server Cert: berhubungan pada kalimat “cert” (server.crt)
o CA Cert: berhubungan dengan kalimat “ca” (movpn-ca.crt)
o Private Server Key: berhubungan dengan kalimat “key” (server.key)
o DH PEM: berhubungan dengan kalimat “dh” (dh2048.pem)

7. Pada tahapan di atas, bisa disadari jikan di bagian TLS Auth Key dibiarkan kosong atau
dilewati. Hal ini dilakukan karena apabila bagian tersebut diisi, maka NVRAM pada
perangkat DD-WRT akan cepat lelah sehingga router akan dibutuhkan untuk melakukan
reset. Kondisi ini akan menyebabkan tidak bisa digunakannya dokumen konfigurasi basic-
udp-client.conf untuk melakukan koneksi terhadap server.
8. Lakukan scroll pada bagian layar dan klik tombol Save. Bersamaan dengan disimpannya
konfigurasi pada NVRAM, maka proses OpenVPN server akan langsung dimulai.
Apabila konfigurasi tidak cocok dengan NVRAM, maka kemungkinan terjadi crash di
perangkat DD-WRT dan yang harus dilakukan adalah reset secara manual.
9. Langkah terakhir, lakukan koneksi dengan menggunakan dokumen konfigurasi movpn-04-
01-client.conf dan kemudian verifikasi apakah koneksi VPN bekerja dengan baik atau tidak:

[client]$ ping -c 4 10.200.0.1


PING 10.200.0.1 (10.200.0.1) 56(84) bytes of data.
64 bytes from 10.200.0.1: icmp_seq=1 ttl=64 times=22.3 ms
64 bytes from 10.200.0.1: icmp_seq=2 ttl=64 times=18.6 ms
64 bytes from 10.200.0.1: icmp_seq=4 ttl=64 times=21.9 ms
64 bytes from 10.200.0.1: icmp_seq=5 ttl=64 times=15.7 ms
Referensi

Crist, Eric F dan Jan Just Keijser. 2015. Mastering OpenVPN: Master building and
integrating secure private networks using OpenVPN. Birmingham B3 2PB, UK:
Packt Publishing Ltd.

Anda mungkin juga menyukai