All Products
Search
Document Center

VPN Gateway:Memulai: Koneksi IPsec-VPN ke Transit Router

Last Updated:Apr 03, 2026

Panduan ini menjelaskan cara menyambungkan koneksi IPsec ke Transit Router untuk menghubungkan IDC lokal Anda ke VPC.

Skenario

Sebuah perusahaan memiliki VPC di wilayah China (Hangzhou) dan perlu menghubungkan IDC lokalnya ke VPC tersebut menggunakan koneksi IPsec-VPN. Alih-alih terhubung langsung ke gateway VPN, skenario ini menyambungkan koneksi IPsec ke Transit Router. Konfigurasi ini memungkinkan Anda menggunakan Cloud Enterprise Network (CEN) untuk mengelola jaringan cloud secara terpusat dan dengan mudah melakukan penskalaan guna mencakup lebih banyak VPC atau membuat koneksi lintas wilayah.

Dalam skenario ini, IDC lokal memiliki satu alamat IP publik dan membuat koneksi IPsec dual-tunnel dengan Alibaba Cloud:

Perencanaan resource

  • Resource cloud: VPC dengan blok CIDR 10.0.0.0/16 di wilayah China (Hangzhou).

    • vSwitch 1: Di zona ketersediaan H, dengan blok CIDR 10.0.0.0/24.

    • vSwitch 2: Di zona ketersediaan J, dengan blok CIDR 10.0.2.0/24.

    • Instance ECS: Dideploy di vSwitch, dengan alamat IP 10.0.0.1 (digunakan untuk menguji konektivitas).

    • Instans CEN: Digunakan untuk menghost Transit Router.

    • Transit Router: Dibuat di wilayah China (Hangzhou), dengan kolam alamat 10.10.10.0/24. Blok CIDR ini tidak boleh tumpang tindih dengan blok CIDR VPC atau IDC lokal.

  • Resource lokal: IDC dengan blok CIDR 172.16.0.0/16.

    • Perangkat strongSwan: Alamat IP pribadi 172.16.0.1.

    • Alamat IP publik: XX.XX.3.3.

  • Algoritma enkripsi: IKEv2 / AES-128-CBC / SHA-1 / DH Group 2. Kedua ujung tunnel harus menggunakan parameter enkripsi yang sama.

  • Metode perutean: Skenario ini menggunakan mode perutean berdasarkan tujuan. Anda menambahkan route statis ke tabel rute Transit Router untuk mengarahkan traffic yang ditujukan ke IDC lokal ke koneksi VPN.

Prasyarat

  • Blok CIDR VPC tidak tumpang tindih dengan blok CIDR IDC lokal.

  • Anda telah membuat VPC dengan dua vSwitch di zona ketersediaan berbeda. VPC tersebut berisi setidaknya satu instance ECS untuk menguji konektivitas.

  • Anda telah membuat instans CEN dan Transit Router, serta menyelesaikan hal-hal berikut:

  • Anda telah mendeploy server Linux di IDC lokal Anda. Panduan ini menggunakan CentOS Stream 9 sebagai contoh. Server tersebut memiliki satu alamat IP publik tempat Anda akan menginstal strongSwan untuk bertindak sebagai gateway lokal.

Langkah 1: Buat customer gateway

Customer gateway mencatat alamat IP publik perangkat gateway lokal Anda.

  1. Buka halaman VPN Gateways. Di panel navigasi sebelah kiri, klik Customer Gateways.

  2. Di bilah navigasi atas, pilih wilayah China (Hangzhou).

  3. Klik Create Customer Gateway dan konfigurasikan parameter berikut:

    Name: Masukkan nama untuk customer gateway, misalnya cgw-idc.

    IP Address: Masukkan alamat IP publik IDC lokal Anda, misalnya XX.XX.3.3.

