Social Icons

Pages

Print Friendly and PDF
Showing posts with label vpn. Show all posts
Showing posts with label vpn. Show all posts

Wednesday, October 24, 2012

Cara Membuat Tunneling VPN Server L2TP Over IPSec Server dengan Openswan di Centos 5.6

Sebelumnya penulis pernah membuat VPN atau Tunneling menggunakan OpenVPN dengan judul Install dan Konfigurasi OpenVPN Server di Centos 5.6 . Pada kesempatan ini penulis mencoba membuat VPN atau Tunneling dengan menggunakan Openswan. Apa itu Openswan ?

Openswan merupakan implementasi dari protokol IPSec ( IP Security ) di linux. Pengembanganya berasal dari FreeS/WAN. Tujuan dari Frees/WAN untuk membuat IPSec menjadi metode standar untuk pengamanan jaringan internet. Frees/WAN sudah tidak dikembangkan lagi sejak adanya isu politik. Selain Openswan ada Strongswan yang melakukan pengembangan lebih lanjut dari Frees/WAN. Untuk saat ini penulis hanya akan melakukan Instalasi dan Konfigurasi L2TP Over IPSec menggunakan Openswan. Mari kita langsung ke caranya.

Berikut tahapan - tahapannya dalam melakukan Instalasi dan Konfigurasi, mohon disimak baik baik.

yum install openswan

vim /etc/ipsec.conf
config setup
    nat_traversal=yes
    virtual_private=%v4:169.16.0.0/24,%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:10.152.2.0/24
    oe=off
    protostack=netkey

conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    rekey=no
    ikelifetime=8h
    keylife=1h
    type=transport
    left=202.xxx.xxx.xxx
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any

vim /etc/ipsec.secrets atau vim /etc/ipsec.d/ipsec.secrets
202.xxx.xxx.xxx %any: PSK "oke"
Ganti 1 menjadi 0 yang ada di /proc/sys/net/ipv4/conf/
echo 0 > /proc/sys/net/ipv4/conf/eth0/accept_redirects

echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects


Untuk bisa install L2PD maka update atau instal terlebih dahulu epel, sesuaikan dengan versi centosnya. Untuk centos 5 bisa menggunakan alamat ini ;

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

atau

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

yum install xl2tpd

vim /etc/xl2tpd/xl2tpd.conf
[global]
ipsec saref = no

[lns default]
ip range = 10.152.2.2-10.152.2.254
local ip = 10.152.2.1
require chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
yum install ppp

vim /etc/ppp/options.xl2tpd
refuse-mschap-v2
refuse-mschap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
lock
hide-password
local
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
####### redhat-config-network will overwrite this part!!! (begin) ##########
####### redhat-config-network will overwrite this part!!! (end) ############
pondoklukman l2tpd hilapdui *

Sampai disini setting untuk Tenneling L2TP Over IPSec sudah selesai. Jalankan servicenya ipsec dan xl2tpd

/etc/init.d/ipsec start
/etc/init.d/xl2tpd start

Sekarang periksa apakah konfigurasi ipsec sudah benar

ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.32/K2.6.18-238.el5 (netkey)
Checking for IPsec support in kernel                            [OK]
 SAref kernel support                                           [N/A]
 NETKEY:  Testing for disabled ICMP send_redirects              [OK]
NETKEY detected, testing for disabled ICMP accept_redirects     [OK]
Checking that pluto is running                                  [OK]
 Pluto listening for IKE on udp 500                             [OK]
 Pluto listening for NAT-T on udp 4500                          [OK]
Two or more interfaces found, checking IP forwarding            [OK]
Checking NAT and MASQUERADEing                                  [OK]
Checking for 'ip' command                                       [OK]
Checking /bin/sh is not /bin/dash                               [OK]
Checking for 'iptables' command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]
Jangan khawatir mengenai SAref kernel support statusnya N/A dan Opportunistic Encryption Support yang statusnya Disable. Pastikan pemeriksaan yang lainnya OK.

