SD-WAN适合现代企业,尤其是需要支持分布式工作、云计算和混合IT环境的企业。Cisco SD-WAN搭建部署颇为繁琐复杂,后续根据需要更新SD-WAN的原理分析,工作机制。
Cisco SD-WAN分为4组件:vManage、vBond、vSmart、vEdge。
管理平面---vManage:提供了一个高度可视化的仪表板,可简化网络操作。它在整个 SD-WAN 结构中提供集中配置、管理、操作和监控。
编排平面---vBond:协调器,主要负责协调管理平面,控制平面,数据平面之间的控制连接;主要负责授权连接。
控制平面---vSmart:负责路由,控制,提供路由策略、QOS策略、流量工程等;vSmart与所有vEdge之间有OMP协议(上层管理协议),提供中心策略、负责实施策略。
数据平面---vEdge:负责数据转发,产生路由,支持OSPF、BGP、VRRP。
通过GNS3搭建拓扑
基础配置,管理中心和vedge 网络可达,其中site内有台路由器,设置IP是10.10.10.10、20.20.20.20 、30.30.30.30。
大概分成4步:
第一步在管理中心配置Vmanage、vBond、vSmart的组织名和网络,使3者网络互通。
第二步给Vmanage、vBond、vSmart生成证书,加载证书。
第三步上传WAN-list 文件 serialFile.viptela,注册vedge,配置vedge模板。
第四步下发配置模板到vedge,完成配置,测试联通性。
开始开始
第四步配置模板,使site之间可以互相访问。开始:
第一步在管理中心配置Vmanage、vBond、vSmart的组织名和网络,使3者网络互通。
其中管理的中心的IP配置:
vpn 512 管理接入的VPN:172.16.40.0/24;
vpn 0 业务承载:10.10.1.0/24;
organization-name :ether-net;
vbond:10.10.1.3;
vmanage配置如下:
system
host-name vmanage-1
system-ip 172.16.40.1
site-id 1001
admin-tech-on-failure
sp-organization-name ether-net
organization-name ether-net
vbond 10.10.1.3
vpn 0
interface eth1
ip address 10.10.1.1/24
tunnel-interface
allow-service all
allow-service dhcp
allow-service dns
allow-service icmp
allow-service sshd
allow-service netconf
no allow-service ntp
no allow-service stun
allow-service https
!
no shutdown
!
ip route 0.0.0.0/0 10.10.1.254
!
vpn 512
interface eth0
ip address 172.16.40.1/24
no shutdown
!
ip route 0.0.0.0/0 172.16.40.254
!
vsmart配置如下:
system
host-name vsmart-1
system-ip 172.16.40.2
site-id 1002
admin-tech-on-failure
organization-name ether-net
vbond 10.10.1.3
vpn 0
interface eth1
ip address 10.10.1.2/24
tunnel-interface
allow-service all
allow-service dhcp
allow-service dns
allow-service icmp
allow-service sshd
allow-service netconf
no allow-service ntp
no allow-service stun
!
no shutdown
!
ip route 0.0.0.0/0 10.10.1.254
!
vpn 512
interface eth0
ip address 172.16.40.2/24
no shutdown
vbond配置如下:
system
host-name vbond-1
system-ip 172.16.40.3
site-id 1003
no route-consistency-check
sp-organization-name ether-net
organization-name ether-net
clock timezone Asia/Shanghai
vbond 10.10.1.3 local
vpn 0
interface ge0/0
ip address 10.10.1.3/24
ipv6 dhcp-client
tunnel-interface
encapsulation ipsec
allow-service all
no allow-service bgp
allow-service dhcp
allow-service dns
allow-service icmp
allow-service sshd
allow-service netconf
no allow-service ntp
no allow-service ospf
no allow-service stun
!
no shutdown
!
ip route 0.0.0.0/0 10.10.1.254
!
vpn 512
interface eth0
ip address 172.16.40.3/24
ipv6 dhcp-client
no shutdown
第二步给Vmanage、vBond、vSmart生成证书,加载证书
登录vmanage 命令行界面,执行命令vshell,生成根证书:
openssl genrsa -out ROOTCA.key 2048
openssl req -x509 -new -nodes -key ROOTCA.key -sha256 -days 2000 \
-subj "/C=AU/ST=NSW/L=NSW/O=ether-net/CN=vmanage.lab" \
-out ROOTCA.pem
ROOTCA.key 是私钥文件
ROOTCA.pem是根证书
含义:
req: 调用 OpenSSL 的证书请求工具。
-x509: 表示生成的是一个自签名证书(X.509 格式)。
-new: 创建一个新的证书签名请求(CSR)。
-nodes: 表示私钥不会被加密(不需要输入密码保护私钥)。
-key ROOTCA.key: 使用第一步生成的私钥 ROOTCA.key。
-sha256: 使用 SHA-256 哈希算法生成证书签名。
-days 2000: 证书的有效期为 2000 天。
-subj "/C=AU/ST=NSW/L=NSW/O=ether-net/CN=vmanage.lab": 定义证书的主题字段(Subject),包括以下信息:
C: 国家代码,例如 AU 代表澳大利亚。
ST: 州或省,例如 NSW 代表新南威尔士州。
L: 城市或地区,例如 NSW。
O: 组织名称,例如 ether-net。
CN: 通用名称(Common Name),例如 vmanage.lab(一般是域名或系统标识符)。
-out ROOTCA.pem: 将生成的自签名证书保存为 ROOTCA.pem 文件。
登录vmanage web界面,访问https://ip:8443/index.html#/app/administration/settings;
设置vbond的ip,Organization Name 的名称,名称要与上传wan-list "serialFile.viptela"内一致
访问https://ip:8443/index.html#/app/config/devices/controller,增加控制器Vmanage、vBond、vSmart。
https://ip:8443/index.html#/app/config/certificates/controller,生成CSR
重新到vmanage 命令行界面,执行命令vshell 对于图片生成CSR的内容保存在Vmanage ,命名为vmanage_CSR ,后根据“vmanage_CSR ”生成crt
openssl x509 -req -in vmanage_csr \-CA ROOTCA.pem -CAkey ROOTCA.key -CAcreateserial \-out vmanage.crt -days 2000 -sha256
重新到vmanage 的web界面https://ip:8443/index.html#/app/config/certificates/controller,给vmanage安装crt。
vbond和vsmart重复上述步骤。
第三步上传WAN-list 文件 serialFile.viptela,配置模板。
vmanage到 17.X.X 及以后的版本需要 SmartAccount 账号到思科官网生成 vEdge 的认证文件导入,vManage 才能添加 vEdge,我从github.com 下载的,用别人的,只需要 organization-name 名称一致就可以使用。
https://ip:8443/index.html#/app/config/devices/vedge上传文件
激活vedge
vedge 配置vpn0 能够访问管理中心的vpn0
vedge 进入vedge 命令行界面,进入vshell界面,复制vmanage 的rootca.pem,退出vshell
执行命令:
request root-cert-chain install /home/admin/rootca.pem
request vedge-cloud activate chassis-number 158c7134-18db-6625-5726-2e88d0ecb90e token 08f07c79548e1f8a5876e28edaca1d0d
查看是否vedge 成功上线。
配置模板,使site之间可以互相访问。
访问https://ip:8443/index.html#/app/config/template/feature
vpn0的配置,增加下一跳路由的配置
配置vpn0的接口配置ge0/0,手动配置IP.配置tunnel,允许所有service
配置site1 VPN 10,参考vpn0,不需要配置tunnel
配置OSPF,通告接口到area 0、重温发OMP
将上述的配置都配置到device 模板
下发模板配置给vedge
第四步配置下发完成,在vedge查看配置下发是否成生效,site1~site3 之间是否可以正常通信