本文件提供有關如何將 VMware 合作夥伴閘道從 3.3.2 或 3.4 版升級至 4.0 版的指示。

VMware SD-WAN Gateway 應用裝置在 4.0 版本中包含下列變更:

  • 以 LVM 為基礎的新系統磁碟組態,可在大量管理中提供更多的彈性
  • 新的核心版本
  • 新的和升級的基礎作業系統套件
  • 根據網際網路安全性中心的基準,改善了安全性強化
VMware SD-WAN Gateway 應用裝置在 4.0 版中包含下列系統變更:
  • ifupdown 已過時,以支援 https://netplan.io/
    • ifup 和 ifdown 無法再使用
    • 網路組態現在位於 /etc/netplan 與 /etc/network/ 中
    • etc/network/ifup.d 和 /etc/network/ifdown.d 已無法運作。Network-dispatcher 位置應使用 /usr/lib/networkd-dispatcher (dormant.d、no-carrier.d、off.d、routable.d)
  • 對 cloud-init 的重大變更。必須檢查並測試 Cloud-init 部署指令碼的相容性
  • net-tools (ifconfig、netstat 等) 會被視為「已過時」,且在未來版本中可能會加以移除

網路組態

ifupdown 已過時,以支援 https://netplan.io/。網路組態已從 /etc/network 移至 /etc/netplan。

網路設定組態 (空白非常重要!)- /etc/netplan/50-cloud-init.yaml:
network: 
  version: 2 
  ethernets: 
    eth0:
      addresses: 
        - 192.168.151.253/24 
      gateway4: 192.168.151.1
      nameservers: 
        addresses:
          - 8.8.8.8 
          - 8.8.4.4 
        search: [] 
      routes: 
        - to: 192.168.0.0/16
          via: 192.168.151.254
          metric: 100

     eth1:
      addresses: 
        - 192.168.152.251/24 
      gateway4: 192.168.152.1
      nameservers: 
        addresses: 
          - 8.8.8.8 
        search: [] 
每次開機時都會重新產生網路組態。若要對位置組態進行變更,請停用 Cloud-init 網路組態。
echo 'network: {config: disabled}' > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Cloud-init

Cloud-init 已升級至 20.2 版。您可以在此處找到有關 Cloud-init 的詳細資訊:https://cloudinit.readthedocs.io/en/stable/index.html

範例 1:簡單

meta-data:

instance-id: vcg1

local-hostname: vcg1

user-data:
#cloud-config 
hostname: vcg1 
password: Velocloud123
chpasswd: {expire: False} 
ssh_pwauth: True

範例 2:新增樣式網路組態 (network-config 檔案)

meta-data:
instance-id: vcg1 
local-hostname: vcg1 
user-data:
#cloud-config
hostname: vcg1
password: Velocloud123
chpasswd: {expire: False}
ssh_pwauth: True
ssh_authorized_keys:
  - ssh-rsa  …  rsa-key

velocloud: 
  vcg: 
    vco: demo.velocloud.net 
    activation_code: F54F-GG4S-XGFI 
    vco_ignore_cert_errors: false 

runcmd:
  - 'echo “Welcome to VeloCloud”' 

network-config 範例 1:

version: 2
ethernets:
  eth0:
    addresses: 
      - 192.168.152.55/24
    gateway4: 192.168.152.1
    nameservers: 
      addresses:
        - 192.168.152.1 
  eth1:
    addresses:
      - 192.168.151.55/24
    gateway4: 192.168.151.1
    nameservers: 
      addresses:
        - 192.168.151.1 

network-config 範例 2:

附註:如果閘道上有多個介面,且需要選取介面做為預設閘道的慣用介面,則可使用以下的組態 (具有度量值) 來選取正確的介面。

version: 2
ethernets:
eth0:
  addresses: [192.168.82.1/24]
eth1:
  addresses: [70.150.1.1/24]
  routes:
  - {metric: 1, to: 0.0.0.0/0, via: 70.150.1.254}
eth2:
  addresses: [70.155.1.1/24]
  routes:
  - {metric: 2, to: 0.0.0.0/0, via: 70.155.1.254}

Net-tools

