建立傳統版 VPN 至遠端網站的連線

您可以在地端網站和 Cloud de Confiance by S3NS 之間設定傳統 VPN 通道連線,讓來源和目的地 IP 位址都是外部 (非 RFC 1918) IP 位址。舉例來說,您可以設定與遠端網站的傳統 VPN 連線,確保地端 IP 位址範圍不會與 Cloud de Confiance VM IP 位址衝突。

在本教學課程中,您會使用 Cloud de Confiance 專案、 Cloud de Confiance 控制台、虛擬機器 (VM) 執行個體、傳統版 VPN 和幾個 Linux 指令。如要測試連線,請建立新的 VM 執行個體,在 VM 和遠端對等互連之間傳送及接收流量。

事前準備

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. 如果尚未啟用,請啟用 Compute Engine API。

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

    啟用 API

  4. 在工作站上 安裝 gcloud 指令列工具。
  5. 將 gcloud 指令列工具設定為使用您的專案。 在下列指令中,將 PROJECT_ID 替換為您的專案 ID:
    gcloud config set project PROJECT_ID
  6. 確認地端部署子網路已連線至地端部署 VPN 閘道。
  7. 按照「 設定對等互連 VPN 閘道」中的說明,在 Cloud de Confiance by S3NS 和地端部署 VPN 閘道之間設定對等互連 VPN 閘道。

預留新的靜態外部 IP 位址

在 Compute Engine 中,每個 VM 執行個體都可以有多個網路介面。每個介面都可以同時擁有內部和外部 IP 位址。轉送規則可使用外部 IP 位址進行外部負載平衡,或使用內部位址進行內部負載平衡。如要進一步瞭解靜態 IP 位址,請參閱「外部 IP 位址」。

靜態外部 IP 位址是專案保留的 IP 位址,直到您決定釋出為止。 如果客戶需要透過特定 IP 位址存取您的服務,您可以預留該 IP 位址,確保只有您的專案可以使用。您也可以將暫時外部 IP 位址升級為靜態外部 IP 位址。

您可以保留以下兩種外部 IP 位址類型:

  • 區域 IP 位址,供具有一或多個網路介面的 VM 執行個體或區域負載平衡器使用
  • 全域負載平衡器使用的全域 IP 位址

如需區域和全域負載平衡器清單,請參閱負載平衡器 Cloud de Confiance 摘要。

使用 Google Cloud CLI 或透過 API 預留靜態外部 IP 位址。預留 IP 位址後,請在建立新執行個體時將 IP 位址指派給該執行個體,或將 IP 位址指派給現有執行個體。

控制台

  1. 前往「保留靜態位址」頁面。

    前往「保留靜態位址」

  2. 選擇新位址的名稱。

  3. 指定是 IPv4 還是 IPv6 位址。IPv6 位址只能是全域位址,且只能與全域負載平衡器搭配使用。

  4. 指定這個 IP 位址是區域性還是全域。如要為執行個體或區域負載平衡器預留靜態 IP 位址,請選擇「區域」。如要為全域負載平衡器保留靜態 IP 位址,請選擇「全域」。

  5. 如果是區域性 IP 位址,請選取要建立位址的區域。

  6. 選用:選取要附加至 IP 位址的資源。

  7. 按一下「保留」,保留 IP 位址。

gcloud

如要使用 gcloud compute 預留靜態外部 IP 位址,請使用 compute addresses create 指令。

如要預留全域 IP 位址,請使用 --global 和 --ip-version 欄位。針對 --ip-version 欄位,請指定 IPV4 或 IPV6。IPv6 位址只能是全域位址,且只能與全域負載平衡器搭配使用。

將 ADDRESS_NAME 替換為這個地址的名稱。

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

如要預留區域 IP 位址,請使用 --region 欄位:

gcloud compute addresses create ADDRESS_NAME  \
    --region=REGION

更改下列內容:

  • ADDRESS_NAME:這個地址的名稱。
  • REGION:要保留這個地址的區域。這個區域應與指派 IP 位址的資源位於相同區域。所有區域性 IP 位址都是 IPv4。

使用 compute addresses describe 指令查看結果:

gcloud compute addresses describe ADDRESS_NAME

API

如要建立區域性 IPv4 位址,請呼叫區域性 addresses.insert 方法:

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

要求內容應包含以下程式碼:

{
  "name": "ADDRESS_NAME"
}

更改下列內容:

  • ADDRESS_NAME:地址名稱
  • REGION:這項要求的區域名稱
  • PROJECT_ID:這項要求的專案 ID

如為全域靜態 IPv4 位址,請呼叫 globalAddresses.insert 方法:

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

要求內容應包含以下程式碼:

{
  "name": "ADDRESS_NAME"
}

如為全域靜態 IPv6 位址,請呼叫 globalAddresses.insert 方法:

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