Jika pada saat ipsec diverifikasi ada error misalnya, seperti ini
 NETKEY:  Testing for disabled ICMP send_redirects              [FAILED]

  Please disable /proc/sys/net/ipv4/conf/*/send_redirects
  or NETKEY will cause the sending of bogus ICMP redirects!

NETKEY detected, testing for disabled ICMP accept_redirects     [FAILED]

  Please disable /proc/sys/net/ipv4/conf/*/accept_redirects
  or NETKEY will accept bogus ICMP redirects!

Ini berarti pada saat  melakukan  penggantian 1 menjadi 0 yang ada di /proc/sys/net/ipv4/conf/ ada yang belum diubah.

Sampai disini Cara Membuat Tunneling VPN Server L2TP Over IPSec Server Menggunakan Openswan sudah berhasil.

Selamat Mencoba !

Untuk artikel selanjutnya akan membahas mengenai koneksi client ke ipsec server pada kesempatan yang lain.

Terima kasih



Wednesday, August 1, 2012

Install dan Konfigurasi OPENVPN Client di Windows

Cara install dan konfigurasi OpenVPN server sudah ada disini, sekarang bagaimana cara install dan konfigurasi untuk di clientnya ?

Berikut ini adalah cara install dan konfigurasi OpenVPN Client di windows. Download OpenVPN Client untuk windows disini terlebih dahulu.

Copy file sertifikat yang sudah dibuat, file sertifikat yang dibutuhkan hanya ca.crt, sertifikat client ( penulis menggunakan client2.crt dan client2.key ) dan file konfigurasinya client.opvn

1.  File client.ovpn berisi konfigurasi sebagai berikut ( buat menggunakan notepad )
client ( ini adalah konfigurasi client )
dev tap ( sesuaikan dengan server, tap atau tun )
proto tcp (sesuaikan dengan server, tcp atau udp )
remote 202.xxx.xxx.xxx 1194 ( IP OpenVPN Server, port sesuaikan dengan server )
resolv-retry infinite ( Default )
nobind ( Default )
persist-key ( Default )
persist-tun ( Default )
ca "C:/Program Files/OpenVPN/config/ca.crt"  ( lokasi file ca.crt )
cert "C:/Program Files/OpenVPN/config/client2.crt" ( lokasi file client2.crt )
key "C:/Program Files/OpenVPN/config/client2.key" ( lokasi file client2.key )
comp-lzo ( aktifkan kompresi pada link vpn, sesuaikan dengan server )
verb 3 ( Default )
2. Berikut contoh tampilan openvpn client hasil download, file sertifikat dan file konfigurasi
    openvpn-2.0.9-gui-1.0.3-install.exe ( OpenVPN Client installer )
    ca.crt  ( file ca.crt di copy dari server )
    client2.crt  ( file client2.crt di copy dari server )
    client2.key ( file client2.key di copy dari server )
    client.opvn ( file konfigurasi client )

3. Klik 2x di openvpn-2.0.9-gui-1.0.3-install.exe, kemudian klik Next.


4. Klik I Agree


5. Klik Next


6. Klik Install


7. Tunggu proses instalasi sedang berjalan.


 8. Muncul konfirmasi untuk install Tap Win32 Adapter, pilih Continue Anyway.


9. Proses instalasi selesai, klik Next


10. Kemudian klik Finish


11. Jika ada kelihatan 2 komputer warna merah ( Lihat tanda panah warna merah ). Itu menandakan jaringan openvpn sudah dibuat. Namun belum bisa koneksi ke server.


12. Untuk bisa koneksi ke server, copy file berikut ini

  ca.crt  ( file ca.crt di copy dari server )

  client2.crt  ( file client2.crt di copy dari server )

  client2.key ( file client2.key di copy dari server )

  client.opvn ( file konfigurasi client )


13.  Paste ke C:\Program Files\OpenVPN\config


14.Hasil copy paste file yang diperlukan.


 15. Klik kanan di 2 komputer warna merah, kemudian pilih connect.


 16. Proses koneksi ke server


17. Jika sudah ada konfirmasi client is connected dan ada ipnya, berarti sudah bisa konek ke server.


 18.  Dicoba ping ke server dan muncul replay.


