Membuat koneksi VPN Klasik ke situs jarak jauh

Anda dapat mengatur koneksi tunnel VPN Klasik antara situs lokal dan Google Cloud untuk mengubah alamat IP sumber dan tujuan menjadi eksternal (alamat IP non-RFC 1918). Sebagai contoh, Anda dapat mengatur koneksi VPN Klasik ke situs remote (jarak jauh) sehingga rentang alamat IP lokal tidak berkonflik dengan alamat IP VM Google Cloud.

Dalam tutorial ini, Anda akan menggunakan sebuah project Google Cloud, Google Cloud Console, instance mesin virtual (VM), VPN Klasik, dan beberapa perintah Linux. Untuk menguji koneksi, buat instance VM baru untuk mengirim dan menerima traffic antara VM dan perangkat peer jarak jauh.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  6. Aktifkan API Compute Engine.

    Mengaktifkan API

  7. Pada workstation Anda, instal alat command line gcloud.
  8. Setel alat command line gcloud untuk menggunakan project Anda. Dalam perintah berikut, ganti PROJECT_ID dengan project ID Anda:
    gcloud config set project PROJECT_ID
  9. Pastikan subnet lokal telah terhubung ke gateway VPN lokal Anda.
  10. Ikuti instruksi dalam Mengonfigurasi peer VPN gateway untuk mengatur peer VPN gateway antara Google Cloud dan gateway VPN lokal Anda.

Mereservasi alamat IP eksternal statis baru

Di Compute Engine, setiap instance VM dapat memiliki antarmuka jaringan lebih dari satu. Setiap antarmuka dapat memiliki alamat IP internal dan eksternal. Aturan penerusan dapat memiliki alamat IP eksternal untuk load balancing eksternal, ataupun alamat IP internal untuk load balancing internal. Untuk mempelajari alamat IP statis lebih lanjut, baca Alamat IP eksternal.

Alamat IP eksternal statis adalah alamat IP yang "direservasi" untuk resource, sampai Anda memutuskan untuk merilisnya. Jika pelanggan Anda bergantung pada sebuah alamat IP untuk mengakses layanan, maka Anda dapat merservasi alamat IP tersebut sehingga hanya project Anda yang dapat menggunakannya. Anda juga dapat mempromosikan alamat IP eksternal sementara menjadi alamat IP eksternal statis.

Anda dapat mereservasi dua jenis alamat IP eksternal:

  • Alamat IP regional yang digunakan oleh instance VM dengan satu antarmuka jaringan atau lebih, atau yang digunakan oleh load balancer regional
  • Alamat IP global yang digunakan untuk load balancer global

Untuk mengetahui daftar load balancer regional dan global, baca ringkasan load balancer Google Cloud.

Anda dapat mereservasi alamat IP eksternal statis menggunakan Google Cloud CLI atau melalui API. Setelah merservasi alamat IP, masukkan alamat IP tersebut ke sebuah instance yang baru saat Anda membuatnya, atau masukkan alamat IP ke instance yang sudah ada.

Konsol

  1. Buka halaman Reserve a static address.

    Buka Cadangkan alamat statis

  2. Beri nama untuk alamat IP baru.

  3. Tentukan apakah alamat tersebut IPv4 atau IPv6. Alamat IPv6 bersifat global dan hanya dapat digunakan dengan load balancer.

  4. Tentukan apakah alamat IP ini Regional atau Global. Jika Anda mereservasi alamat IP statis untuk sebuah instance atau load balancer regional, pilih Regional. Jika Anda merservasi alamat IP statis untuk load balancer global, pilih Global.

  5. Jika Anda memilih alamat IP regional, tentukan region tempat pembuatan alamat IP tersebut.

  6. Opsional: Pilih sebuah resource untuk dilampirkan ke alamat IP.

  7. Klik Reserve untuk mereservasi alamat IP.

gcloud