Langkah 2: Buat koneksi IPsec

  1. Di panel navigasi sebelah kiri konsol VPN Gateway, klik IPsec Connections.

  2. Klik Bind CEN dan konfigurasikan parameter dasar untuk koneksi IPsec:

    • Name: Masukkan nama untuk resource, misalnya ipsec-demo.

    • Region: Pilih China (Hangzhou).

    • Gateway Type: Pilih Public.

    • Bind CEN: Pilih Same Account.

    • Associate Resource: Pilih Transit Router.

    • CEN Instance ID: Pilih instans CEN yang telah Anda buat sebagai prasyarat.

    • Routing Mode: Pilih Destination Routing Mode. Nanti Anda akan menambahkan route statis ke tabel rute Transit Router untuk mengontrol penerusan traffic.

    • Effective Immediately: Pilih Yes. Start negotiations after the configuration is completed.. Ini memungkinkan Alibaba Cloud memulai negosiasi dengan gateway peer.

    • Advanced Configuration (including route table association and route forwarding): Pilih semua opsi, termasuk Automatic Advertising, Automatically Associate with Default Route Table of Transit Router, dan Automatically Advertise System Routes to Default Route Table of Transit Router.

  3. Konfigurasikan parameter tunnel:

    • Tunnel 1 (Primary):

      • Customer Gateways: Pilih customer gateway yang telah Anda buat di Langkah 1.

      • Pre-Shared Key: Kunci yang digunakan untuk otentikasi timbal balik selama pembentukan tunnel. Kunci ini harus identik di gateway cloud dan gateway lokal.

    • Tunnel 1 (Backup):

      • Customer Gateways: Pilih customer gateway yang sama seperti Tunnel 1 karena dalam skenario ini IDC lokal hanya memiliki satu alamat IP publik.

      • Pre-Shared Key: Untuk panduan ini, gunakan kunci yang sama seperti Tunnel 1.

        Anda dapat mempertahankan nilai default untuk parameter lain di bagian Encryption Configuration. Untuk menentukan algoritma secara manual, buka bagian Encryption Configuration dan lakukan perubahan Anda.
  4. Klik OK. Saat diminta untuk memublikasikan rute setelah resource dibuat, klik Cancel untuk saat ini.

    Koneksi IPsec memerlukan waktu sekitar lima menit untuk diinisialisasi. Selama periode ini, statusnya adalah Preparing dan Anda tidak dapat mengonfigurasi rute. Catat alamat IP publik di sisi cloud, lalu lanjutkan ke Langkah 3 untuk mengonfigurasi rute.
  5. Catat alamat IP publik kedua tunnel di sisi cloud. Anda akan membutuhkannya untuk mengonfigurasi strongSwan.

    Kembali ke daftar IPsec Connections dan temukan koneksi yang baru saja Anda buat. Di kolom Gateway IP Address, catat nilai untuk IPsec Address 1: dan IPsec Address 2:. Panduan ini menggunakan XX.XX.1.1 dan XX.XX.2.2 sebagai contoh.

Langkah 3: Tambahkan route statis ke TR

Karena Anda menggunakan mode perutean berdasarkan tujuan, Anda harus menambahkan rute secara manual ke blok CIDR IDC lokal di tabel rute TR.

  1. Buka Cloud Enterprise Network Console dan klik ID instans CEN Anda.

  2. Di tab Transit Router, temukan Transit Router di wilayah China (Hangzhou) dan klik ID-nya untuk membuka halaman detail.

  3. Beralih ke tab Route Table. Tabel rute sistem ditampilkan secara default.

  4. Di tab Route Entry tabel rute sistem, klik Add Route Entry.

    • Destination CIDR: Masukkan blok CIDR IDC lokal 172.16.0.0/16.

    • Blackhole Route: Pilih No.

    • Next Hop: Pilih koneksi instans jaringan yang sesuai dengan koneksi VPN Anda. Koneksi ini dibuat secara otomatis saat koneksi IPsec disambungkan ke Transit Router.

  5. Klik OK.

    Setelah rute ditambahkan, route statis muncul di tabel rute dengan tujuan 172.16.0.0/16 dan lompatan berikutnya diatur ke koneksi VPN.

    Rute ini mengarahkan traffic yang ditujukan ke IDC lokal ke tunnel IPsec. Rute di sisi VPC dikonfigurasi secara otomatis melalui fitur route propagation TR dan tidak memerlukan konfigurasi manual.

Langkah 4: Konfigurasikan perangkat strongSwan

Penting

Informasi berikut mengenai produk pihak ketiga hanya untuk referensi. Alibaba Cloud tidak memberikan jaminan, baik tersurat maupun tersirat, mengenai kinerja dan keandalan produk pihak ketiga, atau mengenai dampak potensial dari operasi yang dijelaskan.

