tencent cloud

私有网络

文档私有网络实践教程二层专线上云最佳实践

二层专线上云最佳实践

Download
聚焦模式
字号
最后更新时间: 2026-08-04 11:53:19

相关概述

什么是二层专线上云

二层专线上云(Layer 2 Direct Connect to Cloud)是指通过 L2GW(二层网关)技术,在腾讯云 VPC 与用户本地 IDC 之间建立大二层网络通道,使得云端和本地 IDC 的业务主机处于同一个二层广播域中,实现同子网 IP 地址的直接通信。

与传统三层专线的区别

维度
三层专线接入(传统方案)
二层专线上云(L2GW)
网络层级
三层(IP 路由)
二层(MAC 转发 + VXLAN 隧道)
子网规划
云上云下网段不能重叠
支持同子网 IP 通信
迁移粒度
子网粒度
虚拟机/Pod 粒度
IP 地址变更
上云需修改 IP 地址
无需修改 IP 地址
主要用途
普通混合云互联
业务平滑迁移上云、容灾、弹性扩容

核心价值

业务无感迁移:云上云下同子网通信,IP 地址和网络配置无需修改,业务迁移对应用透明。
灵活伸缩:可将 IDC 中的虚拟机逐台平滑迁移至云端,实现零停机迁移。
容灾与弹性:在 IDC 资源不足时,可将部分业务弹性扩展至云端,共享同一子网。

使用场景

数据中心平滑迁移上云

业务背景:企业需要将自建数据中心中的业务逐步迁移至腾讯云,但受限于现有应用架构,大量应用依赖固定 IP 地址通信,修改 IP 将导致大规模应用重新配置和长周期停服。
解决方案
通过 L2GW 建立云上云下大二层网络。
保持原有子网规划不变,逐台将 CVM 迁移至云上 VPC。
云上 CVM 使用与 IDC 原有服务器相同的子网 IP 地址。
迁移过程中业务中断时间最小化。
典型客户:金融行业核心系统迁移、传统企业 ERP/OA 系统上云。

整体架构

架构拓扑

image
image


核心组件说明

组件
角色
说明
L2GW CVM
二层网关核心
部署在管理 VPC 中的 CVM 实例,负责二层流量转发和 VXLAN 隧道封装/解封装。
管理子网
运维管理面
部署 L2GW CVM 的子网,使用单独子网和业务子网分开。
业务子网
业务承载面
实际需要二层互通的业务子网。
VXLAN 子网
VXLAN 管控面
建立 VXLAN 隧道的子网,使用单独子网和业务子网分开。
HAVIP
高可用引流
高可用虚拟 IP,作为 VPC 子网和 IDC 方向的流量入口,由 Keepalived/VRRP 管理。
VXLAN 隧道
二层扩展
在 L2GW 与 IDC Switch 之间建立 VXLAN Overlay 隧道,承载二层流量。
专线网关
专线接入网关
腾讯云本地网关,实现 L2GW 与 IDC 之间的三层网络互通。

网络平面隔离设计

L2GW CVM 包含三个网络平面:
网卡
用途
说明
eth0(管理口)
运维管理
仅用于 SSH 登录和日常运维,禁止用于业务流量转发。
eth1(VPC 方向)
L2GW > VPC 业务通信
绑定弹性网卡,连接用户 VPC 业务子网。
eth2(IDC 方向)
L2GW > IDC 业务通信
绑定弹性网卡,承载 VXLAN 隧道和 VRRP 心跳,不可删除。

部署前准备

机型选型建议

机型
规格
PPS
带宽
适用场景
SA3.16XLARGE128
64C 128G
520万 PPS
25 Gbps
通用场景,性价比高
SA9.16XLARGE128
64C 128G
560万 PPS
25 Gbps
高性能计算场景
SA5.16XLARGE256
64C 256G
560万 PPS
25 Gbps
大内存需求场景
集群规模估算:
假设客户双向总流量需求为 120 Gbps。
单台 CVM 25 Gbps(出+入)。
推荐部署 5 套集群(共 10 台 CVM),每套 2 台主备。
说明:
实际部署数量应根据业务流量模型和冗余要求调整。