Untuk mereservasi alamat IP eksternal statis menggunakan gcloud compute, gunakan perintah compute addresses create.

Untuk merservasi alamat IP global, gunakan kolom --global dan --ip-version. Untuk kolom --ip-version, pilih antara IPV4 atau IPV6. Alamat IPv6 bersifat global dan hanya dapat digunakan dengan load balancer global.

Ganti ADDRESS_NAME dengan nama untuk alamat ini.

gcloud compute addresses create ADDRESS_NAME \
    --global \
    --ip-version [IPV4 | IPV6]

Untuk mereservasi alamat IP regional, gunakan kolom --region:

gcloud compute addresses create ADDRESS_NAME  \
    --region=REGION

Ganti kode berikut:

  • ADDRESS_NAME: nama untuk alamat IP ini.
  • REGION: region untuk mereservasi alamat IP. Region tersebut harus berupa region yang sama dengan resource yang akan menggunakan alamat IP ini. Semua alamat IP regional adalah IPv4.

Gunakan perintah compute addresses describe untuk melihat hasilnya:

gcloud compute addresses describe ADDRESS_NAME

API

Untuk membuat alamat IPv4 regional, panggil metode addresses.insert regional:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

Isi permintaan Anda harus berisi informasi berikut:

{
  "name": "ADDRESS_NAME"
}

Ganti kode berikut:

  • ADDRESS_NAME: nama alamat IP
  • REGION: nama region untuk permintaan ini
  • PROJECT_ID: project ID untuk permintaan ini

Untuk alamat IPv4 statis global, panggil metode globalAddresses.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses

Isi permintaan Anda harus berisi informasi berikut:

{
  "name": "ADDRESS_NAME"
}

Untuk alamat IPv6 statis global, panggil metode globalAddresses.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses

Isi permintaan Anda harus berisi informasi berikut:

{
  "name": "ADDRESS_NAME",
  "ipVersion": "IPV6"
}

Gunakan metode addresses.get untuk melihat hasilnya.

Terraform

Anda dapat menggunakan modul Terraform untuk membuat alamat IP eksternal.

Pada contoh berikut, ada beberapa nilai untuk argumen Terraform yang dapat Anda ubah. Contoh di bawah ini membuat tiga alamat IPv4 eksternal regional.

module "address" {
  source       = "terraform-google-modules/address/google"
  version      = "~> 3.1"
  project_id   = var.project_id # Replace this with your service project ID in quotes
  region       = "europe-west1"
  address_type = "EXTERNAL"
  names = [
    "regional-external-ip-address-1",
    "regional-external-ip-address-2",
    "regional-external-ip-address-3"
  ]
}

Contoh di bawah ini membuat alamat IPv6 eksternal global:

resource "google_compute_global_address" "default" {
  project      = var.project_id # Replace this with your service project ID in quotes
  name         = "ipv6-address"
  address_type = "EXTERNAL"
  ip_version   = "IPV6"
}

Mengaktifkan penerusan IP

Anda dapat mengaktifkan penerusan IP saat membuat VM, atau dengan mengupdate properti instance canIpForward pada VM yang sudah ada. Penerusan IP aktif pada tingkat VM dan berlaku untuk semua antarmuka yang ada di VM.

Mengaktifkan penerusan IP saat Anda membuat VM

Instruksi berikut ini menunjukkan cara mengaktifkan penerusan IP saat Anda membuat VM. Jika Anda ingin mengaktifkan penerusan IP pada VM yang sudah ada, update properti instance canIpForward.

Konsol

  1. Buka halaman VM instances.
    Buka VM instances
  2. Klik Create instance.
  3. Pada Boot disk, pastikan Anda telah memilih sebuah image Linux; contohnya, GNU/Linux Debian.
  4. Klik Networking, Disks, Security, Management, Sole-tenancy
  5. Klik Networking.
  6. Untuk IP forwarding, pilih Enable.
  7. Tentukan parameter instance lainnya.
  8. Klik Create.

