建立並驗證巨型封包 MTU 網路

本頁將逐步說明如何建立虛擬私有雲 (VPC) 網路和一對用於測試的 VM。假設您已熟悉網路 MTU

建立自動模式 VPC 網路

主控台

  1. 在 Cloud de Confiance 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 在專案下拉式選單中選取專案。

  3. 按一下「建立虛擬私有雲網路」

  4. 輸入網路的 [Name] (名稱)

  5. 在「Subnet creation mode」(建立子網路模式) 選擇 [Aotomatic] (自動)

  6. 設定最大傳輸單位 (MTU)

    如要讓 VM 傳送及接收巨型資料流,VM 的虛擬 NIC 必須連線至 MTU 值等於或大於機器 MTU 的 VPC 網路。將 MTU 設為 VM 的最大值,例如 8896。如果您使用的是 GPU 機器,請參閱「超大畫面和 GPU 機器」。

  7. 按一下 [建立]。

建立防火牆規則

主控台

  1. 在 Cloud de Confiance 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」

  2. 點按「建立防火牆規則」

  3. 輸入防火牆規則的「Name」(名稱)
    此名稱在專案中不得重複。

  4. 在「Network」下拉式選單中,指定您建立的網路名稱。

  5. 在「目標」下拉式選單中,選取「網路中的所有執行個體」

  6. 從「Source filter」(來源篩選器) 下拉式選單中,選取「IPv4 ranges」

  7. 在欄位中輸入 10.128.0.0/16

  8. 在「Protocols and ports」(通訊協定和通訊埠) 中,選取「Specified protocols and ports」(指定的通訊協定和通訊埠)

  9. 勾選「tcp」核取方塊,然後在欄位中輸入「22」

  10. 勾選「其他通訊協定」核取方塊,然後在欄位中輸入「icmp」

  11. 按一下 [建立]。

建立 VM

本節說明如何建立兩個 VM 執行個體以供測試。

主控台

重複執行這些步驟兩次,即可取得位於同一區域的兩個 VM。

  1. 前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體

  2. 點選「建立執行個體」

  3. 為第一個 VM 指定「名稱」

  4. 點選「網路、磁碟、安全性、管理、單一用戶群」

  5. 點選「網路」

  6. 在「網路介面」中,按一下「預設預設 (10.128.0.0/20)」

  7. 在「Network」下拉式選單中,選取您建立的網路。

使用 SSH 連線至 VM 執行個體

主控台

  1. 前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體

  2. 在第一個執行個體的「連線」欄中,按一下「SSH」

  3. 在第二個執行個體的「連線」欄中,按一下「SSH」

驗證 MTU

  1. 第一個 VM 的終端機中執行下列指令:

    /sbin/ifconfig | grep mtu
    

    回報的 MTU 應為 8896

    ens4: flags=4163  mtu 8896
    lo: flags=73  mtu 65536
    

  2. 第二個 VM 的終端機中,安裝 tcpdump

    sudo apt-get install tcpdump --yes
    

  3. 第二個 VM 的終端機中啟動 tcpdump。將 FIRST_VM_NAME 替換為第一個 VM 的名稱。

    sudo tcpdump host FIRST_VM_NAME -v
    

  4. 第一個 VM 的終端機中,對第二個 VM 執行 ping 作業。ping 指令必須指定封包大小,且必須比網路 MTU 小 28 個位元組。將 SECOND_VM_NAME 替換為第二個 VM 的名稱。

    ping SECOND_VM_NAME -c 10 -M do -s 8868
    

  5. 檢查第二個 VM。畫面上應會顯示類似以下內容:

    tcpdump: listening on ens4, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    19:43:57.116005 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 8896)
    FIRST_VM_NAME.c.PROJECT_ID.internal > SECOND_VM_NAME.c.PROJECT_ID.internal: ICMP echo request, id 5253, seq 1, length 8876
    19:43:57.116053 IP (tos 0x0, ttl 64, id 23961, offset 0, flags [none], proto ICMP (1), length 8896)
    SECOND_VM_NAME.c.PROJECT_ID.internal > FIRST_VM_NAME.c.PROJECT_ID.internal: ICMP echo reply, id 5253, seq 1, length 8876
    

    這些變數的意思如下:

    • FIRST_VM_NAME 是第一個 VM 的名稱。
    • SECOND_VM_NAME 是第二個 VM 的名稱。
    • PROJECT_ID 是包含 VM 的專案 ID。
  6. 在第二個 VM 上按下 Ctrl-c 即可停止 tcpdump

  7. 完成測試後,請按照以下順序刪除資源:

    1. 防火牆規則和 VM 執行個體
    2. 虛擬私有雲網路

後續步驟