Sabtu, 11 Desember 2010

INSTALASI VPN GATEWAY 2 GATEWAY

Instalasi vpn menggunakan freeswan versi 2.06 untuk koneksi gateway to
gateway
Catatan: Konfigurasi ini dilakukan pada kedua mesin yang bertindak sebagai
gateway untuk masing-masing jaringan
Kondisi awal, kita memiliki 2 buah mesin yaitu:
- Server A : - memiliki:
- ip publik = 202.155.138.101
- netmask = 255.255.255.240
- ip router = 202.155.138.240
- ip lokal = 172.16.0.49
- netmask = 255.255.252.0
- Server B : - memiliki:
- ip publik = 202.155.100.100
- netmask = 255.255.255.240
- ip router = 202.155.100.101
- ip lokal = 192.168.1.130
- netmask = 255.255.255.0
- Paket Tcpdump terinstall pada masing-masing mesin
Konfigurasi umum untuk Server A dan Server B
1. Mesin linux lengkap dengan iptables, shorewall dan source code kernel
2. Pindah direktori ke direktori /var/tmp
#cd /var/tmp
3. ekstrak file freeswan-2.06.tar.gz
#tar -zxvf secure-linux/source/freeswan-2.06.tar.gz
4. pindah ke direktori freeswan-2.06
#cd freeswan-2.06
5. edit file Makefile.inc
dan baris berikut:
INC_MANDIR=man
Menjadi:
INC_MANDIR=share/man
7. Patch kembali kernel dengan freeswan
#make kpatch
8. konfigurasi ulang kernel dan kompile dengan mengaktifkan modul
IPSEC/Freeswan
#cd /usr/src/linux
#make menuconfig
aktifkan modul IPSEC/Freeswan, kemudian simpan konfigurasi dan keluar
#make dep clean bzImage
#cp arch/i368/boot/bzImage /boot/vmlinuz-2.4.26
#cp System.map /boot/System.map-2.4.26
#lilo
9. Reboot mesin
#reboot
10. Pindah ke direktori freeswan
#cd /var/tmp/freeswan-2.06
11. Compile dan install freeswan
#make program
#make install
12. pindah direktori kerja menjadi /root
#cd /root
Pada server A
13. Buat 2 buah rsa key yang akan di gunakan untuk kedua mesin (key ini hanya
di generate pada satu buah mesin)
#ipsec rsasigkey --verbose 2192 > left-key
#ipsec rsasigkey --verbose 2192 > right-key
14. Copy file left-key menjadi file ipsec.secrets
#cp left-key /etc/ipsec.secrets
15. Edit file /etc/ipsec.secrets, tambahkan parameter berikut:
202.155.138.101 202.155.100.100: RSA { #pada baris awal
} #pada baris akhir
*catatan: ip tersebut merupakan ip publik kedua mesin.
*catatan: ip tersebut merupakan ip publik kedua mesin.
16. dengan menggunakan sftp atau scp copy file right-key ke server B
Pada server B
17. Copy file right-key menjadi file ipsec.secrets
#cp right-key /etc/ipsec.secrets
18. Edit file /etc/ipsec.secrets, tambahkan parameter berikut:
202.155.138.101 202.155.100.100: RSA { #pada baris awal
} #pada baris akhir
*catatan: ip tersebut merupakan ip publik kedua mesin.
Pada Kedua mesin, server A dan server B
19. Edit file /etc/ipsec.conf, kemudian isi dengan konfigurasi berikut:
config setup
interfaces="ipsec0=eth0"
klipsdebug=none
conn block
auto=ignore
conn private
auto=ignore
conn private-or-clear
auto=ignore
conn clear-or-private
auto=ignore
conn clear
auto=ignore
conn packetdefault
auto=ignore
conn a-b
left=202.155.138.101
leftsubnet=172.16.0.0/22
leftnexthop=202.155.138.240
right=202.155.100.100
rightsubnet=192.168.1.0/24
rightnexthop=202.155.100.101
keyingtries=0
auth=esp
authby=rsasig
leftrsasigkey=0sAQNZYi1vkyiJN.......(dipotong, karena terlalu panjang)
rightrsasigkey=0sAQOoYLTSZRvx.......(dipotong, karena terlalu panjang)
auto=start
*Catatan:
- leftrsasigkey= diambil dari file /etc/ipsec.secrets pada server A pada
bagian pubkey=
- righttrsasigkey= diambil dari file /etc/ipsec.secrets pada server B pada
bagian pubkey=
20. Edit file /etc/shorewall/tunnels
#vi /etc/shorewall/tunnels
kemudian isi dengan parameter berikut:
Untuk server A
ipsec net 202.155.100.100
Untuk server B
ipsec net 202.155.138.101
21. Edit file /etc/shorewall/zones
#vi /etc/shorewall/zones
kemudian isi dengan parameter berikut:
Pada Server A dan Server B
vpn VPN VPN Euuuyyyyy
22. Edit file /etc/shorewallinterface
#vi /etc/shorewall/interfaces
kemudian isi dengan parameter berikut:
Pada Server A dan Server B
vpn ipsec0
23. Edit file /etc/shorewall/hosts
# vi /etc/shorewall/hosts
kemudian isi dengan parameter berikut:
Pada Server A
vpn eth0:192.18.1.0/24
Pada Server B
vpn eth0:172.16.0.0/22
24. Edit file /etc/shorewall/masq
#vi /etc/shorewall/masq
kemudian isi ubah parameter yang ada menjadi:
Pada Server A
eth0:!192.168.1.0/24 172.16.0.0/22
Pada Server B
eth0:!172.16.0.0/22 192.168.1.0/24
25. Edit file /etc/shorewall/policy
#vi /etc/shorewall/policy
kemudian isi dengan parameter berikut:
Pada Server A dan Server B
loc vpn ACCEPT
vpn loc ACCEPT
26. Restart service shorewall pada kedua server
#/etc/init.d/shorewall restart
27. Jalankan ipsec pada kedua server
#/etc/init.d/ipsec start
28. Lihat log pada file /var/log/secure
#tail -f /var/log/secure
Jika hasil log menunjukan hasil seperti di bawah:
ipsec__plutorun: Starting Pluto subsystem...
pluto[14479]: Starting Pluto (FreeS/WAN Version 2.06 PLUTO_USES_KEYRR)
pluto[14479]: Using KLIPS IPsec interface code
pluto[14479]: added connection description "servera-serverb"
pluto[14479]: listening for IKE messages
pluto[14479]: adding interface ipsec0/eth0 202.155.100.100
pluto[14479]: loading secrets from "/etc/ipsec.secrets"
pluto[14479]: "a-b" #1: initiating Main Mode
pluto[14479]: "a-b" #1: ISAKMP SA established
pluto[14479]: "a-b" #2: initiating Quick Mode RSASIG+ENCRYPT+PFS+UP
{using isakmp#1}
pluto[14479]: "a-b" #2: sent QI2, IPsec SA established {ESP=>0x2dfcd977
<0xada21f1a}
pluto[14479]: "a-b" #3: responding to Main Mode
pluto[14479]: "a-b" #3: sent MR3, ISAKMP SA established
pluto[14479]: "a-b" #3: retransmitting in response to duplicate packet; already
STATE_MAIN_R3
pluto[14479]: "a-b" #4: responding to Quick Mode
maka koneksi vpn telah berhasil, dan tinggal melakukan pengetesan serta
sniffing paket untuk pembuktian.
jika hasil output log tidak seperti di atas, maka terjadi kesalahan pada
konfigurasi ipsec atau pun kernel. lihat error message dan perbaiki kembali
konfigurasi tersebut.
29. Jalankan tcpdump pada server B
#tcpdump -n -i eth0
30. Lakukan ping dari salah satu ip di jaringan lokal B (192.168.1.14) ke salah satu
ip jaringan lokal A (172.16.0.3)
#ping 172.16.0.3
31. Lihat output dari tcpdump pada server Jika hasil output tcpdump pada
server B seperti di bawah:
14:39:28.504834 IP 202.155.100.100 > 202.155.138.101:
ESP(spi=0x2dfcd978,seq=0x36c)
14:39:29.644717 IP 202.155.138.101 > 202.155.100.100:
ESP(spi=0xada21f1b,seq=0x38e)
14:39:29.645521 IP 202.155.100.100 > 202.155.138.101:
ESP(spi=0x2dfcd978,seq=0x36d)
maka koneksi vpn telah benar-benar berhasil.

Tidak ada komentar:

Posting Komentar