gcloud

Ketika Anda membuat instance menggunakan gcloud, tambahkan flag --can-ip-forward ke dalam perintah Anda:

gcloud compute instances create ... --can-ip-forward

API

Ketika Anda membuat instance, gunakan kolom canIpForward untuk mengaktifkan penerusan IP.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "canIpForward": true,
  ...other fields
}

Ganti kode berikut:

  • PROJECT_ID: ID dari project tempat instance Anda dibuat.
  • ZONE: zona Google Cloud tempat instance dibuat.

Untuk informasi selengkapnya, rujuk ke metode instances.insert.

Terraform

Anda dapat menggunakan resource Terraform untuk membuat instance VM dengan penerusan IP yang diaktifkan.

Dalam contoh ini, argumen Terraform memiliki nilai yang telah ditetapkan yang dapat Anda ubah.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace this with your project ID in quotes
  zone         = "southamerica-east1-b"
  name         = "instance-next-hop"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    network = "default"
  }
  can_ip_forward = true
}

Membuat rute untuk traffic masuk

Ikuti langkah-langkah berikut untuk membuat rute statis baru. Sebelum melakukannya, pastikan Anda memahami hal-hal berikut:

  • Rute statis kustom tidak boleh memiliki rentang tujuan yang sama dengan, atau lebih "spesifik" daripada rentang tujuan yang digunakan oleh rute subnet lainnya di jaringan VPC Anda.

    • Saat menggunakan Peering Jaringan VPC untuk menghubungkan dua jaringan VPC, rute statis kustom di satu jaringan tidak boleh memiliki tujuan yang sama atau lebih spesifik daripada rute subnet di kedua jaringan. Google Cloud menolak rute statis kustom yang akan berkonflik dengan rute subnet dengan sebab tersebut.
  • Untuk menghindari konflik saat menggunakan jaringan VPC mode otomatis, jangan membuat rute statis yang tujuannya "berada" dalam 10.128.0.0/9. Baca rentang alamat IP yang direservasi untuk jaringan mode otomatis untuk mengetahui detailnya.

  • Tujuan untuk rute statis kustom tidak boleh tumpang-tindih dengan rentang internal yang teralokasikan.

  • Pastikan Anda sudah memahami instance sebagai next hop sebelum membuat rute statis kustom yang menggunakan VM sebagai next hop-nya. Jika Anda memilih sebuah next hop instance pada pengaturan rute, Google Cloud hanya akan mengecek keberadaan VM saat Anda membuat rute.

  • Jika Anda membuat rute yang memiliki sebuah tag jaringan, maka hanya VM dengan tag tersebut yang akan menerima rute. Walaupun demikian, VM yang memiliki tag tetap akan menerima semua rute yang tidak memiliki tag jaringan.

Konsol

  1. Buka halaman Route pada Konsol Google Cloud.
    Buka Routes
  2. Klik Create route.
  3. Masukkan Name (nama) dan Description (deskripsi) untuk rute.
  4. Pilih Network (jaringan) yang sudah ada di mana rute akan diterapkan.
  5. Masukkan Destination IP range (rentang IP tujuan) untuk menentukan tujuan rute.
  6. Tentukan Priority (prioritas) untuk rute. Prioritas hanya berguna untuk mengatur urutan perutean ketika ada beberapa rute yang memiliki tujuan sama. Lihat parameter rute statis untuk detail selengkapnya.
  7. Agar rute hanya berlaku untuk instance yang memiliki tag jaringan yang sama, masukkan tag tersebut di kolom Instance tag. Agar rute berlaku untuk semua instance dalam jaringan, atau jika Anda memilih load balancer TCP/UDP internal sebagai next hop rute, kosongkan kolom tersebut. Tag jaringan tidak berlaku untuk rute yang next hop-nya adalah load balancer TCP/UDP internal.
  8. Pilih Next hop untuk rute:

    • Specify an instance dapat digunakan untuk memilih instance berdasarkan nama. Traffic akan dirutekan ke instance tersebut (atau instance pengganti dengan nama yang sama dan di zona yang sama) meskipun alamat IP-nya telah berubah.
    • Specify IP address dapat digunakan untuk memasukkan alamat IP instance yang sudah ada di jaringan VPC. Lihat next hop rute statis untuk mengetahui batasan-batasan alamat IP next hop yang valid.

    Untuk mengetahui informasi selengkapnya tentang berbagai jenis next hop, lihat Next hop rute statis.

  9. Klik Create.