操作系统要求

操作系统: TencentOS Server 3.3 (TK4),基于 tlinux5.x 内核 + CentOS 兼容环境。
内核特性: 需支持 VXLAN 隧道模块。

网络规划

IP 地址规划表

资源类型
网段规划(示例)
说明
管理 VPC subnet-mgmt
10.0.0.0/24
用于运维登录 L2GW
L2GW 管理 IP
10.0.0.x
分别分配给 L2GW-01/02
用户 VPC subnet1(业务子网)
10.66.1.0/24
云上云下同子网,支持二层互通
用户 VPC subnet2(隧道子网)
10.66.2.0/24
用于 VXLAN 隧道承载
IDC 隧道子网
客户按照实际互联地址定义
与 subnet2 三层互通
HAVIP(VPC 方向)
10.66.1.102
绑定 eth1,作为 VPC 引流地址
HAVIP(IDC 方向)
10.66.2.102
绑定 eth2,作为专线/专线/LGW 引流地址
IDC Switch VXLAN IP
客户按照实际互联地址定义
VXLAN 隧道对端地址

网段规划原则

1. 管理子网与业务子网分离:管理 VPC 不承载业务流量。
2. 业务子网云上云下同网段:subnet1 必须与 IDC 业务子网保持同一 CIDR。
3. 隧道子网独立规划:subnet2 与 IDC 隧道子网需三层可达,但网段不应重叠。
4. 预留扩展空间:每个子网建议预留至少 50% 的 IP 地址余量。

资源清单

资源项
数量
备注
L2GW CVM 实例
2台(1主1备)
根据流量可扩展为多套集群
弹性网卡(VPC 方向)
2张
每台 L2GW 1张,绑定 eth1
弹性网卡(IDC 方向)
2张
每台 L2GW 1张,绑定 eth2
HAVIP(VPC 方向)
1个
在 subnet1 中分配,绑定到 eth1 网卡
HAVIP(IDC 方向)
1个
在 subnet2 中分配,绑定到 eth2 网卡
VXLAN 隧道
每个大二层子网 1条
目的端口:4789
Keepalived
每台 L2GW 1套
版本 v2.1.5

部署最佳实践

部署流程总览

步骤1:购买 L2GW 资源

1. 在管理账号下创建 2 台 CVM 实例(按机型选型建议选择规格)。
2. 创建管理 VPC 子网 subnet-mgmt,分配管理 IP。
3. 在用户 VPC 的 subnet1 和 subnet2 中各创建 2 个弹性网卡,分别绑定到两台 L2GW CVM。

步骤2:全局初始化

部署 L2GW 部署包:
下载L2GW部署包
wget https://iso-1255486055.cos.ap-guangzhou.myqcloud.com/l2gw_v1.0.tar.gz
# 解压到 /data/ 目录
tar -xzf l2gw_v1.0.tar.gz -C /data/

# 创建软链接
cd /data
ln -s l2gw_v1.0 l2gw
cd /data/l2gw_v1.0_20260302_173709/

# 执行全局初始化
./l2gw_install_global.sh
注意:
l2gw_install_global.sh 添加到/etc/rc.local 中,确保 CVM 重启后初始化参数仍然生效,并在部署后验证重启是否真的生效。

步骤3:打通 L2GW 到 IDC-Switch

L2GW 侧配置

初始化用户平面网卡:
# 初始化 VPC 方向网卡
./l2gw_install_interface.sh add eth1 10.66.1.100

# 初始化 IDC 方向网卡(承载 VXLANVRRP 心跳)
./l2gw_install_interface.sh add eth2 10.66.2.100
创建 HAVIP:
在 subnet1(VPC 方向)创建 HAVIP:10.66.1.102,绑定到 eth1。
在 subnet2(IDC 方向)创建 HAVIP:10.66.2.102,绑定到 eth2。
将 HAVIP 录入 Keepalived 配置的 virtual_ipaddress字段。

专线/LGW 侧配置

