Basic VPN configuration

Teruja!!! itu yang dapat aku katakan… lama aku menunggu saat mendapat peluang seperti ini… pagi tadi dengar radio IKIM, Allah itu maha mengetahui kenapa kita dihadirkan di sesuatu tempat… yalah seperti aku… yang lama dahagakan ‘Job Scope’ yang dapat memberi pengertian dalam hidup ku… akhirnya aku ketemu jua… walaupun sebab musabab aku tukar pekerjaan kerana hubby aku nak tukar kerja dan sukar memberi komitmen kepada keluarga sekiranya aku bekerja ‘shift’…

Hari ini, mari pelajari ilmu rangkaian atau network… semalam aku dapat ‘configure’ VPN for new SAP customer… aku dahlah tak familiar dengan VPN… rupanya VPN subject ni termasuk dalam CCNP… so apa yang aku pelajari selama ini iaitu CCNA tak cukup… hehehe… itulah ilmu itukan tiada sempadan… belajar, belajar, belajar seperti Ustazah Siti Nur Bahiyah punya motto dari perkataan ‘BEST’…

Jom kita mulakan… apa itu VPN… kalau kita ungkai ‘Virtual Private Address’… apa itu… hah… keperluannya secara am… contohlah… sesiapa yang pernah akses syarikat punya ‘internal’ dokumen dari rumah… kebiasaannya mereka kena masuk satu tetingkap di mana mereka kena memasukkan kunci pengenalan supaya mereka dapat mengakses kepada data yang mereka kehendaki… medium akses dari rangkaian yang tidak dipercayai… ‘untrusted’ atau ‘global/public network’ kepada rangkaian yang dipercayai… ‘trusted’ atau ‘private network’… ini yang dapat aku terangkan secara amnya… secara teknikal memang memecahkan kepala… hahaha….

Ok, permulaan kita atau proses pertama ‘configure’ ‘preshared key’ (sebenarnya ada proses yang patut kita ‘configure’ sebelum itu tapi aku akan nyatakan terus proses yang utama)

—‘Command’ ‘configure’ ‘preshared key’ untuk memberi kepercayaan kepada dua belah pihak—
crypto isakmp key $$$$$$$$$$$$ address x.x.x.x no-xauth

$$$$$$$$$$$$: ‘preshared key’ samada encrypt atau decrypt
x.x.x.x: IP pihak sebelah sana yang dipersetujui (‘Public’ IP)

Proses seterusnya, kita kena menyenaraikan akses dari pihak sini dan pihak sana.

—‘Command’ ‘configure’ ‘access list’—
ip access-list extended acl-NAME
permit ip x.x.x.x 0.0.0.255 x.x.x.x 0.0.0.255

acl-name: buat ‘title’ ‘access list’
x.x.x.x: (kanan) IP belah kita (kiri) IP belah kawan kita (‘Private IP)
0.0.0.255: Ini menunjukkan IP x.x.x.x adalah dalam rangkuman Kelas C IP dan kenapa kita tulis sebegitu kerana kita mahu ‘IP range’ dari .1 hingga .255

Proses yang terakhir adalah kita buat peta perjalanan atau ‘route map’ 🙂

—‘Command’ ‘configure’ ‘route map’—
crypto map Route_Map_NAME ipsec-isakmp
description crypto map NAME
set peer x.x.x.x
set security-association lifetime seconds 28800
set transform-set NAME
match address acl-NAME

Route_Map_Name: ‘Title’ peta perjalanan ini macam ‘inquiry’ dan ‘recall’
description crypto map NAME: ini kita melabelkan terperinci peta perjalan untuk apa
set security-association lifetime seconds xxxxx: ‘SA’ jangka hayat per saat, bergantung persetujuan kedua belah pihak
set transform-set NAME: ‘transform-set’ ini kita ibaratkan lebuh raya atau jalan negeri untuk memberi jalan, boleh juga sebagai terowong atau ‘Tunnel’ dan ini seperti ‘inquiry’ dan ‘recall’ di mana telah ‘configure’ pada ‘header’.
match address acl-NAME: hah, ini ingat tak tadi kita buat ‘access-list’… so sama teori ‘inquiry’ dan ‘recall’… kita panggil ‘IP’ yang berpadananan dengan ‘access-list’

P/S: Peringatan! kena pastikan ‘environment’ masa buat ‘configuration’ adalah dalam ‘privilege mode’ iaitu ‘enable’ dan ‘config terminal’.

OK! untuk memmastikan ‘configuration’ yang kita buat tadi betul, so kita kena guna ‘command verification’ perhatikan status untuk Phase I iaitu ‘isakmp’ dan Phase II iaitu ‘ipsec sa’. Jika kedua2 dalam status yang ideal… alamatnya berjayalah ‘configuration’ kita tadi sekiranya kedua belah pihak ‘configure’ VPN pada masa yang sama.

—‘PHASE I’:’isakmp verification’—
show crypto isakmp sa

Contohnya:-
dst src state conn-id slot
x.x.x.x x.x.x.x QM_IDLE 2 0
x.x.x.x x.x.x.x QM_IDLE 1 0

—‘PHASE II’: ‘IPsec sa’—
show crypto IPsec sa

Contohnya:-

interface: HSSI1/0
Crypto map tag: AS1VPN, local addr. 200.1.1.1
protected vrf:
local ident (addr/mask/prot/port): (211.0.0.0/255.0.0.0/0/0)
remote ident (addr/mask/prot/port): (212.0.0.0/255.0.0.0/0/0)
current_peer: 200.1.1.2:500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0
#pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 1, #recv errors 0

local crypto endpt.: 200.1.1.1, remote crypto endpt.: 200.1.1.2
path mtu 1500, media mtu 1500
current outbound spi: 770BFB0E
inbound esp sas:
spi: 0xBAB54AEB(3132443371)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
slot: 0, conn id: 2000, flow_id: 7, crypto map: AS1VPN

crypto engine type: Software, engine_id: 1
sa timing: remaining key lifetime (k/sec): (4439346/3318)
ike_cookies: 3A2297BC 4BED61BF 7571B28B 40217AB8
IV size: 16 bytes
replay detection support: Y

inbound ah sas:

inbound pcp sas:
outbound esp sas:
spi: 0x770BFB0E(1997273870)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
slot: 0, conn id: 2001, flow_id: 8, crypto map: AS1VPN
crypto engine type: Software, engine_id: 1
sa timing: remaining key lifetime (k/sec): (4439347/3316)
ike_cookies: 3A2297BC 4BED61BF 7571B28B 40217AB8
IV size: 16 bytes
replay detection support: Y

outbound ah sas:

outbound pcp sas:

Status ‘isakmp sa’ untuk panduan adalah seperti di bawah:-

—Status ‘isakmp sa’ (Main Mode)—
MM_NO_STATE
The ISAKMP SA has been created, but nothing else has happened yet. It is “larval” at this stage—there is no state.

MM_SA_SETUP
The peers have agreed on parameters for the ISAKMP SA.

MM_KEY_EXCH
The peers have exchanged Diffie-Hellman public keys and have generated a shared secret. The ISAKMP SA remains unauthenticated.

MM_KEY_AUTH
The ISAKMP SA has been authenticated. If the router initiated this exchange, this state transitions immediately to QM_IDLE, and a Quick Mode exchange begins.

Lastly, cubaan ‘ping’ ke gateway IP dan IP pertama yang kau ‘assign’ for server.

OK! aku dah mula lalok… so sampai di sini… bila aku ada masa lagi aku sambung dengan ‘task’ yang lain.