gcloud

Buat rute statis kustom baru:

gcloud compute routes create ROUTE_NAME \
    --destination-range=DESTINATION_RANGE \
    --network=NETWORK \
    NEXT_HOP_SPECIFICATION

Ganti placeholder berikut:

  • ROUTE_NAME adalah nama rute.
  • DESTINATION_RANGE adalah alamat IP tujuan di mana rute ini akan diterapkan. Tujuan paling luas adalah 0.0.0.0/0.
  • NETWORK adalah nama jaringan VPC yang akan berisi rute.
  • NEXT_HOP_SPECIFICATION adalah next hop untuk rute statis kustom. Anda harus menentukan hanya salah satu dari berikut ini sebagai next hop-nya. Untuk informasi selengkapnya tentang berbagai jenis next hop, lihat Next hop rute statis.
    • --next-hop-instance=INSTANCE_NAME dan --next-hop-instance-zone=ZONE: Gunakan next hop ini untuk mengarahkan traffic langsung ke instance VM yang sudah ada berdasarkan nama dan zona. Traffic dikirim ke alamat IP internal utama untuk antarmuka jaringan VM yang berada di jaringan yang sama dengan rute.
    • --next-hop-address=ADDRESS: Gunakan next hop ini untuk mengarahkan traffic ke alamat IP instance VM yang sudah ada.

Agar rute statis kustom hanya berlaku untuk VM tertentu berdasarkan tag jaringan, tambahkan flag --tags dan tentukan satu tag jaringan atau lebih. Untuk informasi selengkapnya tentang bagaimana tag jaringan dan rute statis kustom saling bekerja sama, lihat Rute yang berlaku. Anda dapat memasang tag ke rute statis kustom manapun.

Baca dokumentasi SDK untuk informasi tambahan tentang sintaksis gcloud.

API

Buat rute statis kustom baru.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes
{
  "destRange": "DESTINATION_RANGE",
  "name": "ROUTE_NAME",
  "network": "NETWORK_NAME",
  "priority": PRIORITY,
  "NEXT_HOP_SPECIFICATION": VALUE
}

Ganti placeholder berikut:

  • PROJECT_ID adalah ID dari project tempat rute Anda dibuat.
  • DESTINATION_RANGE adalah alamat IP tujuan di mana rute ini akan diterapkan. Tujuan paling luas adalah 0.0.0.0/0.
  • ROUTE_NAME adalah nama untuk rute.
  • NETWORK_NAME adalah nama jaringan VPC yang akan berisi rute.
  • VALUE pada NEXT_HOP_SPECIFICATION adalah next hop untuk rute statis kustom. Untuk NEXT_HOP_SPECIFICATION, Anda harus menentukan hanya salah satu dari kolom next-hop berikut: nextHopIp,nextHopInstance. Untuk informasi selengkapnya tentang berbagai jenis next hop, lihat Next hop rute statis.

Untuk informasi selengkapnya, rujuk ke metode routes.insert.

Terraform

Anda dapat membuat rute statis menggunakan modul Terraform.

Rute statis ini membuat rute default ke internet.

module "google_compute_route" {
  source       = "terraform-google-modules/network/google//modules/routes"
  version      = "~> 9.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "default"