通过专线网关三层打通用户 IDC 和 L2GW CVM:
配置 IDC > L2GW 方向的引流路由。
配置 L2GW > IDC 方向的路由发布。

步骤4:搭建 Keepalived 主备环境

安装 Keepalived v2.1.5,参考 用 HAVIP+Keepalived 搭建高可用主备集群
关键配置要点:
vrrp_instance VI_L2GW {
...
interface eth2 # 绑定 L2GWIDC 方向的网卡
unicast_src_ip 10.66.2.100 # 本机内网 IP
unicast_peer {
10.66.2.101 # 对端设备 IP
}
virtual_ipaddress {
10.66.1.102 dev eth1 # VPC 方向 HAVIP
10.66.2.102 dev eth2 # IDC 方向 HAVIP
}
...
}
关键约束:
VRRP 心跳接口选择 IDC 方向的 eth2 网卡,此网卡不可删除、不可变更该网卡创建后必须长期保留,不得随意解绑或删除。
VRRP 仅支持单播模式部署,不支持组播
验证:使用 systemctl status keepalived 或查看日志确认主备状态正常。

步骤5:搭建大二层子网

通过 VXLAN 隧道打通云上云下二层网络:
# 添加 VXLAN 隧道
# 参数:vxlan_id local_ip ethx remote_ip dstport vxlan_ip
./l2gw_subnet.sh add 10000 10.66.2.102 eth1 172.16.1.200 4789 10.66.1.100
参数说明:
参数
示例值
说明
vxlan_id
10000
VXLAN 隧道 ID,云上云下需一致
local_ip
10.66.2.102
本端隧道 IP(HAVIP)
ethx
eth1
local_ip 所在的网口
remote_ip
172.16.1.200
对端 IDC Switch 隧道 IP
dstport
4789
VXLAN 标准目的端口
vxlan_ip
10.66.1.100
子网对应 eth 网口的 IP

步骤6:添加业务 IP 地址路由

配置云上和 IDC CVM 的 IP 路由:
# 添加云上CVM路由
./l2gw_ipaddr.sh add_vpc_eth 10.66.1.10 eth1 10000

# 添加 IDC 服务器路由
./l2gw_ipaddr.sh add_idc_vxlan 10.66.1.11 10000

步骤7:L2GW CVM 上线

确认全部网络配置完成后,执行上线操作:
# 上线:启动 keepalived 进程并完成网关上线
./l2gw_online.sh
最佳实践:初次搭建建议重启设备,由控制面 Agent 拉起配置后再上线,验证重启后配置可自动恢复。

高可用设计

主备架构

L2GW 采用双机主备架构:
两台 L2GW CVM 通过 Keepalived/VRRP 协议进行主备选举。
主 L2GW 持有 HAVIP,负责所有业务流量转发。
备 L2GW 监听 VRRP 心跳,主故障时自动接管。

故障切换流程

1. 主 L2GW 故障。
2. 备 L2GW 检测到 VRRP 心跳超时(默认为通告间隔时间的3倍)。
3. 备 L2GW 自动升级为主,绑定 HAVIP。
4. 发送免费 ARP,刷新网络设备 MAC 表。
5. 业务流量切换到备用 L2GW。

高可用配置关键点

1. VRRP 心跳网卡不可删除:eth2 网卡承载 VRRP 心跳通信,创建后永久保留。
2. 双 HAVIP 设计:VPC 方向和 IDC 方向各分配一个 HAVIP,实现双向引流。
3. Keepalived 非抢占模式:建议启用非抢占模式(nopreempt),避免主故障恢复后频繁切换。
4. BFD 联动:建议配合 BFD(双向转发检测)实现亚秒级故障检测。

扩展性设计

当流量超过单套集群承载能力时,可采用多套集群水平扩展
每套集群 2 台 L2GW CVM(主备)。
不同集群管理不同的大二层子网。
建议预留 20% - 30% 的性能冗余。

运维最佳实践

日常操作指南

云上新增 CVM

cd /data/l2gw

