简介
本文档介绍在Google云平台(GCP)上部署和配置Cisco CSR1000v和Catalyst 8000v (C800v)的步骤。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 对Google云平台的活动订阅,已创建项目
-
GCP控制台
-
GCP市场
- Bash终端、Putty或SecureCRT
- 公共和专用安全外壳(SSH)密钥
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
从17.4.1开始,CSR1000v变为C8000v,具有相同的功能,但添加了新功能,如SD-WAN和思科DNA许可。 如需进一步参考,请验证官方产品数据表:
思科云服务路由器1000v产品手册
Cisco Catalyst 8000V Edge软件数据表
因此,本指南适用于CSR1000v和C8000v路由器的安装。
项目设置
注意:在撰写本文档时,新用户有300美元的免费积分,可将GCP作为免费套餐全面探索一年。这由Google定义,不受思科控制。
注意:本文档要求创建公用SSH密钥和专用SSH密钥。有关其他信息,请参阅生成实例SSH密钥以便在Google云平台中部署CSR1000v
步骤1:确保客户的项目有效且有效。
确保您的帐户具有有效且活动的项目,这些项目必须与具有计算引擎权限的组相关联。
对于此示例部署,使用GCP中创建的项目。
注意:要创建新项目,请参阅创建和管理项目。
第二步:创建新的VPC和子网。
创建新的虚拟私有云(VPC)和必须与CSR1000v实例关联的子网。
可以使用默认VPC或以前创建的VPC和子网。
在控制台控制面板中,选择VPC网络> VPC网络(如图所示)。
选择创建VPC网络(如图所示)。
注意:目前,CSR1000v仅部署在GCP上的美国中部地区。
如图所示配置VPC名称。
配置与VPC关联的子网名称,并选择region us-central1。
在us-central1 CIDR 10.128.0.0/20内分配有效的IP地址范围,如图所示。
保留其他设置作为默认值并选择创建按钮:
注意:如果选择“自动”,GCP将分配区域CIDR内的自动有效范围。
创建过程完成后,新VPC将显示在VPC网络部分中,如图所示。
第三步:虚拟实例部署。
在计算引擎部分,选择计算引擎> VM实例,如图所示。
在VM控制面板中,选择创建实例选项卡如图所示。
请使用图中所示的GCP marketplace显示思科产品。
在搜索栏中,键入Cisco CSR 或Catalyst C8000v,选择符合您的要求的型号和版本,然后选择Launch。
对于此示例部署,选择了第一个选项,如图所示。
注意:BYOL代表“自带许可证”。
注:目前,GCP不支持即用即付(PAYG)模式。
GCP要求输入必须与VM关联的配置值,如图所示:
在GCP中部署CSR1000v/C8000v需要用户名和SSH公钥,如图所示。如果尚未创建SSH密钥,请参阅生成实例SSH密钥以便在Google云平台中部署CSR1000v。
选择之前创建的VPC和子网,并在外部IP中选择短暂,以使公共IP与实例相关联,如图所示。
配置完该配置后。选择启动按钮。
注意:通过SSH连接到CSR实例需要端口22。HTTP端口是可选的。
部署完成后,选择计算引擎> VM实例以验证新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选项中选择Private key file for authentication部分。
浏览到存储密钥的文件夹,并选择创建的密钥。在本示例中,图像显示Putty菜单的图形视图和所需的状态:
选择正确的密钥后,返回主菜单,使用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
Secure CRT需要PEM格式的私钥,这是私钥的默认格式。
在安全CRT中,在菜单中指定私钥的路径:
File > Quick Connect > Authentication > Uncheck Password > PublicKey > Properties。
该图显示了预期的窗口。
选择Use session public key string > Select Use identity or certificate file > Select ...按钮>导航到目录并选择所需的密钥>选择OK(如图所示)。
最后,通过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个字符,因此密钥字符串无法满足此限制,因此可以方便地将密钥字符串换行以适合终端行。有关如何克服此限制的详细信息,请参阅生成实例SSH密钥以在Google云平台中部署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的地址。
解决方案
等待虚拟机部署完成。通常,CSR1000v部署最多需要5分钟才能完成。
如果需要密码
如果需要密码:
$ ssh -i CSR-sshkey <snip>@X.X.X.X
Password:
Password:
可能的原因
- 用户名或私钥不正确。
- 在MacOS或Linux等较新版本的Operating Systems上,OpenSSH实用程序默认不启用RSA。
解决方案
- 确保用户名与部署CSR1000v/C8000v时指定的用户名相同。
- 确保私钥与部署时包括的私钥相同。
- 在ssh命令中指定接受的密钥类型。
ssh -o PubkeyAcceptedKeyTypes=ssh-rsa -i <private_key> <user>@<host_ip>
相关信息