简介
本文档介绍在Google云平台(GCP)上部署和配置思科云服务路由器1000v(CSR1000v)和Catalyst 8000v(C800v)边缘路由器的过程。
作者:Eric Garcia、Ricardo Neri,Cisco TAC工程师。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
- 已创建项目的Google云平台活动订用
-
GCP控制台
-
GCP市场
- Bash终端、Putty或SecureCRT
- 公共和私有安全外壳(SSH)密钥
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
从17.4.1开始,CSR1000v成为具有相同功能的C8000v,但新增了SDWAN和DNA许可等新功能。 有关进一步参考,请验证官方产品数据表:
思科云服务路由器1000v产品手册
Cisco Catalyst 8000V边缘软件产品手册
因此,本指南适用于CSR1000v和C8000v路由器的安装。
项目设置
注意:在撰写本文档时,新用户有300美元的免费积分,可充分了解GCP作为免费套餐的使用期限为一年。这由Google定义,不受思科控制。
注意:本文档要求创建公有和私有SSH密钥。有关其他信息,请参阅生成实例SSH密钥以在Google云平台中部署CSR1000v
步骤1.确保帐户的项目有效且有效。
确保您的帐户具有有效且有效的项目,这些项目必须与具有计算引擎权限的组关联。
在本示例部署中,使用GCP中创建的项目。
注意:要创建新项目,请参阅创建和管理项目。
步骤2.创建新的VPC和子网。
创建新的虚拟私有云(VPC)和必须与CSR1000v实例关联的子网。
可以使用默认VPC或之前创建的VPC和子网。
在控制台控制面板中,选择VPC network > VPC networks,如图所示。
选择创建VPC网络(如图所示)。
注意:目前,CSR1000v仅部署在GCP的美国中部地区。
如图所示配置VPC名称。
配置与VPC关联的子网名称,并选择区域us-central1。
如图所示,在us-central1 CIDR 10.128.0.0/20中分配有效的IP地址范围。
将其他设置保留为默认值,并选择“创建”按钮:
注意:如果选择“自动”,GCP会在区域CIDR内分配自动有效范围。
创建过程完成后,新VPC将显示在VPC网络部分,如图所示。
步骤3.虚拟实例部署。
在“计算引擎”部分,选择“计算引擎”>“VM实例”,如图所示。
进入VM控制面板后,选择创建实例选项卡,如图所示。
使用GCP市场(如图所示)显示思科产品。
在搜索栏中,键入Cisco CSR或Catalyst C8000v,选择符合您要求的型号和版本,然后选择Launch。
对于此示例部署,选择了第一个选项,如图所示。
注意:BYOL代表“自带许可证”。
注意:目前,GCP不支持按需支付(PAYG)模式。
GCP需要输入必须与VM关联的配置值,如图所示:
在GCP中部署CSR1000v/C8000v需要用户名和SSH公钥,如图所示。如果尚未创建SSH密钥,请参阅生成实例SSH密钥以在Google云平台中部署CSR1000v。
选择之前创建的VPC和子网,然后选择外部IP中的临时IP,以使公共IP与实例关联,如图所示。
在配置后。选择启动按钮。
注意:端口22需要通过SSH连接到CSR实例。HTTP端口是可选的。
完成部署后,选择Compute Engine > VM instances以验证新CSR1000v是否已成功部署,如图所示。
验证部署
远程连接到新实例
在GCP中登录CSR1000v/C8000V的最常用方法是Bash终端、Putty和SecureCRT中的命令行。在本节中,需要使用以前的方法进行连接的配置。
使用Bash终端登录CSR1000v/C8000v
远程连接到新CSR所需的语法为:
ssh -i private-key-path username@publicIPaddress
示例:
$ ssh -i CSR-sshkey <snip>@X.X.X.X
The authenticity of host 'X.X.X.X (X.X.X.X)' can't be established.
RSA key fingerprint is SHA256:c3JsVDEt68CeUFGhp9lrYz7tU07htbsPhAwanh3feC4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'X.X.X.X' (RSA) to the list of known hosts.
如果连接成功,则显示CSR1000v提示
$ ssh -i CSR-sshkey <snip>@X.X.X.X
csr-cisco# show version
Cisco IOS XE Software, Version 16.09.01
Cisco IOS Software [Fuji], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 16.9.1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2018 by Cisco Systems, Inc.
Compiled Tue 17-Jul-18 16:57 by mcpre
使用PuTTY登录CSR1000v/C8000v
要连接Putty,请使用PuTTYgen应用程序将私钥从PEM转换为PPK格式。
有关其他信息,请参阅使用PuTTYgen将PEM转换为PPK文件。
以正确格式生成私钥后,必须在Putty中指定路径。
在SSH连接菜单的auth选项中,选择用于身份验证的私钥文件部分。
浏览到存储密钥的文件夹并选择创建的密钥。在本例中,图像显示“腻子”菜单的图形视图和所需状态:
选择正确的密钥后,返回主菜单,使用CSR1000v实例的外部IP地址通过SSH连接,如图所示。
注意:在生成的SSH密钥中定义的用户名/密码被请求登录。
log in as: cisco
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key":
csr-cisco#
使用SecureCRT登录CSR1000v/C8000V
SecureCRT需要PEM格式的私钥,这是私钥的默认格式。
在SecureCRT中,在菜单中指定私钥的路径:
File > Quick Connect > Authentication > Uncheck Password > PublicKey > Properties。
图中显示了预期窗口:
选择使用会话公钥字符串>选择使用身份或证书文件>选择...按钮>导航到目录,然后选择所需的密钥>选择确定,如图所示。
最后,如图所示,通过SSH连接到实例的外部IP地址。
注意:在生成的SSH密钥中定义的用户名/密码被请求登录。
csr-cisco# show logging
Syslog logging: enabled (0 messages dropped, 3 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
<snip>
*Jan 7 23:16:13.315: %SEC_log in-5-log in_SUCCESS: log in Success [user: cisco] [Source: X.X.X.X] [localport: 22] at 23:16:13 UTC Thu Jan 7 2021
csr-cisco#
其他VM登录方法
注意:请参阅使用高级方法文档连接到Linux VM。
授权其他用户在GCP中登录CSR1000v/C8000v
登录CSR1000v实例成功后,可以使用以下方法配置其他用户:
配置新用户名/密码
使用以下命令配置新用户和口令:
enable
configure terminal
username <username> privilege <privilege level> secret <password>
end
示例:
csr-cisco# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
csr-cisco(config)#
csr-cisco(config)# username cisco privilege 15 secret cisco
csr-cisco(config)# end
csr-cisco#
新用户现在可以登录CSR1000v/C8000v实例。
使用SSH密钥配置新用户
要访问CSR1000v实例,请配置公钥。实例元数据中的SSH密钥不提供对CSR1000v的访问。
使用以下命令为新用户配置SSH密钥:
configure terminal
ip ssh pubkey-chain
username <username>
key-string
<public ssh key>
exit
end
注意:Cisco CLI的最大行长为254个字符,因此密钥字符串可能不符合此限制,将密钥字符串包装为终端行很方便。有关如何克服此限制的详细信息,请参阅在Google云平台中生成实例SSH密钥以部署CSR1000v
$ fold -b -w 72 /mnt/c/Users/ricneri/.ssh/key2.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDldzZ/iJi3VeHs4qDoxOP67jebaGwC6vkC
n29bwSQ4CPJGVRLcVSNPcPPqVydiXVEOG8e9gFszkpk6c2meO+TRsSLiwHigv28lyw5xhn1U
ck/AYpy9E6TyEEu9w6Fz0xTG2Qhe1n9b5Les6K9PFP/mR6WUMbfmaFredV/sADnODPO+OfTK
/OZPg34DNfcFhglja5GzudRb3S4nBBhDzuVrVC9RbA4PHVMXrLbIfqlks3PCVGOtW1HxxTU4
FCkmEAg4NEqMVLSm26nLvrNK6z7lRMcIKZZcST+SL6lQv33gkUKIoGB9qx/+DlRvurVXfCdq
3Cmxm2swHmb6MlrEtqIv cisco
$
csr-cisco# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
csr-cisco(config)#
csr-cisco(config)# ip ssh pubkey-chain
csr-cisco(conf-ssh-pubkey)# username cisco
csr-cisco(conf-ssh-pubkey-user)# key-string
csr-cisco(conf-ssh-pubkey-data)#ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDldzZ/iJi3VeHs4qDoxOP67jebaGwC
csr-cisco(conf-ssh-pubkey-data)#6vkCn29bwSQ4CPJGVRLcVSNPcPPqVydiXVEOG8e9gFszkpk6c2meO+TRsSLiwHigv28l
csr-cisco(conf-ssh-pubkey-data)#yw5xhn1Uck/AYpy9E6TyEEu9w6Fz0xTG2Qhe1n9b5Les6K9PFP/mR6WUMbfmaFredV/s
csr-cisco(conf-ssh-pubkey-data)#ADnODPO+OfTK/OZPg34DNfcFhglja5GzudRb3S4nBBhDzuVrVC9RbA4PHVMXrLbIfqlk
csr-cisco(conf-ssh-pubkey-data)#s3PCVGOtW1HxxTU4FCkmEAg4NEqMVLSm26nLvrNK6z7lRMcIKZZcST+SL6lQv33gkUKI
csr-cisco(conf-ssh-pubkey-data)#oGB9qx/+DlRvurVXfCdq3Cmxm2swHmb6MlrEtqIv cisco
csr-cisco(conf-ssh-pubkey-data)# exit
csr-cisco(conf-ssh-pubkey-user)# end
csr-cisco#
验证登录CSR1000v/C8000v时配置的用户
要确认配置已正确设置,请使用创建的凭据或使用公钥的私钥对和附加凭据登录。
从路由器端,查看成功登录日志和终端IP地址。
csr-cisco# show clock
*00:21:56.975 UTC Fri Jan 8 2021
csr-cisco#
csr-cisco# show logging
Syslog logging: enabled (0 messages dropped, 3 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
<snip>
*Jan 8 00:22:24.907: %SEC_log in-5-log in_SUCCESS: log in Success [user: <snip>] [Source: <snip>] [localport: 22] at 00:22:24 UTC Fri Jan 8 2021
csr-cisco#
故障排除
如果显示“Operation timed out”错误消息。
$ ssh -i CSR-sshkey <snip>@X.X.X.X
ssh: connect to host <snip> port 22: Operation timed out
可能的原因:
- 实例尚未完成部署。
- 公有地址不是分配给VM中nic0的地址。
解决方案:
等待VM部署完成。通常,完成CSR1000v部署最多需要5分钟。
如果需要密码
如果需要密码:
$ ssh -i CSR-sshkey <snip>@X.X.X.X
Password:
Password:
可能的原因:
解决方案:
- 确保用户名与部署CSR1000v/C8000v时指定的用户名相同。
- 确保私钥与部署时包含的私钥相同。
相关信息