# 添加新的云上CVM路由
#add_idc_vxlan <ipaddr> <vxlan_id> - 添加vxlan口的IDC路由
#del_idc_vxlan <ipaddr> <vxlan_id> - 删除vxlan口的IDC路由
./l2gw_ipaddr.sh <action> <ipaddr> [interface1] [interface2]

# 示例
./l2gw_ipaddr.sh add_vpc_eth 10.66.1.20 eth1 10000

IDC 新增 CVM

# 添加新的 IDC CVM路由
./l2gw_ipaddr.sh add_idc_vxlan <CVMIP> <vxlan_id>
#add_idc_vxlan <ipaddr> <vxlan_id> - 添加vxlan口的IDC路由
#del_idc_vxlan <ipaddr> <vxlan_id> - 删除vxlan口的IDC路由
# 示例
./l2gw_ipaddr.sh add_idc_vxlan 10.66.1.21 10000

IDC CVM 迁移到云上

# 将 IDC CVM迁移到云上(删除 IDC 路由,添加 VPC 路由)
./l2gw_ipaddr.sh switch_idc_to_vpc <CVMIP> <vxlan_id> <eth接口>
# switch_vpc_to_idc <ipaddr> <eth_interface> <vxlan_id> - 删除eth口的VPC路由,添加vxlan口的IDC路由
# 示例:10.66.1.21IDC 迁移到云上
./l2gw_ipaddr.sh switch_idc_to_vpc 10.66.1.21 10000 eth1

云上 CVM 迁移回 IDC

# 将云上CVM迁回 IDC
./l2gw_ipaddr.sh switch_vpc_to_idc <CVMIP> <eth接口> <vxlan_id>

L2GW 设备上下线

# 下线(停止 keepalived,流量切换到备机)
./l2gw_offline.sh

# 上线(启动 keepalived)
./l2gw_online.sh

新增大二层子网

完整的新增大二层子网流程:
1. 新增 L2GW > VPC 的跨租户弹性网卡,绑定至 L2GW CVM;
确认对应 eth 网卡状态为 Down,开启 DirectSend;申请子网并绑定高可用虚拟 IP(HAVIP1)至该网卡,调用./l2gw_install_interface.sh add 完成初始化。
2. 新增 L2GW > IDC 的跨租户弹性网卡,绑定至 L2GW CVM;
确认对应 eth 网卡状态为 Down,开启 DirectSend;申请并绑定高可用虚拟 IP(HAVIP2)至该网卡(按需执行——若此前网卡网络已可达,则无需创建),调用./l2gw_install_interface.sh add 完成初始化。
3. 新增 L2GW > IDC-Switch 的 VXLAN 隧道,调用./l2gw_subnet.sh add 添加隧道,并配置对端 IDC 交换机参数。
4. 添加 L2GW 全部路由:调用./l2gw_ipaddr.sh add
5. 修改 Keepalived 配置:将 HAVIP1、HAVIP2(如有)由运维人员手动添加至 Keepalived 配置文件(修改前需备份,示例:192.168.1.102 dev eth1),随后调用 l2gw_reload.sh 使配置在线生效。
6. 添加 VPC 路由:包括 VPC 指向 L2GW CVM 的路由,以及用于 专线/LGW 引流的路由。

删除大二层子网

删除流程为新增的逆序操作:
1. 删除 VPC 路由、VPC 指向 L2GW CVM 的路由,以及删除 专线/LGW 用于吸引流量的路由。
2. 修改 Keepalived 配置,将 havip1、havip2(如有)从 Keepalived 配置文件中移除(例如:192.168.1.102 dev eth1),然后执行 l2gw_reload.sh 命使其在线生效。
3. 删除 L2GW > IDC-Switch 的 VXLAN 隧道,执行./l2gw_subnet.sh del,并配置对端 IDC 交换机。
4. 执行./l2gw_install_interface.sh del 删除网卡。
5. VPC 测解绑并删除 havip1、havip2(如有),同时解绑并删除弹性网卡。(注:Keepalived VRRP 心跳所使用的 L2GW > IDC-Switch 网卡不可解绑或删除,需长期保留。)
注意:
VRRP 心跳使用的 IDC 方向网卡不可解绑或删除,需长期保留。