19. Supaya bisa koneksi secara otomatis ke server openvpn, waktu komputer dinyalakan. Buat tambahan di registrynya. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run . Klik kanan pilih New, kemudian pilih String value.


20. Buat VPN Connect ( bebas ).


21. Klik kanan di VPN Connect, pilih modify, isi Value data dengan script berikut ini ;
"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect client.ovpn
Kemudian Ok.

22. VPN connect di regiestry sudah di buat.




Jadi ketika komputer dinyalakan, registry di autorun akan berjalan, sehingga koneksi ke openvpn server akan otomatis koneksi. Selamat mencoba !






Install dan Konfigurasi OPENVPN Server di Centos 5.6

Akhirnya ada kesempatan untuk membuat tutorial baru, untuk menulis sebuah tutorial dengan judul Install dan Konfigurasi OpenVPN Server di Centos 5.6. Penulis sebelumnya pernah melakukan install dan konfigurasi OpenVPN Server, tetapi waktu itu dilakukan masih di Local Area Network/LAN dengan menggunakan 2 pc. Sehingga penulis memiliki banyak referensi untuk install dan konfigurasi OpenVPN. Jadi ini untuk kedua kalinya, penulis melakukan install dan konfigurasi OpenVPN. Saat ini penulis melakukan langsung melalui koneksi internet. Dengan posisi OpenVPN Server ada di Bandung, sedangkan untuk OpenVPN Client posisinya tersebar beberapa kota di Jawa Barat.

Untuk OpenVPN Server penulis menggunakan Centos 5.6 tidak menggunakan Centos terbaru karena ada kendala pada hardware komputer. Komputer server ini menggunakan koneksi internet dedicated, ini berarti komputer server memiliki alamat IP Public yang statik. Sedangkan untuk OpenVPN Client penulis menggunakan koneksi speedy.

Dalam tahap instalasi penulis menggunakan perintah yum untuk memudahkan proses instalasi, karena pengalaman sebelumnya penulis melakukan dengan perintah rpm, banyak sekali dependencies paket. Berikut adalah tahapan untuk melakukan instalasi OpenVPN Server :

1. Update Centos terlebih dahulu untuk mendapatkan paket terbaru, dengan perintah yum update ( akan muncul paket paket yang perlu diupdate, penulis sengaja tidak menampilkan karena terlalu banyak ), lalu takan muncul konfirmasi, tekan Y untuk melakukan instalasi paket.

2. Untuk bisa menginstall OpenVPN Server dibutuhkan paket RPM Forge ( Untuk mendapatkan RPM Forge bisa di cari di google, usahakan menggunakan paket yang terakhir dan sesuai dengan versi Centos, el5 untuk Centos 5.x dan el6 untuk Centos 6.x. Untuk install RPM Forge pengalaman penulis tidak bisa menggunakan yum, jadi harus manual ), download dengan perintah
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

3. Setelah didownload install dengan perintah ( Perhatikan selalu lokasi directory tempat kerja anda, sesuaikan dengan path hasil download tadi, penulis melakukan download di home )
rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

4. Sekarang install OpenVPN dengan perintah ( Di komputer server penulis sudah terdapat openssl dan web server )
yum install openvpn


5. Pindah directory tempat kerja untuk memudahkan konfigurasi
cd /etc/openvpn
 6. Copy file konfigurasi easy-rsa dan server.conf yang ada di /usr/share/doc/openvpn-2.2.2
cp -Rf /usr/share/doc/openvpn-2.2.2/easy-rsa .
cp /usr/share/doc/openvpn-2.2.2/sampel-config-files/server.conf .
   

7. Membuat sertifikat
cd easy-rsa/2.0/
source ./vars ( ada error tidak bisa di eksekusi, setelah di lihat dengan ls -al file harus diubah dulu )


