FortiGate : IPSec VPN Tunnel Site to Site with Overlapping

 Apa itu VPN IPSec Site to Site with Overlapping Network?


VPN IPSec Site-to-Site dengan Overlapping Network adalah kondisi dimana dua jaringan yang ingin dihubungkan melalui VPN memiliki IP address Network yang sama.

Example : 

  • Site A : 192.168.1.0/24
  • Site A : 192.168.1.0/24

Kedua site menggunakan network yang sama sehingga ketika VPN dibuat, perangkat jaringan seperti Firewall atau Router tidak dapat membedakan mana jaringan lokal dan mana jaringan remote.

Akibatnya, komunikasi antar site melalui VPN tidak dapat berjalan dengan normal, walaupun tunnel VPN sudah berhasil terbentuk.

Masalah ini sering terjadi ketika dua perusahaan atau dua jaringan yang berbeda ingin saling terhubung tetapi masing-masing sudah menggunakan private IP address yang sama.

Mengapa Overlapping Network Bisa Terjadi

Overlapping network biasanya terjadi karena beberapa kondisi, seperti:

  1. Dua perusahaan menggunakan IP Private Integrasi jaringan saat merger perusahaan.

  2. Kerjasama B2B VPN antar perusahaan.

  3. Jaringan lama yang tidak bisa diubah struktur IP-nya.

Karena private IP seperti 192.168.x.x atau 10.x.x.x sangat umum digunakan, kemungkinan dua jaringan memiliki subnet yang sama cukup besar.

Masalah yang Terjadi pada VPN

Jika dua site memiliki network yang sama, perangkat jaringan akan mengalami kebingungan saat menentukan jalur traffic.

PoV:

Site A Host : 10.10.20.0/24
Site B Host : 10.10.20.0/24

Ketika host di Site A ingin mengirim data ke 10.10.20.0/24, perangkat jaringan akan menganggap bahwa alamat tersebut masih berada di jaringan lokal, bukan di jaringan VPN.

Akibatnya:

  • Traffic tidak masuk ke tunnel VPN
  • Paket data tidak sampai ke site tujuan
  • Komunikasi VPN antar site gagal

Solusi untuk Mengatasi Overlapping Network

Solusi yang umum digunakan adalah dengan menggunakan NAT (Network Address Translation) sebelum traffic masuk ke tunnel VPN.

Dengan cara ini, jaringan yang memiliki IP yang sama akan diterjemahkan ke network virtual yang berbeda ketika melewati VPN.

Example : 

    Site                Network Origin            Network After NAT
       HQ                10.10.20.0/24                 192.168.1.0/24
    Branch                10.10.20.0/24                 192.168.2.0/24

Ketika traffic melewati VPN:

                        192.168.1.0/24 <---- VPN Tunnel ----> 192.168.2.0/24

Namun di dalam jaringan masing-masing site, IP address tetap menggunakan network asli.

Dengan cara ini kedua jaringan bisa tetap saling berkomunikasi tanpa perlu mengubah struktur IP address internal.

Cara Kerja VPN dengan Overlapping Network

Secara sederhana prosesnya seperti ini:

  • Host di Site A mengirim data ke host di Site B.
  • Firewall melakukan NAT Translation untuk mengubah IP menjadi network virtual.
  • Traffic yang sudah diterjemahkan masuk ke IPSec Tunnel.
  • Data dienkripsi dan dikirim melalui internet.
  • Firewall di Site B menerima data dan melakukan D-NAT (Destination Network Address Translatation) .
  • Data diteruskan ke host tujuan di jaringan lokal.

Dengan proses ini, dua jaringan yang memiliki IP address yang sama tetap bisa saling berkomunikasi melalui VPN.

Keuntungan Menggunakan Teknik Overlapping VPN

Beberapa keuntungan dari solusi ini:

  • Tidak perlu mengubah IP address jaringan internal
  • Memudahkan integrasi antar perusahaan
  • Tetap bisa menggunakan IPSec VPN secara secure
  • Menghindari konflik alamat IP antar jaringan

Solusi ini sering digunakan dalam network enterprise dan integrasi antar organisasi.


Topology


1. Basic Configuration

  • Configuration IP Address in FW-HQ :

FW-HQ (interface) # show
config system interface
    edit "port1"
        set vdom "root"
        set ip 172.23.0.148
        set allowaccess ping https ssh http
        set type physical
        set alias "ISP"
        set lldp-reception enable
        set role wan
        set snmp-index 1
    next
    edit "port2"
        set vdom "root"
        set ip 10.10.20.1 255.255.255.0
        set allowaccess ping
        set type physical
        set alias "LAN"
        set device-identification enable
        set lldp-transmission enable
        set role lan
        set snmp-index 2
    next