  routes = [
    {
      name              = "egress-internet"
      description       = "route through IGW to access internet"
      destination_range = "0.0.0.0/0"
      tags              = "egress-inet"
      next_hop_internet = "true"
    }
  ]
}

Membuat VPN Klasik menggunakan pemilihan rute statis

VPN setup wizard adalah satu-satunya opsi pada Konsol Google Cloud untuk membuat gateway VPN Klasik. Pada wizard tersebut, Anda akan melalui semua langkah konfigurasi yang diperlukan untuk membuat gateway VPN Klasik, tunnel, sesi BGP, dan resource gateway VPN eksternal. Meskipun demikian, Anda dapat menyelesaikan beberapa langkah tertentu nanti setelahnya, contohnya seperti mengonfigurasi sesi BGP.

Konsol

Mengonfigurasi gateway

  1. Di Konsol Google Cloud, buka halaman VPN.

    Buka VPN

  2. Jika Anda membuat gateway untuk pertama kalinya, klik Buat koneksi VPN.

  3. Pilih VPN setup wizard.

  4. Pilih tombol opsi Classic VPN.

  5. Klik Lanjutkan.

  6. Di halaman Create a VPN connection, tentukan setelan gateway berikut:

    • Name: Nama gateway VPN. Nama tersebut tidak akan dapat diubah lagi.
    • Description: Beri deskripsi (opsional).
    • Network: Pilih jaringan VPC yang akan dibuatkan tunnel dan gateway VPN.
    • Region: Tunnel dan gateway Cloud VPN adalah objek regional. Pilih region Google Cloud yang akan menjadi lokasi gateway. Instance dan resource lain di region yang berbeda dapat menggunakan tunnel tersebut untuk traffic keluar sesuai dengan urutan rute. Untuk mendapatkan performa terbaik, lokasikan gateway dan tunnel ke region yang sama dengan resource Google Cloud yang relevan.
    • IP address: Buat alamat IP eksternal regional atau pilih yang sudah ada.

Mengonfigurasi tunnel

  1. Untuk membuat tunnel baru, tentukan opsi berikut di bagian Tunnels:

    • Name: Nama tunnel VPN. Nama tersebut tidak akan dapat diubah lagi.
    • Description: Masukkan deskripsi (opsional).
    • Remote peer IP address: Masukkan alamat IP eksternal dari peer VPN gateway.
    • IKE version: Pilih versi IKE yang didukung oleh peer VPN gateway. IKEv2 lebih disarankan jika versi ini didukung oleh perangkat peer (yang akan disambungkan).
    • IKE pre-shared key: Masukkan pre-shared key (rahasia bersama) yang digunakan untuk autentikasi. Pre-shared key untuk tunnel Cloud VPN harus cocok dengan yang digunakan saat Anda mengonfigurasi tunnel pada peer VPN gateway Untuk membuat pre-shared key yang kuat secara kriptografis, ikuti petunjuk ini.
    • Pilih tunnel berbasis kebijakan
    • Pada Routing options, pilih Policy-based.
    • Di bagian Remote network IP ranges, berikan daftar rentang alamat IP yang dipisahkan spasi, yang digunakan oleh traffic lokal di pengaturan VPN lokal Anda.
    • Di kolom Local IP ranges, masukkan rentang alamat IP eksternal yang Anda buat sebelumnya dengan awalan subnet /32.
    • Klik Done.
    • Klik Create.

gcloud

Untuk membuat gateway Cloud VPN, lengkapi deretan perintah di bawah ini. Pada perintah, ganti nama-nama berikut dengan:

  • PROJECT_ID: ID project Anda
  • NETWORK: nama jaringan Google Cloud Anda.
  • REGION: region Google Cloud tempat Anda akan membuat gateway dan tunnel
  • GW_NAME: nama gateway
  • GW_IP_NAME: nama untuk alamat IP eksternal yang digunakan oleh gateway
  • Opsional: --target-vpn-gateway-region adalah region tempat gateway VPN Klasik akan beroperasi. Nilainya harus sama dengan --region. Jika tidak ditentukan, opsi ini akan otomatis disiapkan. Opsi ini mengganti nilai properti compute/region default setelah perintah ini dijalankan.

