Instalasi openvpn di CentOS 5.4 vps server


bahan :
-vps server CentOS 5.4 ram min 256mb(agar support saat penginstalan yum)
-koneksi internet
-pc remote dengan os winxp

perlengkapan:
-putty/tunnelier
-text editor

step by step:
= .login ke vps server sebagai root menggunakan putty/tunnelier
= .biasanya akan langsung masuk ke direktori root lalu
= .check vps apakah sudah support TAP/TUN dengan mengetikkan perintah:
   # ls -al /dev/net/tun
     maka akan keluar hasilnya:
     -bash-3.2# ls -al /dev/net/tun
crw------- 1 root root 10, 200 2009-08-01 01:45 /dev/net/tun
   yang menandakan bahwa server support TAP/TUN
= .install gcc (paket compiler untuk linux/unix) dengan mengetikkan perintah:
   # yum install gcc
   tunggu proses sampai selesai
= .install paket tambahan buat yum:
   # yum install rpm-build
   # yum install autoconf.noarch
   # yum install zlib-devel
   # yum install pam-devel
   # yum install openssl-devel
   # yum install make
= .download paket  utama instalasi openvpn:
   # wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
   # wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm
= .install paket utama yang telah didownload:
   # rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
   # rpm -Uvh /usr/src/redhat/RPMS/i386/lzo-*.rpm <-- untuk centos 32Bit
   # rpm -Uvh /usr/src/redhat/RPMS/x86_64/lzo-*.rpm <-- untuk centos 64Bit
   # rpmbuild -tb openvpn-2.0.9.tar.gz
   # rpm -Uvh /usr/src/redhat/RPMS/i386/openvpn-2.0.9-1.i386.rpm <-- untuk centos 32Bit
   # rpm -Uvh /usr/src/redhat/RPMS/x86_64/openvpn-2.0.9-1.x86_64.rpm <-- untuk centos 64Bit
= .copykan file config ke folder /etc/openvpn dengan perintah:
   # cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
   # cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/
= .buat serifikat,masuk kedirektori /etc/openvpn/easy-rsa/2.0 dengan perintah:
   # cd /etc/openvpn/easy-rsa/2.0
   # source ./vars
   # ./vars
   # ./clean-all
   #./build-ca
   isikan semua data jika ingin mengubah datanya,yang harus diisi hanyalah pada field"common".gunanya adalah membuat ca.crt
= .# ./build-key-server server
   isiannya sama dengan cara diatas.gunanya adalah membuat server.crt/key
   Ikuti petunjuknya ,tekan “y” pada pilihan sign this key
= .# ./build-key (terserah anda mau ditulis apa)
   isiannya sama dengan cara diatas.gunanya adalah membuat client.crt/key
   Ikuti petunjuknya ,tekan “y” pada pilihan sign this key
= .# ./build-dh
   gunanya adalah membuat file dh diffhellman

= .membuat plugin authentifikasi client login,jadi ketika client mau konek keserver       openvpn harus memasukkan username dan password
   caranya:
   # cd /etc/openvpn
   # wget http://openvpn.net/release/openvpn-2.1_rc15.tar.gz
   # tar zxvf openvpn-2.1_rc15.tar.gz
   # cp -R openvpn-2.1_rc15/easy-rsa/2.0 /etc/openvpn/easy-rsa
   # mkdir /etc/openvpn/keys
   # cd /etc/openvpn/openvpn-2.1_rc15/plugin/auth-pam/
   # make
   Maka akan terbentuk file auth_pam.so
   Copy openvpn-auth-pam.so ke /usr/lib/openvpn
   # mkdir /usr/lib/openvpn
   #cp openvpn-auth-pam.so /usr/lib/openvpn
   Copy file /etc/pam.d/system-auth ke /etc/pam.d/ovpn
   #cp /etc/pam.d/system-auth /etc/pam.d/ovpn
  
= .membuat file config server
   # cd /etc/openvpn
   # nano server.conf
   maka akan keluar text editor dengan tulisan yang berisi configurasi server secara    default
   hapus semua text tersebut hingga kosong lalu copykan text di bawah ini ke text editor    tersebut  dan simpan kembali menjadi config file:

   #########################server configurastion#############################

   local 74.x.250.x <---ip vps/dedicate server anda
   port 1194 <---port yang ingin anda jadikan sebagai koneksi
   proto udp <---type protokol yang anda gunakan
   dev tun <--device yang anda gunakan
   ca /etc/openvpn/keys/ca.crt <---lokasi ca.cer
   cert /etc/openvpn/keys/server.crt <---lokasi server.crt
   key /etc/openvpn/keys/server.key <---lokasi server.crt
   dh /etc/openvpn/keys/dh1024.pem <---lokasi file dh
   plugin /usr/lib/openvpn/openvpn-auth-pam.so /etc/pam.d/login <---lokasi plugin
   client-cert-not-required <---cert client
   username-as-common-name <---verifikasi user dan pass
   server 10.8.0.0 255.255.255.0 <---server dhcp ip client
   ifconfig-pool-persist ipp.txt <---setingan ip
   push "redirect-gateway def1" <---redirect ke gateway
   push "dhcp-option DNS 4.2.2.1" <---dhcp dns bersifat optional
   push "dhcp-option DNS 4.2.2.2" <---sama dengan diatas
   keepalive 5 30 <---menjaga koneksi (dalam detik perbandinga 1:6)
   comp-lzo <---kompresi lzo
   persist-key <---unknown
   persist-tun <---unknown
   status server-tcp.log <---log dari aktivitas server tcp
   verb 3 <---unknown
   #################################END################################


   setelah selesai,kita harus menentukan routing dari client ke server openvpn,karena    jika tidak dirouting maka client tidak akan terkoneksi dengan internet.berikut    caranya:
   #iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to 74x.240.x 

   #iptables-save > /etc/firewall
   #echo 1 > /proc/sys/net/ipv4/ip_forward
  

   lalu jalankan openvpn server dengan perintah:
   # service openvpn restart
   openvpn restart      [ok]
   openvpn starting     [ok]
   jika pada tahap openvpn starting [failed],maka jalankan perintah ini:
   # openvpn /etc/openvpn/server.conf
   maka akan terlihat mana2 saja yang error di dalam file server.conf.lakukan perbaikan    di dalam file tersebut lalu coba lagi command restart diatas sampai semuanya [ok]

Setelah settingan server selesai,copy  file ca.crt di server ke desktop yang nantinya akan digunakan sebagai certifikat verifikasi client ke server.

Berikut contoh config client:

#################################Config###################################
client
dev tun
proto tcp
remote 173.x.250.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
auth-user-pass pass.txt
comp-lzo
verb 3

###################################End###################################


Semoga bermanfaat

MAI

Comments

Popular posts from this blog

Auto Ping OpenWRT

Flash MR3x20 Via WINSCP dan PUTTY

PRIVOXY on OpenWRT