8. Ubah hak akses file supaya bisa di eksekusi
chmod 744 build-ca
chmod 744 build-dh
chmod 744 build-inter
chmod 744 build-key
chmod 744 build-key-pass
chmod 744 build-key-pkcs12
chmod 744 build-key-server
chmod 744 build-req
chmod 744 build-req-pass
chmod 744 clean-all
chmod 744 pkitool
chmod 744 vars
chmod 744 whichopenssl.cnf
ls -al ( untuk melihat perubaha hak akses file )
          

9.  Untuk membuat sertifikat jalankan perintah berikut
      source ./vars ( untuk mengevaluasi / cek file dalam pembuatan sertifikat)
      ./clean-all ( untuk menghapus file sertifikate yg sudah ada )
      ./build-ca  ( untuk membuat sertifkat ca )
isi data sesuai kebutuhan disarankan untuk di isi semua.


10. Pembuatan sertifikat server
       ./build-key-server server ( untuk membuat file sertifikat server, nama file bebas )

     isi sesuai kebutuhan.


11. Membuat file Diffie Hellman

      ./build-dh 

12. Membuat sertifikat untuk client

      ./build-key client1 ( nama file bebas )

isi sesuai kebutuhan.


13. hasil file file yg telah di buat lihat di directory keys
       ls -al keys/


14. Sekarang copy file sertifikate yang ada di directory keys ke directory /etc/openvpn/keys . Sebenarnya yang diperlukan hanya ca.crt, server.crt, server.key dan dh1024.pem. Biar tidak perlu copy satu satu, maka copy directorynya langsung.
cp -Rf keys/ /etc/openvpn
     


15. Sekarang buka file konfigurasi openvpn ada di server.conf
      vim /etc/openvpn/server.conf
Edit hanya bagian ini

local 202.xxx.xxx.xxx ( sesuaikan dengan ip server )
port 1194  ( port default, bisa di ganti dengan port yg lain )
proto tcp ( sesuaikan dengan kebutuhan, tcp atau udp )
dev tap ( sesuaikan dengan kebutuhan tap atau tun )
ca /etc/openvpn/keys/ca.crt ( lokasi file ca.crt )
cert /etc/openvpn/keys/server.crt ( lokasi file server.crt )
key /etc/openvpn/keys/server.key ( lokasi file server.key)
dh /etc/openvpn/keys/dh1024.pem (lokasi file dh1024.pem)
server 10.100.100.0 255.255.255.0 (alokasi ip, server otomatis mendapat ip 10.100.100.1)
ifconfig-pool-persist ipp.txt ( supaya ip di client tidak berubah ubah )
push "route 10.100.100.1 255.255.255.0" ( membuat gateway di client langsung ke server )
push "dhcp-option DNS 10.100.100.1" ( membuat dns di client langsung ke server )
push "dhcp-option DNS 10.100.100.1" ( membuat dns di client langsung ke server )
keepalive 5 30 ( di berbagai sumber nilai ini supaya stabil )
comp-lzo ( aktifkan kompresi pada link vpn )
persist-key ( default )
persist-tun ( default )
status openvpn-status.log  ( default )
verb 3  ( default )

Install dan konfigurasi openvpn server sudah selesai.

 /etc/init.d/openvpn start ( untuk menjalankan openvpn server )
Aktifkan service openvpn supaya langsung jalan setelah komputer di restart.

chkconfig --level 2345 openvpn on

Menurut pengalaman dalam pembuatan sertifikat untuk client, jika hari ini membuat client1 dan besoknya ketika mau buat client2 biasanya akan muncul error seperti ini ;
  Please edit the vars script to reflect your configuration,
  then source it with "source ./vars".
  Next, to start with a fresh PKI configuration and to delete any
  previous certificates and keys, run "./clean-all".
  Finally, you can run this tool (pkitool) to build certificates/keys.
Jadi gunakan perintah soure ./vars terlebih dahulu untuk mengevaluasi / cek file konfigurasi yan sudah ada, kemudian jalankan ./build-key client2.

Jangan menggunakan perintah ./clean-all,  perintah ini akan menghapus file konfigurasi yang sudah ada atau reset ke konfigurasi semula.

Baca juka artikel
Cara install dan konfigurasi openvpn client di client window