cisco IOS-XE大变身一 (Guest Shell)
1,神秘容器是什么
在版本16.5.1之后,IOS-XE内运行了一个容器,这个容器上跑CentOS 7.0 minimal版本的Linux。您还可以在这个容器中运行yum包管理器,从而安装更多的Linux应用。
这个容器名为Guest Shell。
Guest Shell内预装了Python,Python的版本是2.7.5,在IOS-XE 17.1.1之后,您也可以自行安装Python3,在IOS XE 17.3.1之后,Python默认版本就是3。
您可以和Python解释器进行交互通信,也可以通过运行Python脚本来完成特定的自动化任务。
下表比较了不同软硬件平台上对Guest Shell的支持能力。
本文后续实验使用CSR1000v,运行IOS-XE版本为17.2.1。
在开始做Guest Shell实验之前,需要检查确认以下CSR1000v的配置:
-
如果是使用Workstation来运行CSR1000v,请您确保网络适配器1为NAT模式,具备上网能力。
-
开启CSR1000v后,将GigabitEthernet1接口no shutdown,并且配置为ip address dhcp。
-
配置usrename admin priviledge 15 password cisco用于远程登录管理。
-
在line vty 0 5之下配置login local以及transport input telnet ssh。
-
通过telnet或者ssh登录之后,开启terminal monitor,接收终端信息。
IOS-XE设备允许用户部署容器,并且安装应用,开通其上的SaaS,这个功能我们称之为Application Hosting。
2,Guest Shell激活三步走
2.1 使能IOx
IOx = IOs + linuX
IOx是思科网络平台上的一个应用框架,用于提供application hosting的服务,这也是开启Guest Shell的必要前提。
检查结果应如下:
从检查结果中可以看到,CAF,IOXman以及Libvirtd这几个服务已经运行,这是进一步开启Guest Shell之前必须要确保的。
2.2 网络参数设置
参考上图执行下述配置:
注意:
-
CSR1000v没有管理接口,所以必须要配置VirtualPortGroup。
-
交换机没有VirtualPortGroup,需参考手册完成相关配置,例如配置AppGigabitEthernet接口。
-
检查,格式自动变化为:(一定要检查guest-interface 0这个位置,前后不一致会报网关出错!!!)
app-hosting appid guestshell
app-vnic gateway0 virtualportgroup 0 guest-interface 0
guest-ipaddress 192.168.35.2 netmask 255.255.255.0
app-default-gateway 192.168.35.1 guest-interface 0
name-server0 8.8.8.8