Gazebo

Avatar

dheche’s Hideout

Membuat VPN mempergunakan Openswan

Openswan adalah implementasi protokol IPsec (IP Security) di linux yang mensupport kernel 2.0, 2.2, 2.4 dan 2.6. IPsec menyediakan layanan enkripsi dan otentikasi pada level IP, sehingga IPsec dapat memproteksi semua trafik yang dilewatkan melalui IP.

VPN (Virtual Private Network) mengijinkan 2 jaringan berkomunikasi secara aman melalui jaringan publik. Metode yang dipakai adalah dengan cara menempatkan security gateway di setiap jaringan yg akan berkomunikasi melalui jaringan publik. Gateway ini bertugas untuk mengenkrip paket yang keluar ke jaringan publik dan mendekrip paket yang masuk dari jaringan publik, sehingga menciptakan tunel yang aman.

Nah, sekarang kita coba membuat VPN dengan memanfaatkan openswan.

Berikut ini topologi jaringan yang akan kita buat :

172.19.3.0/24 —– 172.19.3.120 | 202.162.208.102 —– 202.162.208.103 | 172.20.3.120 —– 172.20.3.0/24

Jaringan 172.19.3.0/24 kita misalkan sbg jaringan private yang akan kita koneksikan ke jaringan private lainnya (172.20.3.0/24) melalui vpn yang akan kita bentuk antara 202.162.208.102 dan 202.162.208.103

Untuk mencoba konfigurasi ini, kita butuh 4 buah PC, yaitu 2 pc sebagai client dan 2 pc sebagai gateway.

Sekarang kita persiapkan dulu software2 yang dibutuhkan :
- kernel-module-openswan (ambil paket sesuai dengan versi kernel yang anda punya)
- openswan-utils

Instal kedua paket tersebut, kemudian edit file /etc/ipsec.conf
Isi file ipsec.conf di gateway #1
——

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version 2.0
config setup
interfaces="ipsec0=eth0"
klipsdebug=none
plutodebug=none
conn tunnel
left=202.162.208.102
leftsubnet=172.19.3.0/24
leftnexthop=%direct
right=202.162.208.103
rightsubnet=172.20.3.0/24
rightnexthop=%direct
keyingtries=0
auto=add
include /etc/ipsec.d/examples/no_oe.conf

——-
Isi file ipsec.conf di gateway #2
——-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version 2.0
config setup
interfaces="ipsec0=eth1"
klipsdebug=none
plutodebug=none
conn tunnel
left=202.162.208.103
leftsubnet=172.20.3.0/24
leftnexthop=%direct
right=202.162.208.102
rightsubnet=172.19.3.0/24
rightnexthop=%direct
keyingtries=0
auto=add
include /etc/ipsec.d/examples/no_oe.conf

——–

Pastikan dukungan ipforwarding di kernel telah dihidupkan:

1
2
[root@vpn-gw root]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Kalau masih bernilai ’0′, aktifkan dg cara menjalankan ‘

1
sysctl -w net.ipv4.ip_forward=1

Dan matikan seluruh filtering :

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@vpn-gw root]# sysctl -a |grep filter
net.ipv4.conf.ipsec0.arp_filter = 0
net.ipv4.conf.ipsec0.rp_filter = 0
net.ipv4.conf.eth1.arp_filter = 0
net.ipv4.conf.eth1.rp_filter = 0
net.ipv4.conf.eth0.arp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.lo.arp_filter = 0
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.default.arp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.all.rp_filter = 0

Kemudian kita buat kunci untuk enkripsi oportunis dengan cara menjalankan perintah :
# dijalankan di gateway #1

1
ipsec mailkey --me dheche@brawijaya.ac.id --reverse 202.162.208.102

Hasilnya bisa dilihat di /root/OE_mail_202.162.208.102
# dijalankan di gateway #2

1
ipsec mailkey --me dheche@brawijaya.ac.id --reverse 202.162.208.103

Hasilnya bisa dilihat di /root/OE_mail_202.162.208.103

Sesuaikan IN TXT yg ada di DNS Server dengan nilai yang ada di file tersebut.
Periksa dengan utilitas ‘dig

Buat secret key unt masing2 gateway:

1
ipsec newhostkey --output /etc/ipsec.secrets --hostname vpg-gw.bits.or.id

Kemudian jalankan ipsec:
/etc/init.d/ipsec start
Periksa dengan perintah:
ipsec verify

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@vpn-gw root]# ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path [OK]
Linux Openswan 2.1.5 (klips)
Checking for IPsec support in kernel [OK]
Checking for RSA private key (/etc/ipsec.secrets) [OK]
Checking that pluto is running [OK]
Two or more interfaces found, checking IP forwarding [OK]
Checking NAT and MASQUERADEing [OK]
Checking for 'ip' command [OK]
Checking for 'iptables' command [OK]

Opportunistic Encryption DNS checks:
Looking for TXT in forward dns zone: vpn-gw.psb-online.or.id [OK]
Does the machine have at least one non-private address? [OK]
Looking for TXT in reverse dns zone: 102.208.162.202.in-addr.arpa. [OK]
[root@vpn-gw root]#