要求內容應包含以下程式碼:

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

使用 addresses.get 方法查看結果。

Terraform

您可以使用 Terraform 模組建立外部 IP 位址。

在下列範例中,Terraform 引數具有可變更的範例值。這個範例會建立三個區域性外部 IPv4 位址。

module "address" {
  source       = "terraform-google-modules/address/google"
  version      = "~> 4.0"
  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"
  ]
}

以下範例會建立全域外部 IPv6 位址:

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"
}

啟用 IP 轉送

您可以在建立 VM 時啟用 IP 轉送功能,也可以更新現有 VM 的 canIpForward 執行個體屬性。IP 轉送功能是在 VM 層級啟用,並套用至所有連結至 VM 的介面。

建立 VM 時啟用 IP 轉送功能

以下說明如何在建立 VM 時啟用 IP 轉送功能。如要在現有 VM 上啟用 IP 轉送功能,請更新執行個體屬性canIpForward。

控制台

  1. 前往「VM instances」(VM 執行個體) 頁面。
    前往 VM 執行個體
  2. 點選「建立執行個體」。
  3. 在「開機磁碟」中,確認已選取 Linux 映像檔,例如 Debian GNU/Linux。
  4. 按一下「網路、磁碟、安全性、管理、單一用戶群」
  5. 點選「網路」。
  6. 在「IP forwarding」(IP 轉送) 部分,選取「Enable」(啟用)。
  7. 指定其他任何的執行個體參數。
  8. 點選「建立」。

gcloud

使用 gcloud 建立執行個體時,請在指令中新增 --can-ip-forward 旗標:

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

API

建立執行個體時,請使用 canIpForward 欄位啟用 IP 轉送。

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

更改下列內容:

  • PROJECT_ID:執行個體建立所在的專案 ID。
  • ZONE:建立執行個體的 Cloud de Confiance 可用區。

詳情請參閱 instances.insert 方法。

Terraform

您可以使用 Terraform 資源建立已啟用 IP 轉送功能的 VM 執行個體。

在這個範例中,Terraform 引數已指派值,您可以變更這些值。

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
}

建立輸入流量的路徑

按照下列步驟來建立新的靜態路徑。如要使用註解,請務必先瞭解下列事項:

  • 靜態路徑的目的地範圍不得與虛擬私有雲網路中任何子網路路徑使用的目的地範圍相符,也不得比這些範圍更具體。

    • 使用 VPC 網路對等互連連線兩個 VPC 網路時,一個網路中的靜態路由目的地不得與兩個網路中的子網路路由目的地相符,也不得比子網路路由目的地更具體。 Cloud de Confiance 會拒絕以這種方式與子網路路由衝突的靜態路由。
  • 為避免使用自動模式虛擬私有雲網路時發生衝突,請勿建立目的地符合 10.128.0.0/9 的靜態路徑。詳情請參閱「自動模式 IPv4 範圍」。

  • 靜態路由的目的地不得與任何內部已分配範圍重疊。

  • 建立以 VM 做為下一個躍點的自訂靜態路由前,請務必先熟悉執行個體做為下一個躍點的概念。如果您選擇下一個躍點執行個體, Cloud de Confiance 只會在您建立路由時驗證 VM 是否存在。

  • 如果使用網路標記建立路由,則只有具有該標記的 VM 會收到該路由。不過,已加上標記的 VM 仍會接收所有沒有網路標記的路由。

控制台

  1. 前往 Cloud de Confiance 控制台的「Routes」(路徑) 頁面。
    前往「Routes」(路徑)
  2. 按一下 [Create route] (建立路徑)。
  3. 指定路徑的「名稱」和「說明」。
  4. 選取路徑將會套用到的現有 [網路]。
  5. 指定「目的地 IP 範圍」以定義路徑的目的地。
  6. 指定路徑的「Priority」(優先等級)。只有在路由目的地相同時,系統才會使用優先順序決定路由順序。詳情請參閱「路徑參數」。
  7. 如要讓路徑只適用於具有相符網路標記的執行個體,請在「執行個體標記」欄位中指定這些標記。將這個欄位留空,即可讓路由適用於網路中的所有執行個體,或是選取內部 TCP/UDP 負載平衡器做為路由的下一個躍點。網路標記不適用於下一個躍點為內部 TCP/UDP 負載平衡器的路由。
  8. 選擇路徑的 [下一個躍點]。

    • 指定執行個體:可依名稱選取執行個體。 即使 IP 位址有所變更,流量仍會傳送至該執行個體 (或同一可用區中名稱相同的任何替代執行個體)。
    • 指定 IP 位址:可輸入虛擬私有雲網路中現有執行個體的 IP 位址。如要進一步瞭解有效的下一個躍點 IP 位址的重要限制,請參閱「下一個躍點和功能」一文。
  9. 點選「建立」。

gcloud