CVM 重启恢复流程

L2GW CVM 重启后,网络配置会丢失(业务不受影响,因为主备切换):
机器重启
├── 步骤1:逐行执行 l2gw_history_cmd.log 中的命令(恢复网络配置)
└── 步骤2:执行 ./l2gw_online.sh(上线网关 + 启动 keepalived) ← 不可遗漏!
具体操作:
cd /data/l2gw

# 1. 查看历史命令
cat l2gw_history_cmd.log

# 3. 上线
./l2gw_online.sh
注意:
关键提醒:只恢复配置而不执行上线脚本,L2GW 不会正常工作!l2gw_online.sh 步骤不可遗漏。

监控建议

监控项
指标
告警阈值
L2GW CVM 状态
CVM 运行状态
异常关机
Keepalived 主备状态
VRRP 角色
主备切换告警
网络连通性
ping 云上 CVM/IDC CVM
连续 3 次丢包
VXLAN 隧道状态
隧道接口 UP/DOWN
接口 DOWN
弹性网卡
网卡绑定状态
解绑告警
带宽利用率
出+入带宽
大于 80% 预警
HAVIP 绑定状态
浮动 IP 归属
HAVIP 漂移告警

腾讯云官网常见问题

专线接入相关问题

问题1:专线接入与普通公网 VPN 有何区别?

专线接入提供的是专用的物理网络连接,与公网完全隔离。相比 VPN:
专线:低时延(< 5ms 同城)、高带宽(最高 100 Gbps)、高安全性(独占链路)。
VPN:依赖公网,时延和带宽不稳定,适合对网络质量要求不高的场景。

问题2:专线接入是否支持链路聚合(LACP)?

目前腾讯云暂不支持 LACP 链路聚合控制协议。如需更高带宽,可采用多条物理专线做负载均衡。
参考:专线接入 FAQ

问题3:专线两端是否必须使用同一个子网掩码?

是。专线两端配置的互联 IP 地址必须属于同一个子网,并配置相同的子网掩码,且两端 IP 地址必须唯一,不能有 IP 地址复用的情况。

问题4:如何实现专线的主备冗余?

两种方案:
1. 双专线接入备份:通过配置 BFD 实现静态路由故障切换,或使用 BGP 路由自动收敛。
2. 专线 + VPN 主备:专线作为主链路,VPN 作为备用链路,通过 VPC 路由优先级实现自动切换。

VPC 与网络相关

问题1:VPC 子网路由表如何指向 L2GW 的 HAVIP?

通过 VPC 路由表配置目的网段,下一跳类型为 HAVIP。现网已支持子网路由表下一跳 HAVIP 时,目的网段与 VPC CIDR/子网 CIDR 重叠场景。

问题2:什么是弹性网卡?有什么限制?

弹性网卡(ENI)是跨账号共享的弹性网卡,允许一个账号的 CVM 绑定另一个账号 VPC 子网中的网卡。在 L2GW 场景中,用于管理账号的 L2GW CVM 访问用户账号的 VPC 资源。
使用限制:一个 CVM 可绑定多个弹性网卡,具体数量取决于 CVM 规格。
参考:弹性网卡概述

问题3:专线通道不支持 VLAN 标签怎么办?

若专线服务商只提供一个 VLAN 的物理专线,需要访问云上多个 VPC 时,可使用云联网(CCN)产品实现一个物理专线对接多个 VPC。
参考:专线接入 FAQ

L2GW 相关常见问题

问题1:L2GW CVM 重启后为什么要重新执行配置?

L2GW CVM 的网络配置(ETH 接口初始化、VXLAN 隧道、IP 路由等)存储在内存中,CVM 重启后会丢失。但业务不受影响——因为 L2GW 为主备模式,备用 L2GW 会接管流量。
重启后恢复步骤:
1. l2gw_history_cmd.log 中记录的命令逐行恢复配置。
2. 执行 ./l2gw_online.sh 上线。

问题2:为什么 VRRP 心跳网卡不能删除?