Net-tools 公用程式,例如 ifconfig、netstat、route 等會被視為「已過時」。下表顯示 Net-tools 建議的取代項目。這些命令僅顯示 Linux 主機的資訊,而不會顯示 SD-WAN 覆疊網路的資訊。附註:如需詳細資訊,請輸入:man ip。

舊的 Net-tool 公用程式 新增對應的 Net-tool 公用程式
arp ip n (ip neighbor)
ifconfig ip a (ip addr)、ip link、ip -s (ip -stats)
nameif ip link、ifrename
netstat ss、ip route (適用於 netstat-r)、ip -s link (適用於 netstat -i)、ip maddr (適用於 netstat-g)
路由 ip r (ip route)

Net-tool 公用程式的命令輸出範例

此範例輸出會確認命令是否成功。ip n (ip neighbor)、ip a (ipaddr) 和 ip link 的範例命令輸出如下所示。

ip n (ip neighbor):
root@SS-gateway-1:~# ip n 
192.168.0.100 dev eth2 lladdr 00:50:56:84:85:d4 REACHABLE 
192.168.0.250 dev eth2 lladdr 00:50:56:84:97:66 REACHABLE 
13.1.1.2 dev eth0 lladdr 00:50:56:84:e7:fa REACHABLE 
root@SS-gateway-1:~# 
ip a (ipaddr):
root@SS-gateway-1:~# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
    inet 127.0.0.1/8 scope host lo 
       valid_lft forever preferred_lft forever 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 4096 
    link/ether 00:50:56:84:a0:09 brd ff:ff:ff:ff:ff:ff 
    inet 13.1.1.1/24 brd 13.1.1.255 scope global eth0 
       valid_lft forever preferred_lft forever 
    inet6 fe80::250:56ff:fe84:a009/64 scope link 
       valid_lft forever preferred_lft forever 
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 
    link/ether 00:50:56:84:a6:ab brd ff:ff:ff:ff:ff:ff 
    inet 101.101.101.1/24 brd 101.101.101.255 scope global eth1 
       valid_lft forever preferred_lft forever 
    inet6 fe80::250:56ff:fe84:a6ab/64 scope link 
       valid_lft forever preferred_lft forever 
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 
    link/ether 00:50:56:84:bc:75 brd ff:ff:ff:ff:ff:ff 
    inet 192.168.0.201/24 brd 192.168.0.255 scope global eth2 
       valid_lft forever preferred_lft forever 
    inet6 fe80::250:56ff:fe84:bc75/64 scope link 
       valid_lft forever preferred_lft forever 
6: gwd1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 4096 
    link/none 
    inet 169.254.129.1/32 scope global gwd1 
       valid_lft forever preferred_lft forever 
    inet6 fe80::27d5:9e46:e7f7:7198/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever 
root@SS-gateway-1:~# 
ip link
root@SS-gateway-1:~# ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 4096 
    link/ether 00:50:56:84:a0:09 brd ff:ff:ff:ff:ff:ff 
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 
    link/ether 00:50:56:84:a6:ab brd ff:ff:ff:ff:ff:ff 
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 
    link/ether 00:50:56:84:bc:75 brd ff:ff:ff:ff:ff:ff 
6: gwd1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 4096 
    link/none 
root@SS-gateway-1:~# 

升級考量事項

備註: 以下步驟是根據假設您想要保留相同的 IP 位址,以及部署在 4.0 版中新 VMware SD-WAN GatewayVMware SD-WAN Gateway 名稱。但是,如果您想要使用不同的 IP 位址來建立新的 VMware SD-WAN Gateway,可以遵循新的 VMware SD-WAN Gateway 程序。

由於磁碟配置和系統檔案的大量變更,無法進行從較舊版本到 4.0 版的就地升級。移轉需要部署新的 4.0 VMware SD-WAN Gateway 系統,並解除委任執行較舊程式碼的系統。

對於具有已知公用 IP 位址的 VPN VMware SD-WAN 閘道或 NAT SD-WAN 閘道,如果必須保留 VMware SD-WAN Gateway的公用 IP,請遵循以下程序。