Mengonfigurasi resource gateway

  1. Buat objek gateway VPN target:

    gcloud compute target-vpn-gateways create GW_NAME \
       --network=NETWORK \
       --region=REGION \
       --project=PROJECT_ID
    
  2. Reservasi alamat IP (statis) eksternal regional:

    gcloud compute addresses create GW_IP_NAME \
       --region=REGION \
       --project=PROJECT_ID
    
  3. Catat alamat IP tersebut (sehingga Anda dapat menggunakannya saat mengatur peer VPN gateway):

    gcloud compute addresses describe GW_IP_NAME \
       --region=REGION \
       --project=PROJECT_ID \
       --format='flattened(address)'
    
  4. Buat tiga aturan penerusan, yang akan menginstruksikan Google Cloud untuk mengirim traffic ESP (IPsec), UDP 500, dan UDP 4500 ke gateway:

    gcloud compute forwarding-rules create fr-GW_NAME-esp \
       --load-balancing-scheme=EXTERNAL \
       --network-tier=PREMIUM \
       --ip-protocol=ESP \
       --address=GW_IP_NAME \
       --target-vpn-gateway=GW_NAME \
       --region=REGION \
       --project=PROJECT_ID
    
    gcloud compute forwarding-rules create fr-GW_NAME-udp500 \
       --load-balancing-scheme=EXTERNAL \
       --network-tier=PREMIUM \
       --ip-protocol=UDP \
       --ports=500 \
       --address=GW_IP_NAME \
       --target-vpn-gateway=GW_NAME \
       --region=REGION \
       --project=PROJECT_ID
    
    gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \
       --load-balancing-scheme=EXTERNAL \
       --network-tier=PREMIUM \
       --ip-protocol=UDP \
       --ports=4500 \
       --address=GW_IP_NAME \
       --target-vpn-gateway=GW_NAME \
       --region=REGION \
       --project=PROJECT_ID
    

Membuat tunnel Cloud VPN

  1. Pada perintah, ganti nama-nama berikut dengan:

    • TUNNEL_NAME: nama tunnel
    • ON_PREM_IP: alamat IP eksternal dari peer VPN gateway
    • IKE_VERS: 1 jika memilih IKEv1, atau 2 jika memilih IKEv2
    • SHARED_SECRET: pre-shared key Anda (rahasia bersama). Pre-shared key untuk tunnel Cloud VPN harus cocok dengan yang digunakan saat Anda mengonfigurasi tunnel pada peer VPN gateway Untuk membuat pre-shared key yang kuat secara kriptografis, ikuti petunjuk ini.

    Untuk VPN berbasis kebijakan:

    • LOCAL_IP_RANGES: daftar rentang alamat IP Google Cloud yang dipisahkan koma. Misalnya, Anda dapat memasukkan blok CIDR untuk setiap subnet dari jaringan VPC. Ini adalah sisi kiri dari sudut pandang Cloud VPN.
    • REMOTE_IP_RANGES: daftar rentang alamat IP jaringan peer yang dipisahkan koma. Ini adalah sisi kanan dari sudut pandang Cloud VPN.

    Untuk mengonfigurasi tunnel VPN berbasis kebijakan, jalankan perintah berikut:

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address=ON_PREM_IP \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --local-traffic-selector=LOCAL_IP_RANGES \
        --remote-traffic-selector=REMOTE_IP_RANGES \
        --target-vpn-gateway=GW_NAME \
        --region=REGION \
        --project=PROJECT_ID
    

    Untuk VPN berbasis rute, isi opsi local-traffic-selector dan remote-traffic-selector dengan 0.0.0.0/0, seperti yang tercantum dalam opsi pemilihan rute dan selektor traffic.

    Untuk mengonfigurasi tunnel VPN berbasis rute, jalankan perintah berikut:

    gcloud compute vpn-tunnels create TUNNEL_NAME \
        --peer-address=ON_PREM_IP \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --local-traffic-selector=0.0.0.0/0 \
        --remote-traffic-selector=0.0.0.0/0 \
        --target-vpn-gateway=GW_NAME \
        --region=REGION \
        --project=PROJECT_ID
    
  2. Buat rute statis untuk setiap remote IP address range (rentang alamat IP jarak jauh) yang telah Anda tentukan di opsi --remote-traffic-selector di langkah sebelumnya. Ulangi perintah ini untuk setiap rentang alamat IP jarak jauh. Ganti ROUTE_NAME dengan nama rute yang unik, dan ganti REMOTE_IP_RANGE dengan rentang alamat IP jarak jauh yang sesuai.

    gcloud compute routes create ROUTE_NAME \
        --destination-range=REMOTE_IP_RANGE \
        --next-hop-vpn-tunnel=TUNNEL_NAME \
        --network=NETWORK \
        --next-hop-vpn-tunnel-region=REGION \
        --project=PROJECT_ID
    