Langkah-langkah berikut menjelaskan cara mengonfigurasi strongSwan pada sistem operasi CentOS Stream 9 64-bit. Untuk sistem operasi lain, lihat dokumentasi resmi strongSwan.

1. Konfigurasikan aturan firewall

Di perangkat strongSwan, izinkan traffic pada protokol ESP (nomor protokol IP 50), port UDP 500, dan port UDP 4500 dari dua alamat IPsec Alibaba Cloud.

Perintah berikut untuk iptables. Sesuaikan berdasarkan tool firewall yang Anda gunakan.

iptables -I INPUT -s XX.XX.1.1,XX.XX.2.2 -p esp -j ACCEPT  
iptables -I INPUT -s XX.XX.1.1,XX.XX.2.2 -p udp --dport 500 -j ACCEPT
iptables -I INPUT -s XX.XX.1.1,XX.XX.2.2 -p udp --dport 4500 -j ACCEPT

2. Aktifkan IP forwarding

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sudo sysctl -p

3. Instal strongSwan

sudo dnf install epel-release -y
sudo dnf install strongswan -y

4. Buat antarmuka XFRM dan skrip updown

Karena pengaturan dual-tunnel memerlukan pembedaan traffic untuk setiap tunnel, Anda perlu membuat antarmuka virtual XFRM untuk menghindari konflik kebijakan perutean kernel.

# Buat antarmuka tunnel XFRM, satu untuk setiap tunnel.
sudo ip link add xfrm1 type xfrm dev eth0 if_id 1
sudo ip link add xfrm2 type xfrm dev eth0 if_id 2
sudo ip link set xfrm1 up
sudo ip link set xfrm2 up

# Tambahkan rute ECMP untuk menyeimbangkan beban traffic ke blok CIDR cloud di kedua tunnel.
sudo ip route add 10.0.0.0/16 nexthop dev xfrm1 weight 1 nexthop dev xfrm2 weight 1

Buat skrip updown untuk secara otomatis mematikan antarmuka XFRM yang sesuai saat tunnel terganggu. Ini memungkinkan kernel Linux mengkonvergen traffic ke tunnel aktif.

sudo tee /usr/local/bin/xfrm-updown.sh > /dev/null << 'EOF'
#!/bin/bash
XFRM_IF="xfrm${PLUTO_IF_ID_IN}"
case "${PLUTO_VERB}" in
    up-client)
        ip link set "${XFRM_IF}" up 2>/dev/null
        ;;
    down-client)
        ip link set "${XFRM_IF}" down 2>/dev/null
        ;;
esac
EOF
sudo chmod +x /usr/local/bin/xfrm-updown.sh
Untuk membuat perubahan ini tetap berlaku setelah reboot, tambahkan perintah antarmuka dan rute XFRM ke skrip startup.

