Menggunakan internet Astinet / Idola
Kali ini kita akan membuat OpenVPN dengan windows server 2003/2008. Untuk itu kita akan membutuhkan 2 buah NIC / kartu jaringan sebagai WAN dan LAN dan koneksi speedy 1MB (Paket Game). Saya akan mencoba menggunakan device TAP bukan TUN seperti yang diambil dari sumbernya. Kita akan membutuhkan router Cisco yang support routing BGP misal seri 2600, router yang support BGP diperlukan karena bandwitdh terpecah jadi 2 yaitu international dan IIX (local Indonesia)Menggunakan internet Speedy
Sebenarnya lebih mudah dengan menggunakan internet dedicated seperti Telkom Astinet/ Lintasarta Idola. Karena kita tidak perlu melakukan fort forwarding dari modem untuk ip server openvpn (lihat ## client1.ovpn ##) pada bagian remote. Untuk fort forwarding dari modem speedy lihat artikel saya di OpenVPN Linux. Kalau kita menggunakan Speedy dan network LAN kita masih satu network dengan modem speedy, misal network 192.168.1.0/24. Maka kita cukup menggunakan 1 buah NIC (kartu jaringan) saja. Ilustrasi dapat dilihat pada gambar Topologi OpenVPN Speedy. Untuk koneksi OpenVPN yang menggunakan internet dengan IP Dynamic (berubah-rubah/tidak tetap) akan dibahas di bagian paling bawah artikel ini.Persyaratan
Diasumsikan kita menggunakan sebagai berikut:OpenVPN Server
Sebagai server kita gunakan Windows 2000/2003/2008.OpenVPN Clients
Sebagai client kita dapat gunakan Windows 2000/XP Professional, Windows 2000/2003 juga bisa digunakan.Networking
OpenVPN server memakai UDP port 1194 untuk koneksi (anda dapat menggunakan port lain, tapi ini adalah port standar OpenVPN). Jika server dibelakang sebuah NAT router (misal speedy), maka kita butuh address/port forwarding. Lihat artikel saya mengenai Linux-VPNLebih baik menggunakan IP static karena lebih stabil. Jika anda menggunakan IP address dinamis maka anda menggunakan jasa DNS dynamic untuk menyediakan sebuah hostname yang tetap.
Semua sistem yang digunakan harus menggunakan koneksi Internet yang tidak ada filternya, atau setidaknya mengijinkan koneksi UDP port 1194. Kita bisa saja menjalankan OpenVPN dengan koneksi yang lebih ketat (misal proxy server), tetapi itu adalah di luar dari artikel ini.
Names and addresses
Nama dan IP address yang digunakan dibawah ini adalah sebagai contoh (fiktif), sebaiknya anda rubah lagi disesuaikan dengan konfigurasi Anda sendiri.- Company Name: Acme Corp. (optional/pilihan saja, tidak harus dipakai)
- Public Domain Name: acme.com (optional/pilihan saja, tidak harus dipakai)
- Private (Windows) Domain Name: acme.com.local (optional/pilihan saja, tidak harus dipakai)
- Server Hostname: server-vpn
- LAN address: 192.168.0.0/24
- Server public address: 1.2.3.4
- Server private address: 192.168.0.1
- Device Tap-32 VPN address: 10.8.0.0/24
Memakai domain hanya optional/pilihan saja, tidak harus dipakai. Berikut topology network OpenVPN :
OpenVPN Astinet (2 NIC) |
OpenVPN Speedy (1 NIC) |
Software
OpenVPN
Untuk software kita menggunakan paket OpenVPN GUI di Windows, karena ada kemudahan berupa icon di sistem tray sebagai pengatur aplikasi OpenVPN.http://openvpn.se/download.html
Konfigurasi Server
Instalasi OpenVPN
OpenVPN GUI dapat diinstal dengan pilihan default/standar (certificate wizard tidak perlu diinstall). Ketika mendekati akhir instalasi, akan ada pertanyaan perihal penambahan TAP-Win32 virtual adapter yang belum di-signed/disahkan, kita pilih untuk tetap menginstall.Namai adapters TAP-Win32 menjadi "TAP" untuk memudahkan identifikasi.
Konfigurasi OpenVPN
Buat file konfigurasi server.ovpn di folder config OpenVPN (c:\program files\openvpn\config\)## server.ovpn ##
port 1194
proto udp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
client-to-client
keepalive 10 120
comp-lzo
max-clients 50
persist-key
persist-tun
status openvpn-status.log
verb 3
Tulisan yang ditulis miring/italics silahkan dirubah menurut konfigurasi anda.
Pada contoh diatas maximal-clients diset menjadi, sehingga memungkinkan 50 klien untuk koneksi ke server secara bersama-sama/sekaligus.
Set up Certificate Authority (CA)
Kita membutuhkan Certificate Authority (CA) untuk sign(mengesahkan) client anda dan sertifikat server.Script easy-rsa membuatnya hal ini menjadi mudah.
Pertama-tama kita harus inisialisi easy-rsa. Lakukan hal ini sekali saja, karena proses ini akan menghapus sertifikat, keys and settings yang ada. Masuk ke DOS prompt (Start-Run-ketik cmd- OK)
C:\Program Files\OpenVPN\easy-rsa] init-config
Kemudian edit vars.bat (dengan program Wordpad) dan rubah setting "KEY_" di bagian bawah file.
set KEY_COUNTRY=ID
set KEY_PROVINCE=DKI Jakarta
set KEY_CITY=Jakarta Selatan
set KEY_ORG=PT JUJUR AMANAH
set KEY_EMAIL=hostmaster@jujuramanah.com
Terakhir buat folder keys dan CA.
C:\Program Files\OpenVPN\easy-rsa] vars
C:\Program Files\OpenVPN\easy-rsa] clean-all
C:\Program Files\OpenVPN\easy-rsa] build-ca
Anda akan diminta untuk memasukkan beberapa keterangan untuk sertifikat CA. Kebanyakan sudah mempunyai nilai default yang sudah kita masukkan sebelumnya di vars.bat, tapi kita harus memasukkan nilai untuk bagian "Common Name".
Common Name (eg, your name or your server's hostname) []:Administrator
Keys dan sertifikat yang telah dibuat berada di dalam subfolder keys. File ca.crt (root certificate) harus dicopy ke folder config (C:\Program Files\OpenVPN\config)
C:\Program Files\OpenVPN\easy-rsa] copy keys\ca.crt ..\config\
Penting: File Key (.key) sangat sensitif dan harus disimpan secara baik dan jangan dikirim lewat koneksi yang tidak aman. Key Certificate Authority (ca.key) sangatlah penting - jika ia hilang atau dirubah orang maka kita harus mengganti semua keys and sertifikat.
Set up server key and certificate
Jika CA sudah selesai dibuat, selanjutnya kita buat key and sertifikat untuk server.Masuk ke DOS prompt lagi (Start-Run-ketik cmd- OK)
C:\Program Files\OpenVPN\easy-rsa] vars
C:\Program Files\OpenVPN\easy-rsa] build-key-server server
Tidak perlu menjalankan kembali vars.bat jika kita langsung membuat key server setelah membuat CA karena masih ada di memory (jika menjalankan vars lagi juga tidak apa-apa).
Ketika membuat sertifikat server, kita cukup menekan enter saja karena sudah kita masukkan sebelumnya di vars.bat, tapi pada bagian "Common Name" kita masukkan nama key server (disamakan dengan diatas).
Common Name (eg, your name or your server's hostname) []:server
Kosongkan saja pada bagian challenge password and optional company name.
Server kita juga harus membuat parameter Diffie Hellman .
C:\Program Files\OpenVPN\easy-rsa] build-dh
Mungkin membuat dh ini akan membutuhkan waktu agak lama ...
Terakhir copy key, sertifikat dan file DH ke folder config.
C:\Program Files\OpenVPN\easy-rsa] copy keys\ca.crt ..\config\
C:\Program Files\OpenVPN\easy-rsa] copy keys\server.crt ..\config\
C:\Program Files\OpenVPN\easy-rsa] copy keys\server.key ..\config\
C:\Program Files\OpenVPN\easy-rsa] copy keys\dh1024.pem ..\config\
Setup routing VPN
Routing pada windows server seharusnya di-enable dengan cara enable LAN routing pada bagian Routing and Remote Access service, akan tetapi setelah dicoba hal ini menyebabkan masalah dengan service OpenVPN jadi saya tidak menganjurkannya. Sebaiknya kita gunakan regedit untuk men-set key registery IPEnableRouter menjadi bernilai 1.
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Value: IPEnableRouter Type: REG_DWORD Data: 0x00000001 (1)
Sentuhan Akhir
Kita akan membuat sebuah batch file bernama restartvpn.cmd pada folder config (dan desktop shortcut) untuk me-restart service OpenVPN jika macet/error.
net stop openvpnservice
net start openvpnservice
Untuk membuat service OpenVPN menyala secara otomatis pada saat masuk windows, lakukan cara berikut:
Jika ada, matikan tanda centang openvpn-gui pada tab Startup (start-run-msconfig) untuk menghindari dobel startup. Kemudian buat shorcut openvpn-gui.exe (di C:\Program Files\OpenVPN\bin) dan pindahkan ke dalam folder "Start->All Program->StartUp". Kemudian klik kanan pada shortcut yang baru saja kita buat, pada bagian target tambahkan --connect server.ovpn. Sehingga menjadi seperti ini "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect server.ovpn.
Konfigurasi pada Klien (pc yang mau meremote ke server)
Install OpenVPN
Install OpenVPN GUI dengan pilihan standar.
Saya biasanya me-rename TAP-Win32 adapter (di bagian Network connections) menjadi "TAP". Hal ini untuk memudahkan identifikasi.
Configure OpenVPN
Buat file untuk configuration client di folder config OpenVPN pada pc klien (c:\program files\openvpn\config\).## client1.ovpn ## client proto udp dev tap remote 1.2.3.4 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key comp-lzo verb 3
Sesuaikan tulisan yang memakai font italics/tulisan miring dengan konfigurasi openvpn anda. .
Sebagai contoh kita asumsikan client bernama "client1".
Set up client key and certificate
Kita akan membuat key client dan sertifikat di server, hati-hati pada saat mentransfer file key client ke user. Untuk berjaga-jaga anda dapat membuat key di client dengan Certificate Signing Request (CSR) yang kemudian dapat ditransfer ke server untuk kemudian disahkan untuk membuat sertifikat, akan tetapi hal tersebut tidak dibahas disini.Buat key client dan sertifikat pada server OpenVPN.
C:\Program Files\OpenVPN\easy] vars C:\Program Files\OpenVPN\easy] build-key client1
Tips : Jangan sampai anda membuat nama yang sama, pada saat anda mengisi pada bagian Common Name.
Kemudian copy key client dan sertifikat dan juga CA ke folder config di komputer client. Cara termudah ialah dengan mengcopy file ke USB flashdisk.
C:\Program Files\OpenVPN\easy-rsa] copy keys\client1.crt a:\ C:\Program Files\OpenVPN\easy-rsa] copy keys\client1.key a:\ C:\Program Files\OpenVPN\easy-rsa] copy keys\ca.crt a:\
Test
Klik kanan tray icon OpenVPN dan pilih "Connect". Kemudian akan terbuka jendela status yang menunjukkan status koneksi, dan jika semua berjalan baik maka jendela status akan tertutup sendiri dan icon akan berubah menjadi warna hijau. Jika tulisan "Connect" tidak ada maka kemungkinan server.ovpn tidak ada di folder \program files\openvpn\config atau mungkin extension salah misal server.openvpn.txt.Untuk mengetest koneksi , coba ping 10.8.0.1 (device TAP server VPN IP), 192.168.0.1 (LAN IP address server), IP address PC yang diremote (misal 172.16.0.1), dan kemudian coba ping hostname.
c:\] ping 10.8.0.1
c:\] ping 192.168.0.1
c:\] ping 172.16.0.1
c:\] ping server-vpn
TIPS : Buka file ipp.txt di server (c:\program files\openvpn\config\)untuk
mengetahui user yang sudah terkoneksi dan ip yang didapat oleh user/klien.
Tambahan untuk koneksi OpenVPN dengan IP Dynamis (berubah-rubah), saya sudah mencobanya dengan menggunakan router D-Link DIR-655 dan koneksi Biznet 8 MB. Pada intinya IP address dirubah menjadi nama domain. Ketika kita koneksi, kita memanggil nama domain bukan ip adress public.
1. Masuk ke menu modem-router D-Link 655 pilih Tools-Dynamic DNS
Pilih Enable Dynamic DNS
Pilih Server Address : dlinkddns.com (Free)
# Atau provider ddns gratis lain yaitu dyndns.org dan no-ip.com
Hostname : isi dengan nama yang anda daftarkan di https://www.dlinkddns.com
Username or key : (masukkan dengan username dari https://www.dlinkddns.com)
Password : (masukkan dengan password dari https://www.dlinkddns.com)
2. Pada menu modem-router D-Link 655, pilih Advanced - Advanced Network
Kemudian beri centang Enable WAN Ping Respond
# Supaya IP Address Public kita dapat di ping dari luar
3. Pada menu modem-router D-Link 655, pilih Virtual Server
Isikan, Name : OpenVPN, Public Port 1194, Protocol Both, Schedule Always
IP Address : (masukkan ip address private server openvpn kita), misal 192.168.1.19
4. Pada komputer client (yang meremote) masuk C:/Program Files/OpenVPN/config
Buka file misal namanya client.opvn (yg berakhiran ovpn)
Pada bagian remote, ganti (ip address server) 1194
Menjadi remote (nama domain yang kita daftar di https://www.dlinkddns.com)
misal: remote ptsenanggembira.dlinkddns.com 1194
Khusus untuk pengguna Windows 7 64 bit, kita dapat menggunakan http://openvpn.net/release/openvpn-2.1_rc20-install.exe Jika masih tidak bisa konek ke LAN kemungkinan karena routing nya gagal coba tambah routing manual di command prompt misal
route add 192.168.0.0 mask 255.255.255.0 10.8.0.1 -p
Berikut Daftar Error dan Solusi: (Klik kanan OpenVPN, pilih View Log)
TLS Error : TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS Error : TLS handshake failed
- Cek firewall di windows anda dan matikan (off)
- Belum adanya port forwarding pada NAT Gateway (modem) untuk port tcp/udp 1194 ke alamat internal network kita.
- Alamat ip address (ip public) yang dituju salah (pada file client.ovpn)
- Jika anda menggunakan proto udp, coba rubah menjadi proto tcp
All TAP-Win32 adapters on this system are currently in use
- Kemungkinan adapter TAP-Win32 disabled. Coba cek dengan cara masuk ke folder "Network Connections" , klik kanan pada adapter TAP-Win32 dan pilih "Enable". Kemudian coba OpenVPN sekali lagi.
There are no TAP-Win32 adapters on this system. You should be able to create a TAP-Win32 adapter by going to Start - All Programs - OpenVPN
- Add a new TAP-Win32 virtual ethernet adapter.
- Kemungkinan adapter TAP-Win32 tidak terpasang. Coba install ulang OpenVPN.
Incoming plaintext error openvpn, handshake failed
Kemungkinan anda salah menuliskan ip tujuan/server di client.ovpn
Kemungkinan anda salah mengcopy sertifikat ca dan key.
Unable to connect because your certificate is not yet valid.
Check that your system time is correct
Kemungkinan kesalahan pada jam di windows anda, coba cek tgl-bulan-tahun.
The requested operation requires elevation. (klien Windows 7)
ERROR: Windows route add command failed
File openvpn-gui.exe yang berada di C:\Program Files\OpenVPN\bin harus
dijalankan sebagai administrator (Klik kanan - run as Administrator)
Error: Warning: route gateway is not reachable on any active network adapters (Windows 7)
- Klik kanan icon OpenVPN pilih Edit Config , tambahkan 2 tulisan berikut di baris paling bawah kemudian save:
- route-delay 5
- route-method exe
Read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
- Kemungkinan salah input tujuan ip di bagian client.ovpn
- Kemungkinan firewall windows /antivirus masih aktif
Txt_db error number 2 (hal ini terjadi pada saat kita membuat cert client)
- Hal ini mengindikansikan adanya duplikasi pada index.txt, ketika kita membuat key untuk client jangan sampai kita membuat nama yang sama pada bagian common name. Thanks Hasmudin for your tips.
write UDPv4: No Route to Host (WSAEHOSTUNREACH) (code=10065)
- Kesalahan pada saat penambahan routing untuk masuk ke LAN
- gunakan perintah misal route add 192.168.0.0 mask 255.255.255.0 10.8.0.1 -p
Sumber : http://www.runpcrun.com/howtoopenvpn
http://support.real-time.com/open-source/openvpn/index.html
https://forums.openvpn.net/topic7901.html
http://my.anuson.com/knowledgebase/61/OpenVPN-error-Warning-route-gateway-is-not-reachable-on-any-active-network-adapters.html
https://forums.openvpn.net/topic1478.html