什么是ZTP

Zero Touch Provisioning (ZTP) 是一项能够在几分钟内无需任何人工干预部署数千个网络设备的功能。
ZTP存在两种不同的操作:

  1. 下载应用配置到网络设备
  2. 下载并执行一个shell/python 脚本,shell/python 脚本中再包含配置的下载,软件版本检查,升级等操作。

要拥有一个有效的ZTP环境,DHCP和Web服务器是必须的。

在 ZTP 期间,DHCP 服务器提供引导文件名的路径。路由器下载此文件,如果下载的文件内容以 !! IOS XR ,它被认为是一个配置文件,ZTP对配置文件执行“apply_config”操作。如果下载的文件内容以#! /bin/bash, #! /bin/sh 或 #!/usr/bin/python 它被视为脚本文件,ZTP 执行该脚本。

ZTP Work Flow

ZTP 工作流程如下:

  1. XR Router 初始化ZTP,发送DHCP请求
  2. DHCP server返回配置文件或者脚本文件
  3. 路由器请求并下载脚本文件或者配置文件
  4. 路由器根据脚本文件下载镜像或者commit下载的配置文件.
Read the rest of this entry »

Update/Upgrade Packet

!!!! important , must be done.

rory@rory-22-04:~$ sudo apt update
rory@rory-22-04:~$ sudo apt upgrade

Modify Config to enable ipv6 support

/etc/ppp/options

!!!! add below under config file 
rory@rory-22-04:~$ grep ipv6 /etc/ppp/options
+ipv6 ipv6cp-use-ipaddr

/etc/sysctl.d/10-ipv6-privacy.conf

!!!! Make sure below config exsit under file 
rory@rory-22-04:~$ grep ipv6 /etc/sysctl.d/10-ipv6-privacy.conf
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2

/etc/sysctl.conf

rory@rory-22-04:~$ grep ipv6 /etc/sysctl.conf
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.ppp0.accept_ra=2

After take all above action, reboot your pc to make config take effect.

rory@rory-22-04:~$ reboot 

Setup PPP

Step 1: Open NM connection editor

rory@rory-vm:~$ sudo nm-connection-editor 
Read the rest of this entry »

IPv6 地址获得方式

  1. 手动配置: 手动配置IPv6地址/前缀即其他网络配置参数(DNS、NIS、SNTP 服务器地址等参数)。
  2. 无状态地址地址分配: 由接口ID (MAC) 生成链路本地地址, 再根据路由通告报文RA(Router Advertisement) 包含的前缀信息自动配置本机地址.
  3. 有状态自动地址分配: 即DHCPv6方式, DHCPv6 又分为如下两种:
    • DHCPv6有状态自动分配: DHCPv6服务器自动分配IPv6地址/RD前缀以及其他网络配置参数(DNS、NIS、SNTP 服务器地址等参数).
    • DHCPv6无状态自动分配: 主机IPv6地址仍然通过路由器通告方式自动生成,DHCPv6服务器只分配除IPv6地址以外的配置参数,包括DNS、NIS、SNTP 服务器地址等参数

如上, 路由器会周期的发送RA, 用来发现与本链路相连的路由器, 并获取与地址自动配置相关的前缀或其它配置参数。

有很多情况下,主机接入网络后会希望尽快获取前缀进行通信, 会立刻发送RS报文,路由器收到后会立刻回应RA。

RA(Router advertisement)报文置位情况:

M-bit置位: Client收到M-bit置位的RA报文, 需要向DHCPv6 Server 申请地址,DHCPv6 分配什么地址,client就需要使用什么地址.

O-bit置位: 如果O-bit没有置位, 则不去DHCP申请选项信息;如果置位了,则需要向DHCPv6请求DNS等其他信息。

M+O 为DHCPv6有状态自动配置, 单独M 为 DHCPv6无状态自动配置。

需要注意的是:

无论是无状态自动配置还是DHCPv6有或者无状态自动配置, ipv6节点的default gateway 地址都是RA通告得到的, 为通告RA信息的路由器的link-local地址。

PPPoE – Stateful Autoconfiguration(DHCPv6)

最近测试了下NCS55上面的MVPN,整理一下防止自己忘记了.

  • NCS55在MVPN profile上的支持不如ASR9K的种类多,具体哪些profile支持需要参考下NCS55的配置文档
  • NCS55由于芯片的特殊性,有些计数器并不是默认打开的,需要一些特殊的配置,如本文的组播流量的统计上。

Profile 14,据说是NCS55上最受欢迎的profile;这里使用如下的拓扑进行测试。

拓扑

Read the rest of this entry »

Tags: , ,

Step1: Yum install

[root@server1 ~]# yum -y install dhcp

Step2: modify config

Read the rest of this entry »

最近尝试了下使用Golden ISO升级了下设备,发现其比使用官方提供的mini的ISO镜像更方便,时间更短,属实是太方便了。

什么是Golden ISO呢,GISO属于自定义的镜像文件,可以选择性的将mini iso + option rpm + smu + config file 等定制成一个镜像文件,这样我们在升级的时候只需要安装一个文件,可以省略之前很多很多的步骤。

GISO分为以下两种:

  • Optimised GISO (目前只能由官方提供)
  • Non-optimised GISO (使用github上public的python 脚本自己自定义)

Non-optimised GISO的缺点:

如果使用python脚本自定义的GISO,无法用于PXE安装,即使PXE安装了也只会成功安装mini iso,其它的自定义的oprion rpm/config 文件不会被加载。文章最后会说一下如何解决这个问题。

本文主要来介绍,如何使用Github上的脚本自己在本地定制化GISO文件。

Read the rest of this entry »

思科SP系列高端路由器都是由引擎RP/线卡(业务卡/LC)/矩阵卡FC(fabric card)等组成,但是只有引擎RP上存在console口,其他的板卡都是没有物理的console线路,所以在排查业务板卡等系列没有物理console线路的板卡启动失败的问题时,往往都只能login设备采集业务板卡的启动log,而往往这些log都很简单,并不能告诉我们这个板卡出了什么问题,那其实我们有内置的console线路,可以让我们能够跳转到其他板卡的console口,查看启动的详细log。方法如下:

CRS

CRS使用的32bit的系统,我们也称之为cXR,而且有且只有32bit 版本的系统,并且最有一个软件版本为6.7.4,后续不会再有软件更新。一般来说CRS的硬件故障很容易从log中识别出来原因,所以下面跳转到板卡console的方式并不常用,了解即可,退出符为CTRL+/

RP/0/RP0/CPU0:CRS-D# run console_tunneling 0/0/cpu0
Thu Jun 23 15:46:27.360 EDT
Trying to connect to node 0/0/CPU0...
Connected to node 0/0/CPU0.
Escape character is '^_'.


Connection to node 0/0/CPU0 closed.
Read the rest of this entry »
https://rory-1251435693.cos.ap-beijing.myqcloud.com/img/image-20220602024556354.png
https://rory-1251435693.cos.ap-beijing.myqcloud.com/img/image-20220602024457745.png
Read the rest of this entry »

« Older entries § Newer entries »