本文提供了如何将 VMware 合作伙伴网关从 3.3.2 或 3.4 版升级到 4.0 版的说明。
VMware SD-WAN Gateway 设备在 4.0 版本中包含以下更改:
- 基于 LVM 的全新系统磁盘布局;可以在卷管理方面提供更大的灵活性
- 新的内核版本
- 新的和升级的基本操作系统软件包
- 提高了基于 Internet 安全中心基准的安全强化
- 弃用了 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。
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: []
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
#cloud-config hostname: vcg1 password: Velocloud123 chpasswd: {expire: False} ssh_pwauth: True
示例 2:新样式的网络配置(network-config 文件)
instance-id: vcg1 local-hostname: vcg1
#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-tools 实用程序 | 新的相应 net-tools 实用程序 |
---|---|
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) |
route | ip r (ip route) |
net-tool 实用程序的示例命令输出
示例输出确认命令已成功完成。ip n (ip neighbor)、ip a (ipaddr) 和 ip link 的示例命令输出如下所示。
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:~#
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:~#
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:~#
升级注意事项
由于对磁盘布局和系统文件进行了重大更改,无法从旧版本就地升级到 4.0 版本。迁移要求部署新的 4.0 VMware SD-WAN Gateway系统,并停用旧代码的系统。
对于具有已知公用 IP 地址的 VPN VMware SD-WAN 网关或 NAT SD-WAN 网关,如果必须保留 VMware SD-WAN Gateway的公用 IP,请按照以下过程进行操作。
- 启动基于 4.0 版本映像的新 VMware SD-WAN Gateway系统。有关更多信息,请参阅适用于您的平台的部署指南(网关安装过程)。
- 关闭旧 VMware SD-WAN Gateway系统。(关闭旧 VMware SD-WAN Gateway虚拟机(在 CLI 控制台上运行
“sudo poweroff”
命令或从可用的 Hypervisor 选项中关闭电源。) - 将公用 IP 迁移到新系统:更新 NAT 记录以指向新的 VMware SD-WAN Gateway系统,或者在新的 VMware SD-WAN Gateway网络接口上配置公用 IP。使用上面提供的 cloud-init 示例以及与以前的 VMware SD-WAN Gateway相同的 IP 地址部署新网关。
- 在 SD-WAN Orchestrator 上从现有 VMware SD-WAN Gateway记录中获取激活密钥(如以下步骤中所述)。
- 从 SD-WAN Orchestrator 中,从左侧导航面板中选择网关 (Gateways)。
- 从网关 (Gateways) 屏幕中,单击以选择一个 VMware SD-WAN Gateway。
- 从所选 VMware SD-WAN Gateway 的屏幕中,单击 VMware SD-WAN Gateway名称旁边的向下箭头以打开信息框。
- 激活密钥位于信息框底部,如下图中所示。
- 将以下系统属性“gateway.activation.validate.deviceId”设置为 False,如下图中所示。如有必要,请参阅《VMware SD-WAN 操作员指南》中的“系统属性”一节以了解更多信息。
- 重新激活新的 VMware SD-WAN Gateway系统:从 CLI 控制台中,运行:
“sudo /opt/vc/bin/activate.py -s <vco_address> <activation_code>”
- 将以下系统属性“gateway.activation.validate.deviceId”恢复为原始值(如有必要)。
现已注册 VMware SD-WAN Gateway并准备好接收来自 Edge 的连接。
激活示例输出
root@gateway/opt/vc# /opt/vc/bin/activate.py FLM6-CSV6-REJS-XFR5 -i -s 169.254.8.2
Activation successful, VCO overridden back to 169.254.8.2 root@SS1-gateway-2:/opt/vc#
没有已知公用 IP 的 SD-WAN 网关
本节仅适用于没有已知公用 IP 的 SD-WAN 网关,如 VPN SD-WAN 网关。如果适用该场景,请执行以下过程。
- 启动新的 VMware SD-WAN Gateway系统。如有必要,请参阅适用于您的平台的部署指南(网关安装过程)。
- 激活新的 VMware SD-WAN Gateway系统。
- 将新的 VMware SD-WAN Gateway添加到 SD-WAN Orchestrator VMware SD-WAN Gateway池中。有关更多详细信息,请参阅《VMware SD-WAN 操作员指南》中的“网关管理”一节。
- 现已注册 VMware SD-WAN Gateway并准备好接收来自 Edge 的连接。
- 从 SD-WAN Orchestrator VMware SD-WAN Gateway池中移除旧 VMware SD-WAN Gateway。有关更多信息,请参阅《VMware SD-WAN 操作员指南》中的“网关管理”一节。
- 停用旧 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 …