5. Konfigurasikan strongSwan

  1. Buat cadangan file konfigurasi asli:

    mv /etc/strongswan/swanctl/swanctl.conf /etc/strongswan/swanctl/swanctl.conf.bak
  2. Buat file konfigurasi baru:

    vi /etc/strongswan/swanctl/swanctl.conf
  3. Tambahkan dan simpan konfigurasi berikut. Ganti alamat IP dan kunci contoh dengan nilai aktual Anda.

    # Konfigurasi IPsec-VPN dual-tunnel strongSwan
    # Untuk: Koneksi IPsec Alibaba Cloud yang disambungkan ke Transit Router + satu alamat IP publik lokal + mode perutean berdasarkan tujuan
    #
    # Ubah hanya parameter yang ditandai dengan "Please modify". Pertahankan nilai default untuk semua parameter lainnya.
    # Konfigurasi ini menggunakan antarmuka XFRM (if_id) untuk membedakan traffic setiap tunnel dan ECMP untuk load balancing.
    
    connections {
    
       # === Tunnel 1 ===
       tunnel1 {
          version = 2
          dpd_delay = 10s
          rekey_time = 86400s
          proposals = aes128-sha1-modp1024
    
          local_addrs  = 172.16.0.1               # Alamat IP pribadi antarmuka jaringan server strongSwan (Please modify: Gunakan alamat IP pribadi di lingkungan NAT; gunakan alamat IP publik jika langsung ditetapkan ke NIC)
          local {
             auth = psk
             id = XX.XX.3.3                         # Alamat IP publik gateway lokal (Please modify)
          }
    
          remote_addrs = XX.XX.1.1                  # Alamat IP publik Tunnel 1 di Alibaba Cloud (Please modify)
          remote {
             auth = psk
             id = XX.XX.1.1                         # Alamat IP publik Tunnel 1 di Alibaba Cloud, sama dengan remote_addrs di atas (Please modify)
          }
    
          children {
             tunnel1-child {
                local_ts  = 0.0.0.0/0
                remote_ts = 0.0.0.0/0
                mode = tunnel
                esp_proposals = aes128-sha1-modp1024
                dpd_action = restart
                start_action = start
                close_action = start
                updown = /usr/local/bin/xfrm-updown.sh
                if_id_in = 1                        # Sesuai dengan antarmuka xfrm1
                if_id_out = 1
             }
          }
    
          if_id_in = 1
          if_id_out = 1
       }
    
       # === Tunnel 2 ===
       tunnel2 {
          version = 2
          dpd_delay = 10s
          rekey_time = 86400s
          proposals = aes128-sha1-modp1024
    
          local_addrs  = 172.16.0.1               # Alamat IP pribadi antarmuka jaringan server strongSwan, sama seperti Tunnel 1 (Please modify)
          local {
             auth = psk
             id = XX.XX.3.3                         # Alamat IP publik gateway lokal, sama seperti Tunnel 1 (Please modify)
          }
    
          remote_addrs = XX.XX.2.2                  # Alamat IP publik Tunnel 2 di Alibaba Cloud (Please modify)
          remote {
             auth = psk
             id = XX.XX.2.2                         # Alamat IP publik Tunnel 2 di Alibaba Cloud, sama dengan remote_addrs di atas (Please modify)
          }
    
          children {
             tunnel2-child {
                local_ts  = 0.0.0.0/0
                remote_ts = 0.0.0.0/0
                mode = tunnel
                esp_proposals = aes128-sha1-modp1024
                dpd_action = restart
                start_action = start
                close_action = start
                updown = /usr/local/bin/xfrm-updown.sh
                if_id_in = 2                        # Sesuai dengan antarmuka xfrm2
                if_id_out = 2
             }
          }
    
          if_id_in = 2
          if_id_out = 2
       }
    }
    
    secrets {
       ike-tunnel1 {
          id-1 = XX.XX.3.3                          # Alamat IP publik gateway lokal (Please modify)
          id-2 = XX.XX.1.1                          # Alamat IP publik Tunnel 1 di Alibaba Cloud (Please modify)
          secret = "your-psk-here"                  # Kunci pra-bersama untuk Tunnel 1, harus sesuai dengan kunci di Alibaba Cloud (Please modify)
       }
       ike-tunnel2 {
          id-1 = XX.XX.3.3                          # Alamat IP publik gateway lokal (Please modify)
          id-2 = XX.XX.2.2                          # Alamat IP publik Tunnel 2 di Alibaba Cloud (Please modify)
          secret = "your-psk-here"                  # Kunci pra-bersama untuk Tunnel 2, harus sesuai dengan kunci di Alibaba Cloud (Please modify)
       }
    }
    Penting
    • Parameter if_id_in dan if_id_out mengikat setiap tunnel ke antarmuka XFRM-nya masing-masing (xfrm1 atau xfrm2), sehingga mengisolasi traffic untuk setiap tunnel.

    • Selector traffic local_ts dan remote_ts diatur ke 0.0.0.0/0 karena tabel rute antarmuka XFRM yang menentukan traffic mana yang masuk ke tunnel. Dalam mode perutean berdasarkan tujuan, selector traffic di sisi cloud juga diatur ke 0.0.0.0/0.

6. Jalankan strongSwan dan periksa status

sudo systemctl enable strongswan
sudo systemctl restart strongswan
sudo swanctl --load-all
sudo swanctl --list-sas

Jika status kedua tunnel adalah ESTABLISHED dan status CHILD_SA adalah INSTALLED, koneksi IPsec-VPN antara perangkat strongSwan Anda dan Alibaba Cloud telah terbentuk.