Mengonfigurasi VM untuk mengirim dan menerima traffic

Untuk menyelesaikan penyiapan dan menguji apakah Anda dapat mengirim dan menerima traffic dari VM, ikuti langkah-langkah berikut:

Menerima traffic

  1. Di konsol Google Cloud, buka halaman VM instances.
  2. Dalam daftar instance mesin virtual, cari VM yang Anda buat sebelumnya, lalu klik SSH.
  3. Buat alias alamat IP untuk VM menggunakan alamat IP publik yang Anda reservasi sebelumnya. Anda akan dapat menerima traffic ke VM setelah menyelesaikan langkah ini.

    Jalankan perintah berikut:

    sudo ip address add EXTERNAL_IP_ADDRESS/32 dev eth0
    

    Ganti EXTERNAL_IP_ADDRESS dengan alamat IP publik yang Anda cadangkan sebelumnya.

Mengirim traffic

  1. Di konsol Google Cloud, buka halaman VM instances.
  2. Dalam daftar instance mesin virtual, cari VM yang Anda buat sebelumnya, lalu klik SSH.
  3. Jalankan perintah berikut untuk menguji apakah Anda dapat mem-ping alamat IP eksternal:

    $ ping -I EXTERNAL_IP_ADDRESS REMOTE_PEER_IP_ADDRESS
    PING 10.0.0.1 (10.0.0.1) from EXTERNAL_IP_ADDRESS : 56(84) bytes of data.
    64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=4.46 ms
    64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.11 ms
    

    Ganti REMOTE_PEER_IP_ADDRESS dengan alamat IP dari subnet perangkat peer jarak jauh.

  4. Agar VM secara otomatis menggunakan antarmuka ini saat mengirim traffic ke tunnel VPN, Anda dapat membuat aturan iptables.

    Misalnya, jalankan perintah berikut untuk membuat aturan iptables:

    $ sudo iptables -t nat -A POSTROUTING --destination REMOTE_PEER_SUBNET -j SNAT --to-source EXTERNAL_IP_ADDRESS
    

    Ganti REMOTE_PEER_SUBNET dengan subnet perangkat peer jarak jauh.

  5. Jalankan perintah berikut untuk menguji tunnel Cloud VPN:

    $ ping REMOTE_PEER_IP_ADDRESS
    PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
    64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.48 ms
    64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.42 ms
    
    $ ping EXTERNAL_IP_ADDRESS
    PING 35.195.72.19 (35.195.72.19) 56(84) bytes of data.
    64 bytes from 35.195.72.19: icmp_seq=1 ttl=64 time=0.033 ms
    64 bytes from 35.195.72.19: icmp_seq=2 ttl=64 time=0.062 ms