Periksa dg perintah ‘ipsec whack –status

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@vpn-gw root]# ipsec whack --status
000 interface ipsec0/eth0 202.162.208.102
000 %myid = (none)
000 debug none
000
000 "tunnel": 172.19.3.0/24===202.162.208.102[S=C]...202.162.208.103[S=C]===172.20.3.0/24; erouted; eroute owner: #2
000 "tunnel": ike_life: 3600s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0
000 "tunnel": policy: RSASIG+ENCRYPT+TUNNEL+PFS+lKOD+rKOD; prio: 24,24; interface: eth0;
000 "tunnel": newest ISAKMP SA: #3; newest IPsec SA: #2;
000
000 #3: "tunnel" STATE_MAIN_R3 (sent MR3, ISAKMP SA established); EVENT_SA_REPLACE in 2264s; newest ISAKMP
000 #2: "tunnel" STATE_QUICK_R2 (IPsec SA established); EVENT_SA_REPLACE in 24419s; newest IPSEC; eroute owner
000 #2: "tunnel" used 2496s ago; esp.7f8c910e@202.162.208.103 esp.286ed02@202.162.208.102 tun.1002@202.162.208.103 tun.1001@202.162.208.102
000

Point yg penting adalah di bagian ini :
000 “tunnel”: 172.19.3.0/24===202.162.208.102[S=C]…202.162.208.103[S=C]===172.20.3.0/24; erouted; eroute owner: #2

Kalau masih terlihat ‘unrouted‘, jalankan ‘ipsec auto –up tunnel
Dan pastikan terlihat kalimat ‘ISAKMP SA established‘ dan ‘IPsec SA established‘.
Periksa di /var/log/messages dan /var/log/secure unt membantu proses debugging.

Kemudian kita cek koneksi vpn yg telah kita bentuk :
dijalankan dari gateway #1:
ping 172.20.3.121 -I eth1
[root@vpn-gw root]# ping 172.20.3.121 -I eth1
PING 172.20.3.121 (172.20.3.121) from 172.19.3.120 eth1: 56(84) bytes of data.
64 bytes from 172.20.3.121: icmp_seq=1 ttl=64 time=0.471 ms
64 bytes from 172.20.3.121: icmp_seq=2 ttl=64 time=0.139 ms
64 bytes from 172.20.3.121: icmp_seq=3 ttl=64 time=0.136 ms

SIPPPP :)
silahkan dicoba dari client #1 dan client #2, seharusnya sih bisa juga :)

PS.
jangan lupa, sesuaikan konfigurasi gateway di masing2 client.

11 Comments, Comment or Ping

  1. #2 andri - from Indonesia  Indonesia

    Mozilla Firefox 2.0.0.18 SuSE Linux

    Bagaimana dengan clientnya ?? openswannya jalan di apa??

    Using: Mozilla Firefox 2.0.0.18 SuSE Linux
  2. #3 dheche - from Indonesia  Indonesia

    Mozilla Firefox 3.0.4 Fedora Linux

    clientnya pake apa aja gak masalah, fokus bahasannya kan masalah tunneling. openswannya jalan di linux.

    Using: Mozilla Firefox 3.0.4 Fedora Linux
  3. #4 santenkelapa - from Indonesia  Indonesia

    Mozilla Firefox 3.0.3 Ubuntu Linux

    mas bisa d jelaskan dengan gambar gak mas .. saya ga ngarti nih

    Using: Mozilla Firefox 3.0.3 Ubuntu Linux
  4. #5 suma - from Indonesia  Indonesia

    Mozilla Firefox 3.6.3 Windows 7

    mas…mw nanya ni…openswan kopetibel di ubuntu g…?makasih ya mas mhn pencerahan na…

    Using: Mozilla Firefox 3.6.3 Windows 7
  5. #6 rain - from Indonesia  Indonesia

    Mozilla Firefox 3.6.6 Windows 7

    mau nanya nih, maximal client utk 1 server brp yah?

    Using: Mozilla Firefox 3.6.6 Windows 7
  6. #7 endo - from Indonesia  Indonesia

    Mozilla Firefox 3.6.3 Windows Vista

    mas kalo boleh tau ini sama aja kita punya 2 router yg kita joinkan yah mas,

    Using: Mozilla Firefox 3.6.3 Windows Vista
  7. #8 ardan - from Indonesia  Indonesia

    Mozilla Firefox 3.5.11 Windows XP

    mas klo aku pke server openswan VPN nya cuma 1 pc aja….
    jadinya client [10.10.10.0] | VPN server | [172.16.40.0]
    gmn cara sett nya yah mas…

    Using: Mozilla Firefox 3.5.11 Windows XP
  8. #9 rio - from Indonesia  Indonesia

    Mozilla Firefox 3.6.8 Windows XP

    mas…..bisa di jelaskan pake gambar ga topologi jaringannya…..???

    Using: Mozilla Firefox 3.6.8 Windows XP
  9. #10 syaf - from Australia  Australia

    Mozilla Firefox 3.6.14 Ubuntu Linux

    baru pake ubuntu masih belom bisa paham…tolong dunk cara yang lebih detail …gimana install openswannya. :( dari nul Om…newbie neh

    Using: Mozilla Firefox 3.6.14 Ubuntu Linux
  10. #11 rokiin - from United States  United States

    Google Chrome 5.0.356.2 Windows 7

    pak maaf sebelum nya saya masih kurang mengerti cara mematikan filtering ny gimana ya supaya menjadi 0 semua filter ny terima kasih…

    Using: Google Chrome 5.0.356.2 Windows 7

Reply to “Membuat VPN mempergunakan Openswan”

Tombol

    ub-songolimo

Kode QR

    QR Code

Kicauan


Iringi saya di twitter

Saya ada di kota ini