# Contoh output (beberapa detail dihilangkan)
tunnel1: #1, ESTABLISHED, IKEv2
  tunnel1-child: #1, reqid 1, INSTALLED, TUNNEL-in-UDP, ESP:AES_CBC-128/HMAC_SHA1_96
tunnel2: #2, ESTABLISHED, IKEv2
  tunnel2-child: #2, reqid 2, INSTALLED, TUNNEL-in-UDP, ESP:AES_CBC-128/HMAC_SHA1_96

Uji konfigurasi

Verifikasi konektivitas

  1. Pertama, pastikan bahwa aturan security group untuk instance ECS mengizinkan traffic ICMP. Kemudian, login ke perangkat strongSwan dan jalankan perintah berikut untuk ping instance ECS:

    ping 10.0.0.1

    Jika Anda menerima balasan, VPC dan IDC lokal telah terhubung.

  2. Pertama, pastikan bahwa perangkat strongSwan atau server lain di jaringan internal mengizinkan traffic ICMP. Kemudian, login ke instance ECS di VPC (10.0.0.1) dan ping alamat IP pribadi perangkat strongSwan:

    ping 172.16.0.1

    Jika Anda menerima balasan, koneksi balik juga berfungsi.

Verifikasi ketersediaan tinggi

Koneksi IPsec yang disambungkan ke Transit Router menggunakan perutean Equal-Cost Multi-Path (ECMP) secara default untuk menyeimbangkan beban traffic di kedua tunnel. Saat salah satu tunnel terganggu, traffic secara otomatis dialihkan ke tunnel lain tanpa intervensi manual.

  1. Dari instance ECS, jalankan ping berkelanjutan ke server di IDC lokal:

    ping 172.16.0.1 -c 10000
  2. Ganggu salah satu tunnel. Misalnya, di konsol Alibaba Cloud, ubah kunci pra-bersama Tunnel 1 agar tidak cocok dan mengganggu tunnel tersebut.

  3. Amati hasil ping. Setelah gangguan singkat, koneksi akan pulih karena traffic dialihkan ke Tunnel 2.

  4. Pulihkan tunnel tersebut. Ubah kembali kunci pra-bersama Tunnel 1 ke nilai yang benar. Setelah tunnel dipulihkan, traffic akan diseimbangkan kembali di kedua tunnel.

Pemecahan Masalah

Bagian ini menjelaskan masalah umum dan solusinya.

Gejala

Kemungkinan penyebab

Solusi

Negosiasi tunnel gagal di konsol.

Masalah konektivitas jaringan

Periksa apakah perangkat strongSwan dapat ping ke alamat IPsec Alibaba Cloud. Verifikasi bahwa firewall di IDC lokal mengizinkan traffic pada port UDP 500 dan 4500.

Ketidaksesuaian kunci pra-bersama

Verifikasi bahwa kunci pra-bersama di kedua sisi identik, termasuk huruf besar/kecil dan karakter khusus.

Ketidaksesuaian parameter IKE

Periksa apakah versi IKE, algoritma enkripsi, algoritma autentikasi, dan grup DH cocok di kedua sisi.

Tunnel terbentuk, tetapi ping gagal.

Rute belum dikonfigurasi.

Verifikasi bahwa tabel rute VPC memiliki rute ke CIDR lokal dengan TR sebagai next hop. Juga verifikasi bahwa tabel rute TR memiliki route statis ke CIDR lokal dengan koneksi VPN sebagai next hop. Dalam mode perutean berdasarkan tujuan, rute TR harus ditambahkan secara manual.

Batasan security group

Verifikasi bahwa security group instance ECS mengizinkan traffic ICMP masuk dari blok CIDR IDC lokal (172.16.0.0/16).

Batasan firewall lokal

Periksa apakah firewall di IDC lokal mengizinkan traffic dari blok CIDR VPC (10.0.0.0/16).

Rute tidak ada di sisi strongSwan

Verifikasi bahwa IP forwarding diaktifkan di perangkat strongSwan. Pastikan server lain di dalam IDC lokal memiliki rute ke blok CIDR VPC dan next hop-nya untuk blok CIDR VPC adalah perangkat strongSwan.