end

FW-HQ (interface) # 


  • Configuration IP Address in FW-Branch : 

FW-Branch (interface) # show
config system interface
    edit "port1"
        set vdom "root"
        set ip 172.23.11.45
        set allowaccess ping https ssh http
        set type physical
        set alias "ISP"
        set lldp-reception enable
        set role wan
        set snmp-index 1
    next
    edit "port2"
        set vdom "root"
        set ip 10.10.20.1 255.255.255.0
        set allowaccess ping
        set type physical
        set alias "LAN"
        set device-identification enable
        set lldp-transmission enable
        set role lan
        set snmp-index 2
    next
end

FW-Branch (interface) #



2. VPN IPSec Configuration

  • Configuration VPN IPSec Wizard FW-HQ.


  • Add Remote Address and Pre-shared key.


  • Change IKE to v2, Change Phase 1 Proposal Encryption to DES and Authentication SHA1.


  • Add Local Subnet, Remote Subnets, And Change Phase 2 Proposal Encryption DES Authenticationn SHA1 to OK



  • Configuration VPN IPSec Wizard FW-Branch.

  • Add Remote Address and Pre-shared key.

  • Add Local Subnet, Remote Subnets, And Change Phase 1 & 2 Proposal Encryption DES Authenticationn SHA1 to OK

3. Configure Static Route.

  • Config Static Route in FW-HQ.


  • Config Static Route in FW-Branch.



4. Create IP Pool .

  • Add IP Pool FW-HQ


  • Add IP Pool FW-Branch.



5. Create Virtual IPs

  • Add Virtual IPs FW-HQ.
  • Add Virtual IPs FW-Branch.


6. Create Address Subnets.

  • Config Addresses in FW-HQ.


  • Config Addresses in FW-Branch.


7. Create Firewall Policy

  • Config Firewall Policy FW-HQ.


  • Config Firewall Policy FW-Branch.


8. Verify VPN IPSec phase 1 Success Established.

  • FW-HQ :
FW-HQ # diagnose vpn ike gateway list name VPN-FW

vd: root/0
name: VPN-FW
version: 2
interface: port1 3
addr: 172.23.0.148:500 -> 172.23.11.45:500
tun_id: 172.23.11.45/::172.23.11.45
remote_location: 0.0.0.0
network-id: 0
created: 610s ago
peer-id: 172.23.11.45
peer-id-auth: no
PPK: no
IKE SA: created 1/2  established 1/2  time 10/10510/21010 ms
IPsec SA: created 1/2  established 1/2  time 0/10505/21010 ms

  id/spi: 9 bc2e6bf6ce80f121/a585c40fec5fd4d1
  direction: responder
  status: established 595-595s ago = 10ms
  proposal: des-sha1
  child: no
  SK_ei: 398df3fdff8a0268
  SK_er: c83f263206530019
  SK_ai: 23fdb104dfb02210-0ed67cccd207b7e4-68861297
  SK_ar: 22c5b49efa603fd3-a33045ca03b3b892-38c901c3
  PPK: no
  message-id sent/recv: 0/2
  lifetime/rekey: 3600/2734
  DPD sent/recv: 00000000/00000000
  peer-id: 172.23.11.45

FW-HQ #

  • FW-Branch.
FW-Branch # diagnose vpn ike gateway list name VPN-FW

vd: root/0
name: VPN-FW
version: 2
interface: port1 3
addr: 172.23.11.45:500 -> 172.23.0.148:500
tun_id: 172.23.0.148/::172.23.0.148
remote_location: 0.0.0.0
network-id: 0
created: 182s ago
peer-id: 172.23.0.148
peer-id-auth: no
PPK: no
IKE SA: created 1/2  established 1/2  time 10/15/20 ms
IPsec SA: created 1/2  established 1/2  time 0/10/20 ms

  id/spi: 35 bc2e6bf6ce80f121/a585c40fec5fd4d1
  direction: initiator
  status: established 182-182s ago = 20ms
  proposal: des-sha1
  child: no
  SK_ei: 398df3fdff8a0268
  SK_er: c83f263206530019
  SK_ai: 23fdb104dfb02210-0ed67cccd207b7e4-68861297
  SK_ar: 22c5b49efa603fd3-a33045ca03b3b892-38c901c3
  PPK: no
  message-id sent/recv: 2/0
  lifetime/rekey: 3600/3117
  DPD sent/recv: 00000000/00000000
  peer-id: 172.23.0.148