VRRP 心跳网卡(通常是 eth2)用于 L2GW 主备之间的 VRRP 协议通信。如果该网卡被删除,主备之间将无法检测对方存活状态,可能导致脑裂(两台 L2GW 同时持有 HAVIP),造成网络环路或丢包。

故障排查类

问题1: 维护边界

L2GW 本质上是以 CVM(云服务器)为载体部署的二层网关软件,其运行环境(操作系统、系统配置、网络参数、Keepalived 高可用等)部署于客户的云账号之下。因此,L2GW 的日常维护、监控、故障恢复、配置变更等运维工作均由客户侧运维团队负责。
误区
实际情况
L2GW 是腾讯云提供的托管服务
L2GW 是部署方案而非托管服务。腾讯云提供部署指导与脚本工具,运维由客户负责。
腾讯云会监控 L2GW 运行状态
腾讯云只监控基础设施层面(物理专线、专线/LGW 设备),不监控 L2GW CVM 内的 Keepalived、VXLAN 隧道、业务路由等。
腾讯云负责 L2GW 的版本升级
L2GW 部署包升级由客户侧运维团队操作,腾讯云提供新版本部署包和技术指导。
L2GW 出现问题时可以提工单让腾讯云修复
腾讯云支持范围是基础设施和产品缺陷。L2GW 配置层面的问题(如路由配错、Keepalived 配置异常)属于客户运维范畴。

问题2:专线压测结果不符合预期怎么办?

排查步骤:
1. 确认购买的专线带宽是否满足预期。
2. 测试互联 IP ping 是否丢包,若丢包严重联系腾讯云售后或向运营商报障。
3. 检查本地专线路由器双工模式是否为全双工。
4. 使用 iperf 等多进程并发压测,排除应用程序问题。
参考:专线接入 FAQ

问题3:专线特定网段 ping 不通怎么办?

排查步骤:
1. 确认是否为新启用网段(新网段需云端配置路由)。
2. 排查云上路由表是否有指向专线网关的对应路由。
3. 确认云上安全组、网络 ACL 是否放行流量。
4. 确认客户端 iptables 是否有拦截规则。
5. 排查 IDC 侧是否有 MAC 地址学习异常。

问题4:专线中断后如何处理?

1. 确认中断方式:ping 互联 IP 是否可达,能否收到对端 MAC 地址。
2. 专线拥有者为腾讯云:联系腾讯云售后服务团队(系统会自动收到告警并报障运营商)。
3. 专线拥有者为用户:由用户向运营商报障,必要时请腾讯云配合排查。
参考:专线接入 FAQ

故障排查指南

常见故障速查表

故障现象
可能原因
排查方法
解决方案
云上云下不通
VXLAN 隧道异常
检查 VXLAN 隧道接口状态
重建 VXLAN 隧道
主备频繁切换
VRRP 心跳不稳定
检查 eth2 网卡状态和网络延迟
优化网络链路或调整 VRRP 超时参数
部分 IP 不通
路由配置遗漏
对比 l2gw_history_cmd.log
添加缺失的 IP 路由
HAVIP 漂移异常
Keepalived 配置错误
检查 virtual_ipaddress 配置
修正并执行 l2gw_reload.sh
重启后业务不通
忘记执行上线脚本
检查 keepalived 进程状态
执行 ./l2gw_online.sh

日志查看指南

日志文件
内容
用途
/data/l2gw/l2gw_history_cmd.log
历史配置命令
重启后恢复配置的参考
/var/log/keepalived.log
Keepalived 主备切换日志
排查 VRRP 相关故障
/var/log/messages
系统日志
排查网卡、内核异常

日常巡检 Checklist

检查 L2GW CVM 运行状态(每台)。
检查 Keepalived 主备状态。
验证 HAVIP 绑定在正确的 L2GW 上。
ping 测试云上云下各 CVM 连通性。
检查 VXLAN 隧道接口状态。
检查弹性网卡绑定状态。
监控带宽利用率,是否超过 80%。
验证 l2gw_history_cmd.log 文件完整性。
确认 rc.local 中初始化脚本有效。



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