Senin, 18 Januari 2016

How to Install OpenVPN; One key for many users on Debian 6, 7

Openvpn secara default tidak mengizinkan satu user dipake berbarngan atau satu key di pakai berbarengan. Disini saya akan mencoba memberikan solusi bagaimana menerapkan konsep multilogin untuk user yang sama. Dalam tutor ini, saya juga mencoba menerapkan konsep non user tapi key only untuk dipake banyak user. Jadi user hanya membutuhkan satu key tanpa username dan password untuk bisa menggukanakan openvpn.
untuk perbandingan, silahkan baja juga tutorial cara install openvpn di debian (mode username dan passwd).
oke langsung saja;
step 1: login as root ke Server ente
step 2: install openvpn nya
apt-get install openvpn
step 3: Persiapkan untuk pembuatan key server dan client
secara default, lokasi skrip easy-rsa ada di folder /usr/share/easy-rsa/, mari kita buat duplicate nya dulu untuk keperluan edit meng edit siapa tau melakukan kesalahn.
mkdir /root/easy-rsa
cp -prv /usr/share/doc/openvpn/examples/easy-rsa/2.0 /root/easy-rsa

masuk ke folder easy-rsa atau masuk lagi ke sub direktorinya 2.0
cd /root/easy-rsa/2.0
edit data vars nya
nano vars
edit bagian ini, dan sesuaikan dengan data server ente
KEY_COUNTRY="ID"
KEY_PROVINCE="JATENG"
KEY_CITY="BANJARNEGARA"
KEY_ORG="TEHANGET.INFO"
KEY_EMAIL="admin@tehanget.info"
exit dan save, ctrl + x confim y enter
step 4: buat key server dan client
source ./vars
./clean-all
./build-ca
Untuk yng di bawah ini, tehanget.info bisa di ganti dengan nama server/domain ente, tapi ada baiknya di biarkan default dulu aja, biar nanti tidak susah saat edit config server nya.
./build-key-server tehanget.info
./build-dh
selanjutnya build client key;
./build-key client
jangan lupa buat HMAC code juga

openvpn --genkey --secret /root/easy-rsa/2.0/keys/ta.key
step 5:  pindahkan file-file key tersebut ke folder openvpn
mkdir -p /etc/openvpn/certs
cd /root/easy-rsa/2.0/keys
cp * /etc/openvpn/certs
step 6: buat server confing filenya
cd /etc/openvpn
nano server.conf
paste kan kode berikut dan pastikan lokasi dan nama key nya sama dengan punya ente
port 1194
proto udp
dev tun
duplicate-cn
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/tehanget.info.crt
key /etc/openvpn/certs/tehanget.info.key
dh /etc/openvpn/certs/dh1024.pem
tls-auth /etc/openvpn/certs/ta.key 0
server 10.9.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
verb 5
mute 20

max-clients 10

save dan exit, ctrl + x , confirm y, enter
test apakah config server udah bener dengan cara:
service openvpn restart
kalo bisa restart tanpa failed brarti aman :D

step 7: enable forwading dan save ip tables
enable forwarding dengan cara
nano  /etc/sysctl.d/ipv4_forwarding.conf
paste kan ini, save dan exit
net.ipv4.ip_forward = 1
apply kasikan dengan cara
sysctl --system
untuk routing harus sangat di perhatikan, pilih salah satu!
untuk openvz
iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o venet0 -j SNAT --to IP_ENTE
untuk dedicated / kvm /cloud
iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o eth0 -j MASQUERADE
selanjutnya untuk menimpan routing nya gunakan perintah ini:
apt-get install iptables-persistent
jawab saja yes, yes. 

step 8: download client keys ke komputer
ente bisa pake sftp, silahkan pake filezilla atau yng lainnya, intinya pindahkan file ca.crt, client.crt, client.key dan ta.key ke komputer ente bagaimanapun caranya :p
step 9: buat config client
silakan buka notepad kalo ente pake windows, paste kan kode berikut
remote IPSERVERENTE 1194
client
dev tun
proto udp 
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
#auth-user-pass
comp-lzo
verb 3
route-method exe
route-delay 2
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
jangan lupa edit bagian IPSERVERENTE, dan ganti dengan ip atau domain ente. save satu folder dengan file-file yng sudah di download dari server. Simpan dengan extensi .ovpn dan opsi allfiles pada notepad.

step 10: finale
server: restart server atau restart openvpnya
reboot
atau
service openvpn restart
client: pindahkan semua file yng di download dari server beserta confignya ke folder c:/program files/openvpn/config

oke itu saja, semoga bermanfaat.... :D