建立新的靜態路由:

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

替換預留位置:

  • ROUTE_NAME 是路徑的名稱。
  • DESTINATION_RANGE 表示將套用這個路徑的目的地 IP 位址。最廣泛的目的地是 0.0.0.0/0。
  • NETWORK 是要包含路由的虛擬私有雲網路名稱。
  • NEXT_HOP_SPECIFICATION 代表靜態路徑的下一個躍點。您只能指定下列其中一項做為下一個躍點。如要進一步瞭解不同類型的下一個躍點,請參閱「下一個躍點和功能」。
    • --next-hop-instance=INSTANCE_NAME 和 --next-hop-instance-zone=ZONE:使用這個下一個躍點,依名稱和可用區將流量導向現有的 VM 執行個體。流量會傳送至與路由位於相同網路的 VM 網路介面主要內部 IP 位址。
    • --next-hop-address=ADDRESS:使用這個下一個躍點,將流量導向現有 VM 執行個體的 IP 位址。

如要讓靜態路由僅透過網路標記套用至所選 VM,請新增 --tags 標記,並指定一或多個網路標記。如要進一步瞭解網路標記和靜態路由如何搭配運作,請參閱「適用路由」。您可以在任何靜態路徑中使用標記。

如要進一步瞭解 gcloud 語法,請參閱 SDK 說明文件。

API

建立新的靜態路徑。

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
}

替換預留位置:

  • PROJECT_ID 是建立路徑的專案 ID。
  • DESTINATION_RANGE 表示將套用這個路徑的目的地 IP 位址。最廣泛的目的地是 0.0.0.0/0。
  • ROUTE_NAME 路線名稱。
  • NETWORK_NAME 是要包含路由的虛擬私有雲網路名稱。
  • NEXT_HOP_SPECIFICATION 的 VALUE 代表靜態路徑的下一個躍點。對於 NEXT_HOP_SPECIFICATION,您必須只指定下列其中一個下一個躍點欄位:nextHopIp、nextHopInstance。如要進一步瞭解不同類型的下一個躍點和功能,請參閱「下一個躍點和功能」。

詳情請參閱 routes.insert 方法。

Terraform

您可以使用 Terraform 模組建立靜態路徑。

這個靜態路徑會建立連往網際網路的預設路徑。

module "google_compute_route" {
  source       = "../../modules/routes" #adding local path
  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
    }
  ]
}

使用靜態轉送功能建立傳統版 VPN

VPN 設定精靈是建立傳統版 VPN 閘道的唯一 Cloud de Confiance 控制台選項。精靈包含建立傳統版 VPN 閘道、通道、BGP 工作階段和外部 VPN 閘道資源的所有必要設定步驟。不過,您可以稍後再完成特定步驟,例如設定 BGP 工作階段。

控制台

設定閘道

  1. 前往 Cloud de Confiance 控制台的「VPN」頁面。

    前往「VPN」

  2. 如果是首次建立閘道,請按一下「建立 VPN 連線」。

  3. 選取「VPN 設定精靈」。

  4. 選取「傳統版 VPN」選項按鈕。

  5. 按一下「繼續」。

  6. 在「建立 VPN 連線」頁面中,指定下列閘道設定:

    • 名稱:VPN 閘道的名稱。名稱一經設定即無法變更。
    • 說明:視需要新增說明。
    • 網路:指定要建立 VPN 閘道和通道的現有虛擬私有雲網路。
    • 區域:Cloud VPN 閘道和通道是區域物件。選擇閘道所在的Cloud de Confiance區域。不同區域的執行個體和其他資源可以使用通道,傳輸輸出流量,但須遵守路由順序。為獲得最佳效能,請將閘道和通道放在與相關 Cloud de Confiance 資源相同的區域。
    • 「IP 位址」:建立或選擇現有的區域外部 IP 位址。

設定通道

  1. 在「通道」部分中,為新通道指定下列設定:

    • 名稱:VPN 通道的名稱。名稱一經設定即無法變更。
    • 說明:選用,輸入說明。
    • 遠端對等互連 IP 位址:指定對等互連 VPN 閘道的外部 IP 位址。
    • IKE 版本:選擇對等互連 VPN 閘道支援的適當 IKE 版本。如果對等裝置支援 IKEv2,建議使用這個通訊協定。
    • IKE 預先共用金鑰:提供用於驗證的預先共用金鑰 (共用密鑰)。Cloud VPN 通道的預先共用金鑰必須與您在對等互連 VPN 閘道上設定對應通道時使用的金鑰相符。如要產生密碼強度高的預先共用金鑰,請按照這些指示操作。
    • 選取以政策為準的通道
    • 在「Routing options」(路由選項) 下方,選取「Policy-based」(以政策為準)。
    • 在「遠端網路 IP 範圍」下方,提供以空格分隔的 IP 位址範圍清單,這些範圍會用於內部部署 VPN 設定的本機流量。
    • 在「Local IP ranges」(本機 IP 範圍) 欄位中,輸入您先前建立的外部 IP 位址範圍,並加上子網路前置字元 /32。
    • 按一下「完成」。
    • 點選「建立」。