程序:(具有已知公用 IP 位址的 VPN 或 NAT SD-WAN 閘道)
  1. 根據 4.0 版映像啟動新的 VMware SD-WAN Gateway 系統。如需詳細資訊,請參閱平台的部署指南 (閘道安裝程序)。
  2. 關閉舊的 VMware SD-WAN Gateway 系統。(將舊的 VMware SD-WAN Gateway 虛擬機器關閉),(透過在 CLI 主控台上執行 “sudo poweroff” 命令,或從可用的 Hypervisor 選項關閉電源)。
  3. 將公用 IP 移轉到新系統:更新 NAT 記錄以指向新的 VMware SD-WAN Gateway 系統,或在新的 VMware SD-WAN Gateway 網路介面上設定公用 IP。使用與先前 VMware SD-WAN Gateway 相同的 IP 位址,在上述所指定的 Cloud-int 範例中部署新閘道。
  4. SD-WAN Orchestrator 中的現有 VMware SD-WAN Gateway 記錄取得啟用金鑰 (如下列步驟所述)。
    1. SD-WAN Orchestrator 中,從左側導覽面板中選取閘道 (Gateways)
    2. 閘道 (Gateways) 畫面中,按一下 VMware SD-WAN Gateway 加以選取。
    3. 從所選 VMware SD-WAN Gateway 的畫面中,按一下 VMware SD-WAN Gateway 名稱旁的向下箭頭,以開啟資訊方塊。
    4. 啟用金鑰位於資訊方塊的底部,如下圖所示。

  5. 將下列系統內容「gateway.activation.validate.deviceId」設定為 False,如下圖所示。如有必要,請參閱 VMware SD-WAN 操作員指南中的〈系統內容〉一節,以取得詳細資訊。

  6. 重新啟用新的 VMware SD-WAN Gateway 系統:從 CLI 主控台執行:“sudo /opt/vc/bin/activate.py -s <vco_address> <activation_code>”
  7. 將下列系統內容「gateway.activation.validate.deviceId」還原為原始值 (如有必要)。

    VMware SD-WAN Gateway 現已登錄,並準備好從 Edge 接收連線。

備註: 您可以透過 Cloud-int 執行 VMware SD-WAN Gateway 重新啟用,如本文件的「使用者資料」一節中所述。

啟用範例輸出

root@gateway/opt/vc# /opt/vc/bin/activate.py FLM6-CSV6-REJS-XFR5 -i -s 169.254.8.2

啟用成功,VCO 覆寫回 169.254.8.2 root@SS1-gateway-2:/opt/vc#

沒有已知公用 IP 的 SD-WAN 閘道

本節僅適用於沒有已知公用 IP 的 SD-WAN 閘道,例如 VPN SD-WAN 閘道。如果適用此案例,請遵循下列程序進行操作。

程序:(沒有已知公用 IP 的 SD-WAN 閘道)
  1. 啟動新的 VMware SD-WAN Gateway 系統。如有需要,請參閱平台的部署指南 (閘道安裝程序)。
  2. 啟動新的 VMware SD-WAN Gateway 系統。
  3. 將新的 VMware SD-WAN Gateway 新增至 SD-WAN Orchestrator VMware SD-WAN Gateway 集區。如需詳細資料,請參閱 VMware SD-WAN 作業員指南中的「閘道管理」一節。
    1. VMware SD-WAN Gateway 現已登錄,並準備好從 Edge 接收連線。
  4. SD-WAN Orchestrator VMware SD-WAN Gateway 集區中移除舊的 VMware SD-WAN Gateway。如需詳細資訊,請參閱 VMware SD-WAN 操作員指南中的「閘道管理」一節。
  5. 解除委任舊的 VMware SD-WAN Gateway 虛擬機器。(從 SD-WAN Orchestrator 中移除 VMware SD-WAN Gateway 記錄,並解除委任虛擬機器執行個體)。

透過 API 取得閘道啟用金鑰

若要使用 API 方法進行部署,請使用下列內容:「network/getNetworkGateways」

範例回應:

{"jsonrpc":"2.0","result":[{"id":1, "activationKey":"69PX-YHY2-N5PZ-G3UW …