FW-Branch # 

9. Verify VPN IPSec Phase 2 Success Established.

  • FW-HQ :
FW-HQ # diagnose vpn tunnel list name VPN-FW
list ipsec tunnel by names in vd 0
------------------------------------------------------
name=VPN-FW ver=2 serial=5 172.23.0.148:0->172.23.11.45:0 tun_id=172.23.11.45 tun_id6=::172.23.11.45 dst_mtu=1500 dpd-link=on weight=1
bound_if=3 lgwy=static/1 tun=intf mode=auto/1 encap=none/552 options[0228]=npu frag-rfc  run_state=0 role=primary accept_traffic=1 overlay_id=0

proxyid_num=1 child_num=0 refcnt=5 ilast=0 olast=0 ad=/0
stat: rxp=705 txp=705 rxb=59220 txb=59220
dpd: mode=on-demand on=1 idle=20000ms retry=3 count=0 seqno=0
natt: mode=none draft=0 interval=0 remote_port=0
proxyid=VPN-FW proto=0 sa=1 ref=3 serial=1
  src: 0:192.168.1.0-192.168.1.255:0
  dst: 0:192.168.2.0-192.168.2.255:0
  SA:  ref=3 options=30202 type=00 soft=0 mtu=1446 expire=2616/0B replaywin=2048
       seqno=2c2 esn=0 replaywin_lastseq=000002c2 qat=0 rekey=0 hash_search_len=1
  life: type=01 bytes=0/0 timeout=3327/3600
  dec: spi=4088d5c5 esp=des key=8 4b8b4a2660db8443
       ah=sha1 key=20 af1aa21774161b35b2eb65651803ce8d6589ad99
  enc: spi=0bfe2f43 esp=des key=8 6d33c4c7ed4c0930
       ah=sha1 key=20 c813c9c2e55d0c5651f7c5deb753860ef977fb92
  dec:pkts/bytes=1410/118440, enc:pkts/bytes=1410/155100
  npu_flag=00 npu_rgwy=172.23.11.45 npu_lgwy=172.23.0.148 npu_selid=2 dec_npuid=0 enc_npuid=0
run_tally=0

FW-HQ # 

  • FW-Branch :
FW-Branch # diagnose vpn tunnel list name VPN-FW
list ipsec tunnel by names in vd 0
------------------------------------------------------
name=VPN-FW ver=2 serial=3 172.23.11.45:0->172.23.0.148:0 tun_id=172.23.0.148 tun_id6=::172.23.0.148 dst_mtu=1500 dpd-link=on weight=1
bound_if=3 lgwy=static/1 tun=intf mode=auto/1 encap=none/552 options[0228]=npu frag-rfc  run_state=0 role=primary accept_traffic=1 overlay_id=0

proxyid_num=1 child_num=0 refcnt=5 ilast=0 olast=0 ad=/0
stat: rxp=793 txp=793 rxb=66612 txb=66612
dpd: mode=on-demand on=1 idle=20000ms retry=3 count=0 seqno=0
natt: mode=none draft=0 interval=0 remote_port=0
proxyid=VPN-FW proto=0 sa=1 ref=3 serial=1
  src: 0:192.168.2.0-192.168.2.255:0
  dst: 0:192.168.1.0-192.168.1.255:0
  SA:  ref=3 options=30202 type=00 soft=0 mtu=1446 expire=2499/0B replaywin=2048
       seqno=31a esn=0 replaywin_lastseq=0000031a qat=0 rekey=0 hash_search_len=1
  life: type=01 bytes=0/0 timeout=3298/3600
  dec: spi=0bfe2f43 esp=des key=8 6d33c4c7ed4c0930
       ah=sha1 key=20 c813c9c2e55d0c5651f7c5deb753860ef977fb92
  enc: spi=4088d5c5 esp=des key=8 4b8b4a2660db8443
       ah=sha1 key=20 af1aa21774161b35b2eb65651803ce8d6589ad99
  dec:pkts/bytes=1586/133224, enc:pkts/bytes=1586/174460
  npu_flag=00 npu_rgwy=172.23.0.148 npu_lgwy=172.23.11.45 npu_selid=2 dec_npuid=0 enc_npuid=0
run_tally=0

FW-Branch # 

10. Verify from User : 


11. Verify from Web-Server : 



12. Diagnose sniffer packet from FW-HQ : 


13. Diagnose sniffer packet from FW-Branch :