gcloud

如要建立 Cloud VPN 閘道,請完成下列指令序列。在指令中,請替換下列項目:

  • PROJECT_ID:專案 ID
  • NETWORK:您 Cloud de Confiance 網路的名稱
  • REGION:建立閘道和通道的Cloud de Confiance區域
  • GW_NAME:閘道名稱
  • GW_IP_NAME:閘道使用的外部 IP 位址名稱
  • 選用:--target-vpn-gateway-region 是要運作的傳統版 VPN 閘道區域。這個值應與 --region 相同。如未指定,系統會自動設定這個選項。這個選項會覆寫這個指令叫用的預設 compute/region 屬性值。

設定閘道資源

  1. 建立目標 VPN 閘道物件:

    gcloud compute target-vpn-gateways create GW_NAME \
       --network=NETWORK \
       --region=REGION \
       --project=PROJECT_ID
    
  2. 預約地區外部 (靜態) IP 位址:

    gcloud compute addresses create GW_IP_NAME \
       --region=REGION \
       --project=PROJECT_ID
    
  3. 記下 IP 位址 (以便在設定對等互連 VPN 閘道時使用):

    gcloud compute addresses describe GW_IP_NAME \
       --region=REGION \
       --project=PROJECT_ID \
       --format='flattened(address)'
    
  4. 建立三項轉送規則,指示 Cloud de Confiance 將 ESP (IPsec)、UDP 500 和 UDP 4500 流量傳送至閘道:

    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
    

建立 Cloud VPN 通道

  1. 在指令中,請替換下列項目:

    • TUNNEL_NAME:通道名稱
    • ON_PREM_IP:對等互連 VPN 閘道的外部 IP 位址
    • IKE_VERS:IKEv1 為 1,IKEv2 為 2
    • SHARED_SECRET:預先共用的金鑰 (共用密碼)。Cloud VPN 通道的預先共用金鑰必須與您在對等互連 VPN 閘道上設定對應通道時使用的金鑰相符。如要產生密碼強度高的預先共用金鑰,請按照這些指示操作。

    如果是以政策為準的 VPN:

    • LOCAL_IP_RANGES:以半形逗號分隔的Cloud de Confiance IP 位址範圍清單。舉例來說,您可以為虛擬私有雲網路中的每個子網路提供 CIDR 區塊。從 Cloud VPN 的角度來看,這是左側。
    • REMOTE_IP_RANGES:以半形逗號分隔的對等互連網路 IP 位址範圍清單。從 Cloud VPN 的角度來看,這是右側。

    如要設定以政策為準的 VPN 通道,請執行下列指令:

    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
    

    如果是以路由為基礎的 VPN,本機和遠端流量選取器都是 0.0.0.0/0,如路由選項和流量選取器中所定義。

    如要設定以路由為基礎的 VPN 通道,請執行下列指令:

    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. 為上個步驟中 --remote-traffic-selector 選項指定的每個遠端 IP 位址範圍建立靜態路徑。針對每個遠端 IP 位址範圍重複執行這項指令。將 ROUTE_NAME 替換為路徑的專屬名稱,並將 REMOTE_IP_RANGE 替換為適當的遠端 IP 位址範圍。

    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
    

設定 VM 來傳送及接收流量

如要完成設定並測試是否能從 VM 傳送及接收流量,請按照下列步驟操作:

接收流量

  1. 前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
  2. 在虛擬機器執行個體清單中,找到您先前建立的 VM,然後點選「SSH」SSH。
  3. 使用您先前預留的公開 IP 位址,為 VM 建立 IP 位址別名。完成這個步驟後,您就能接收 VM 的流量。

    執行下列指令:

    sudo ip address add EXTERNAL_IP_ADDRESS/32 dev eth0
    

    將 EXTERNAL_IP_ADDRESS 替換成您先前預留的公開 IP 位址。

傳送流量

  1. 前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。
  2. 在虛擬機器執行個體清單中,找到您先前建立的 VM,然後點選「SSH」SSH。
  3. 執行下列指令,測試是否可以 Ping 外部 IP 位址:

    $ 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
    

    將 REMOTE_PEER_IP_ADDRESS 替換為遠端對等互連子網路的 IP 位址。

  4. 如要讓 VM 在將流量傳送至 VPN 通道時自動使用這個介面,可以建立 iptables 規則。

    舉例來說,執行下列指令可建立 iptables 規則:

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

    將 REMOTE_PEER_SUBNET 替換為遠端對等互連的子網路。

  5. 執行下列指令來測試 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