查看: 77|回复: 1

实验案例:Cisco IOL XE 17.18.2 的 SRv6 能力验证

449

主题

1002

回帖

3054万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
30548395

推广达人宣传达人突出贡献优秀版主论坛元老

QQ

实验案例:Cisco IOL XE 17.18.2 的 SRv6 能力验证(4 路由器 + 2 主机,uSID BE / L3VPN / uDT46)

用 4 台 IOL XE 路由器搭一条 IS-IS level-2 链,把 SRv6 的四层能力分开验证:locator 与 uN 转发(基础 BE)、BGP L3VPN 的动态 uDT4/uDT6、静态 uDT46,以及多 SID 的 SRv6 OAM。6 台设备、5 条链路、7 条 traffic filter,全套验收脚本 58 项、加故障注入 63 项。

实测环境:EVE-NG + eve-iac agent 0.9.1;Cisco IOS-XE 17.18.2(IOL,l3-iol-xe-17-18-02.bin);VPCS 1.3 (0.8.1)。

topology.png

image.png

upload 附件:srv6-be-xe.zip

完整预配与 IaC 文件见 §10.1 附件包;第 5 节只列核心行,不要直接拿片段去粘贴。

0. 实测结果

项 实测结果
镜像能力 SRv6 / PFP / MVPN / TILFA 均为 Yes;uN、uA、uDT4、uDT6、uDT46、H.ENCAP.RED;locator 只支持 usid-f3216
Underlay IS-IS level-2 IPv6;PE1/P1/P2/PE2 邻接 Up;4 条 /48locator 全网可达
基础 BE CE1/CE2 对 4 个 locator 全部可达,TTL 64/63/62/61逐跳递减
L3VPN BGP VPNv4/VPNv6 邻居 Established,PfxRcd 1;srv6 out-sid指向对端 locator
数据面 VRF CUST 双向 IPv4 / IPv6 ping 均 5/5;uDT4/uDT6 计数同步增长
uDT46 静态 SID 同时收 IPv4 与 IPv6 内层,各 5/5;unresolved为空
SRv6 OAM 多 SID 40::,30::,20::ping 5/5;P1/P2 的 uN 计数各 +5
验收脚本 常规58/58;加 --fault 63/63
过滤器 7 条全部通过 libpcap 编译并部署;面板命中见 §7.7

1. 这个实验解决什么

SRv6 的文档很容易让人把三件事混成一件:

  1. locator 通告了——IS-IS 里有 Locator TLV;
  2. SID 能 ping 通——报文目的地址就是 SID,中间路由器按 uN 转发;
  3. 封装真的发生了——头端把用户报文塞进外层 IPv6,ip6[6]=41。

第 2 条成立不代表第 3 条成立。基础 BE 里 CE 发出的就是普通 IPv6 报文,DA 直接是 locator SID,全程没有 H.Encaps。如果只看到 “ping 通” 就宣布 SRv6 验证完成,实际上连封装头都没产生过。

这个实验把变量拆开,逐层加码:

  • 第一层:4 台路由器只跑 IS-IS + locator,CE ping 每个 locator,验证 uN 与逐跳转发;
  • 第二层:PE1/PE2 加 vrf definition + BGP VPNv4/VPNv6,让镜像自己分配 uDT4/uDT6,验证 H.Encaps.RED 与 L3VPN 数据面;
  • 第三层:手配静态 uDT46,用同一个 SID 接 IPv4 和 IPv6 两种内层,验证端点行为与 decap-and-lookup;
  • 第四层:用 ping srv6 ... via segment-list 压入多个 SID,验证逐 SID 处理与 SRH 的出现条件。

适用读者:想在 EVE 里确认某个 IOL 镜像到底支不支持 SRv6、支持到哪一层的网络工程师;或者准备用 IOL 做 SRv6 实验,先要知道哪些姿势在这个镜像上根本走不通的人。

2. 镜像与规格

节点 角色 EVE 模板 镜像 vCPU / RAM 网口
CE1 主机 vpcs EVE 自带 — eth0
PE1 SRv6 边缘 iol l3-iol-xe-17-18-02.bin 1 / 1024 MB e0/0、e0/1
P1 中转 iol 同上 1 / 1024 MB e0/0、e0/1
P2 中转 iol 同上 1 / 1024 MB e0/0、e0/1
PE2 SRv6 边缘 iol 同上 1 / 1024 MB e0/0、e0/1
CE2 主机 vpcs EVE 自带 — eth0

镜像版本:

Cisco IOS Software [IOSXE], Linux Software (X86_64BI_LINUX-ADVENTERPRISEK9-M), Version 17.18.2, RELEASE SOFTWARE (fc3)
Compiled Fri 19-Dec-25 03:28 by mcpre

注意事项:

  • 必须用 L3 路由器镜像 l3-iol-xe-17-18-02.bin。l2-* 是三层交换机镜像,定位不同;本实验的 SRv6 结论只对 l3-* 负责。
  • IOL 的 attributes.ethernet 填 1 就是 4 个口(e0/0–e0/3),不是 1 个口。ram、nvram 都是 1024。
  • 节点名必须纯 ASCII。中文节点名在 EVE 往返时会丢字,eve-iac 部署会报 invalid_native_format 并静默删库。

3. 拓扑与地址

拓扑是一条链:CE1 — PE1 — P1 — P2 — PE2 — CE2。PE 做 SRv6 边缘,P 只做 uN 转发。

# A 端 B 端 网络 地址
1 CE1 eth0 PE1 e0/0 2001:db8:aa::/64 CE1 ::2,PE1 ::1
2 PE1 e0/1 P1 e0/0 2001:db8:12::/64 PE1 ::1,P1 ::2
3 P1 e0/1 P2 e0/0 2001:db8:23::/64 P1 ::1,P2 ::2
4 P2 e0/1 PE2 e0/0 2001:db8:34::/64 P2 ::1,PE2 ::2
5 PE2 e0/1 CE2 eth0 2001:db8:bb::/64 PE2 ::1,CE2 ::2

环回、locator 与 IS-IS:

设备 Loopback0 Locator(format usid-f3216) NET
PE1 2001:db8:100::1/128 2001:db8:10::/48 49.0001.0000.0000.0001.00
P1 2001:db8:100::2/128 2001:db8:20::/48 49.0001.0000.0000.0002.00
P2 2001:db8:100::3/128 2001:db8:30::/48 49.0001.0000.0000.0003.00
PE2 2001:db8:100::4/128 2001:db8:40::/48 49.0001.0000.0000.0004.00

VRF CUST 与 BGP:

设备 RD RT(import/export) Lo100(IPv4) Lo101(IPv6) BGP AS
PE1 65000:1 65000:100 192.168.100.1/32 2001:db8:c100::1/128 65000
PE2 65000:2 65000:100 192.168.100.2/32 2001:db8:c100::2/128 65000

每个三层以太口还配了一个不用的 IPv4 /30(10.255.x.x)。它不是装饰,原因见 §8.4。

4. 关键设计

  • 只跑 IS-IS level-2,不跑 OSPF:SRv6 locator 要在 IGP 里通告,IS-IS 的 Locator TLV 在 IOL XE 上最直接。单区域、level-2-only,邻居关系是确定的线性结构,排查时不需要考虑区域边界。
  • **locator 用 /48 + usid-f3216**:这个镜像只支持 uSID 压缩格式,没有非压缩 format;/48 = block 32 + ID 16,动态 SID 从 E000 起、静态 uDT46 用 E100;四个 locator 是 10::、20::、30::、40::。
  • 基础 BE 故意“不封装”:CE ping locator SID 时,报文 DA 就是 SID,PE 只做 uN 转发。这一阶段的 filter 5/6/7(proto-41、SRH、v4-in-v6)必须全灭,这是负对照,不是失败。
  • L3VPN 用 alloc-mode per-vrf:VPNv4 / VPNv6 各自分配 SID,镜像会生成分开的 uDT4 和 uDT6,而不是一个 uDT46。要验证 uDT46 必须另配静态 SID。
  • **静态 uDT46 固定 E100**:动态 SID 的编号重启后会互换,只有静态 SID 的编号稳定。验收脚本按 Behavior 找 SID,不写死 E000/E001。
  • 多 SID 路径用 OAM 而不是 SR-TE:这个镜像的 SR-TE segment-list 只有 mpls 入口,配不出 SRv6 TE policy;但 ping srv6 ... via segment-list 可以手工压多个 SID,足够验证数据面。
  • 7 条 filter 分三层语义:IS-IS 看 underlay,ICMPv6/ND 看主机侧,三条 SRv6 filter 看封装。单 SID 与多 SID 的 SRH 差异正好由 filter 6 区分。

5. 核心配置(完整预配见附件)

完整、逐字的 6 份配置文件与 IaC 文件都在附件包里(下载与校验见 §10.1)。本节只摘每台设备的核心行,用来说明“这台机器为什么能参与 SRv6”;不要直接拿这些片段去粘贴,复现请用附件里的 configs/default/n_X.cfg。

5.1 PE1:locator 与 IS-IS 绑定

segment-routing srv6
 locators
  locator MAIN
   prefix 2001:db8:10::/48
   format usid-f3216
!
router isis UNDERLAY
 is-type level-2-only
 address-family ipv6 unicast
  segment-routing srv6
   locator MAIN
    level-2

绑定必须分层写,少一层 locator 就不会通告。

5.2 PE1:BGP VPNv4 / VPNv6

router bgp 65000
 bgp router-id 1.1.1.1
 neighbor 2001:DB8:100::4 remote-as 65000
 neighbor 2001:DB8:100::4 update-source Loopback0
 address-family vpnv4
  segment-routing srv6
   locator MAIN
   alloc-mode per-vrf
  neighbor 2001:DB8:100::4 activate
  neighbor 2001:DB8:100::4 send-community extended
  neighbor 2001:DB8:100::4 encap srv6

address-family vpnv6 是同一套配置,只把 AF 换成 vpnv6。两边的 VRF 都用 redistribute connected 把环回送进 VPN 表。

5.3 PE1:VRF CUST 与静态 uDT46

vrf definition CUST
 rd 65000:1
 address-family ipv4
  route-target export 65000:100
  route-target import 65000:100
 address-family ipv6
  route-target export 65000:100
  route-target import 65000:100

segment-routing srv6
 explicit-sids
  sid 2001:DB8:10:E100:: behavior end-dt46
   forwarding
    path 1
     decap-and-lookup vrf-name CUST

命令行输入时写 decap-and-lookup vrf CUST,running-config 会存成 vrf-name CUST。漏掉 VRF 时 SID 不装表,show segment-routing srv6 sid unresolved 会显示 uDT46 ... no vrf。

5.4 P1 / P2:只有 locator 与接口地址

segment-routing srv6
 locators
  locator MAIN
   prefix 2001:db8:20::/48
   format usid-f3216
!
router isis UNDERLAY
 is-type level-2-only
 address-family ipv6 unicast
  segment-routing srv6
   locator MAIN
    level-2

P1 用 20::/48、P2 用 30::/48,其余同构;P 上不需要 BGP、VRF 或封装配置。

5.5 三层接口的写法(以 PE1 e0/0 为例)

interface Ethernet0/0
 ip address 10.255.1.1 255.255.255.252
 ipv6 address 2001:db8:aa::1/64
 ipv6 router isis UNDERLAY
 isis circuit-type level-2-only
 no shutdown

那个 ip address 是 dummy,只为让 no shutdown 在启动配置里落地。

5.6 CE1 / CE2(VPCS,完整两行)

set pcname CE1
ip 2001:db8:aa::2/64 2001:db8:aa::1

CE2 同理:set pcname CE2 + ip 2001:db8:bb::2/64 2001:db8:bb::1。VPCS 不是 Cisco CLI,不要给 ip 行加 set。

6. 复现步骤

6.1 手工 EVE(不需要 eve-iac)

  1. 新建 lab,按第 3 节加 4 台 iol(镜像 l3-iol-xe-17-18-02.bin,ethernet: 1,RAM 1024)和 2 台 vpcs。
  2. 连 5 条链路,注意接口名:IOL 是 e0/0、e0/1,VPCS 只有 eth0。
  3. 启动全部节点,逐台打开控制台,把附件里 configs/default/n_1.cfg … n_6.cfg 的内容粘贴进去,IOL 上再 write memory。
  4. 关闭分页,否则长输出会卡在 --More--:enable 后执行 terminal length 0。
  5. 按第 7 节逐项验收。

6.2 IaC 一键复现(eve-iac)

srv6-be-xe/
├── .eve-iac.yml
├── topology.yml
└── configs/
    └── default/
        ├── n_1.cfg … n_6.cfg

.eve-iac.yml:

version: 1
topology: topology.yml

eve:
  lab: /IaC/srv6-be-xe.unl

MCP 调用顺序:

eve_iac_status                         # 确认工程被发现,mode=create
eve_iac_validate                       # 拓扑 + BPF 表达式编译
eve_iac_plan                           # 首次应为 create
eve_iac_deploy replace=true            # 建 lab
eve_iac_start                          # 启动全部节点

改启动配置后,0.9.1 的 reconcile 只上传、不激活,必须 stop → wipe → start(wipe 是破坏性操作,需明确授权);只 stop → start 不会重读改过的配置。

7. 验收判据

7.1 Underlay

show isis neighbors

期望:PE1、PE2 各 1 个 Up;P1、P2 各 2 个 Up(线性拓扑)。

show ipv6 route 2001:DB8:10::/48
show ipv6 route 2001:DB8:20::/48
show ipv6 route 2001:DB8:30::/48
show ipv6 route 2001:DB8:40::/48

期望:四个 locator 都是 IS-IS 学到的路由。show isis database verbose 里能看到 Locator TLV。

7.2 SID 表

show segment-routing srv6 sid

PE1 实测输出(列宽已压缩):

SID                                  Locator         Behavior             Context                 Owner
2001:DB8:10::                        MAIN            uN (PSP/USD)                                 SID-MGR
2001:DB8:10:E000::                   MAIN            uDT4                 CUST                    router bgp
2001:DB8:10:E001::                   MAIN            uDT6                 CUST                    router bgp
2001:DB8:10:E002::                   MAIN            uA (PSP/USD)         Et0/1 FE80::...          router isis UNDERLAY
2001:DB8:10:E100::                   MAIN            uDT46                CUST                    SID-MGR

判据不是 SID 编号,而是 Behavior 列:必须同时看到 uN、uDT4、uDT6、uA、uDT46。动态 SID 的 E000/E001 在重启后可能互换,uA 也可能占 E002;只有静态 uDT46 固定 E100。

7.3 基础 BE:locator 可达与 TTL

在 CE1 上:

ping 2001:db8:10:: -c 3
ping 2001:db8:20:: -c 3
ping 2001:db8:30:: -c 3
ping 2001:db8:40:: -c 3

期望:全部 3/3;TTL 依次为 64、63、62、61。CE2 反向测四个 locator,期望同样是 64/63/62/61。

再看每台路由器的 uN 计数:

show segment-routing srv6 sid detail

期望:四个 locator 的 uN (PSP/USD) 计数随 ping 增长。这一阶段 uDT4/uDT6/uDT46 计数保持不变,filter 5/6/7 也不亮——因为没有封装。

7.4 L3VPN:控制面与数据面

show bgp vpnv4 unicast all summary
show bgp vpnv6 unicast all summary

期望:PE1 的邻居 2001:DB8:100::4、PE2 的邻居 2001:DB8:100::1 都是 Established,State/PfxRcd 为 1。

show bgp vpnv4 unicast all 192.168.100.2/32

期望能看到对端分配的 SID:

srv6 out-sid: 2001:DB8:40:E000::

数据面:

ping vrf CUST 192.168.100.2 source 192.168.100.1 repeat 5
ping vrf CUST ipv6 2001:db8:c100::2 source 2001:db8:c100::1 repeat 5

两个方向都测(PE2 反向时目的与 source 互换),期望各 5/5。之后 show segment-routing srv6 sid detail 里 uDT4/uDT6 的包数增长——请求在对端 PE 解封装,回程在本端 PE 解封装,各 5 包。

7.5 静态 uDT46:一个 SID 收两种内层

ping srv6 vrf CUST 192.168.100.2 via segment-list 2001:DB8:40:E100:: source 192.168.100.1 repeat 5
ping srv6 vrf CUST 2001:db8:c100::2 via segment-list 2001:DB8:40:E100:: source 2001:db8:c100::1 repeat 5

期望:两条都是 5/5。反向(PE2 → PE1)把目的与 source 换成 PE1 的环回、SID 换成 2001:DB8:10:E100::,同样 5/5。同一条 uDT46 计数增长两次(IPv4 内层与 IPv6 内层各一轮)。

show segment-routing srv6 sid unresolved

期望:为空。若出现 uDT46 ... no vrf,说明 decap-and-lookup 漏了 VRF。

7.6 SRv6 OAM:多 SID 路径

在 PE1 上:

ping srv6 2001:db8:100::4 via segment-list 2001:db8:40::,2001:db8:30::,2001:db8:20::

SID 列表是逗号分隔、bottom SID first。期望 5/5,且 P1/P2 的 uN 计数各增长 5——证明报文确实逐 SID 经过了 20:: 和 30::。

多 SID 的 traceroute srv6 在本镜像上不可靠:实测两次都给出 7 跳的怪路径(PE2 之后回折 P2/P1 再回 PE2),且工具调用容易超时。路径验证用 ping srv6 + 各跳 uN 计数,不要用 traceroute。

7.7 Traffic filters 与面板判读

7 条过滤器(timeout 全部 500 ms):

# 标题 表达式 颜色 看什么
1 IS-IS ether[14] = 0xfe and ether[15] = 0xfe #8e24aa underlay 常亮
2 ICMPv6-Request icmp6 and ip6[40] = 128 #1e88e5 主机 ping 请求
3 ICMPv6-Reply icmp6 and ip6[40] = 129 #fdd835 主机 ping 应答
4 ND-NS-NA icmp6 and (ip6[40] = 135 or ip6[40] = 136) #6d4c41 邻居发现
5 SRv6-Encap-v6 ip6 and ip6[6] = 41 #00acc1 IPv6 内层封装
6 SRv6-SRH ip6 and ip6[6] = 43 and ip6[42] = 4 #fb8c00 SRH(Routing Type 4)
7 SRv6-Encap-v4 ip6 and ip6[6] = 4 #d81b60 IPv4 内层封装

预期命中:

  • 基础 BE 阶段:filter_1 常亮,2/3/4 随 ping 闪;5/6/7 全灭——没有封装。
  • L3VPN / uDT46 阶段:单 SID 的 H.Encaps.RED 把 uSID carrier 压进 DA,不带 SRH。IPv4 内层亮 filter_7,IPv6 内层亮 filter_5,filter_6 保持熄灭。
  • 多 SID OAM 阶段:filter_6 出现,且每次 5 包 ping 恰好命中 5 次。

本次截图时的面板累计值(未重置):IS-IS 821、ICMPv6-Request 98、ICMPv6-Reply 99、ND-NS-NA 38、SRv6-Encap-v6 96、SRv6-Encap-v4 106、SRv6-SRH 5。

命中次数只能在 EVE 的 Traffic Filters 面板里看,MCP 没有读命中数的通道。500 ms 窗口下零星报文可能漏抓,发 5–10 次 ping 再观察。截图时可临时把 timeout 调到 2000(会清零计数,截完改回)。

7.8 反证:停机测试

真正的反证不是“ping 通”,而是“该断的时候确实断了”:

  1. 停 PE2;
  2. 在 PE1 上等 show ipv6 route 2001:DB8:40::/48 变成 % Route not found(IS-IS 撤销,最长等 180 秒);
  3. 在 CE1 上 ping 2001:db8:40:: -c 3,期望 0/3;
  4. 起回 PE2,等路由恢复,再 ping,期望 3/3。

注意 VPCS 的 IPv6 输出陷阱:ICMP 错误行也带 icmp6_seq=,行首是 *。只数不以 * 开头的行,否则会把“No route to destination”数成回包。

8. 踩坑清单(按“会骗到你”的程度排序)

8.1 “SID 能 ping 通”不等于“SRv6 封装发生了” ★最坑

基础 BE 里 CE 发的是普通 IPv6,DA 就是 locator SID。uN 转发成立、ping 全通,但 proto-41 / SRH / v4-in-v6 三条 filter 一条都不会亮。这不是过滤器坏了,是本来就没有封装。 要看到封装,必须加 VRF + BGP L3VPN 或静态 uDT。

8.2 decap-and-lookup 必须带 vrf

帮助里写的是 decap-and-lookup vrf-name VRF name,实际输入要写 decap-and-lookup vrf CUST;只写 VRF 名会报 Invalid input。漏掉 VRF 时命令能进去,但 show segment-routing srv6 sid unresolved 显示 uDT46 ... no vrf,SID 不装表,ping 直接失败。

8.3 IS-IS 的 locator 绑定必须分层

只写 router isis UNDERLAY → segment-routing srv6 不会通告 locator,必须继续进 address-family ipv6 unicast → segment-routing srv6 → locator MAIN → level-2。写成单行或少一层,show isis database verbose 里就没有 Locator TLV。

8.4 IPv6-only 接口的 no shutdown 会被静默丢弃

启动配置里接口只有 IPv6 地址时,IOL XE 会静默丢掉 no shutdown,接口开机后仍是 admin down。加一个不用的 dummy IPv4 /30 就能解决,IS-IS 仍然只跑 IPv6 AF。这个坑在“手工粘贴时明明有 no shutdown、重启后接口却 down”时最容易骗人。

8.5 动态 SID 编号重启后会互换

E000/E001 在 uDT4 和 uDT6 之间互换,uA 邻接 SID 也可能占 E002。判定按 Behavior + Context 找,不要写死编号;只有静态 uDT46 固定 E100。写验收脚本时尤其要注意。

8.6 show segment-routing srv6 locator detail 不存在

查计数器要用 show segment-routing srv6 sid detail,而且它会分页——先 terminal length 0。另外 show segment-routing srv6 sid 在部分路由器上要 enable 后才能执行。

8.7 VPCS 的 IPv6 ping 错误行伪装成回包

*2001:db8:aa::1 icmp6_seq=1 ttl=64 time=0.643 ms (ICMP type:1, code:0, No route to destination)

行首 * 是错误标记,但 icmp6_seq= 照样在。只统计 /^(?!\*)\S+\s+icmp6_seq=\d+/ 的行。

8.8 ping srv6 的参数顺序与 via

repeat/source/size 放在 SID 列表之后;ping srv6 vrf CUST <dest> 不带 via 会报 Incomplete / No SRv6 SID。SID 列表是 bottom SID first。

8.9 SR-TE 配不出 SRv6 TE policy

segment-routing traffic-eng 的 CLI 在,但 segment-list name X 下 index 1 ? 只有 mpls,没有 SRv6 SID 入口。要压多 SID 路径只能用 OAM 的 ping srv6 ... via segment-list。

8.10 改启动配置后 stop → start 不重读

IOL 的 disk 里还是旧配置。reconcile 只负责上传 configset,真正的激活路径是 stop → wipe → start(wipe 是破坏性操作,需明确授权);只 stop → start 看到的是旧配置。

8.11 控制台输出偶发空读

console_exec 偶尔整条返回空,或把最后一行塞进 prompt 字段。判据要用“读到的内容是否满足预期”,不满足就退避重读;必要时回读 console_history(多 SID ping 被截断过一次,历史里是 5/5)。

9. 已知限制

  • 线性拓扑、单区域:IS-IS 只有一条路径,TI-LFA 的快速收敛没有功能验证(CLI 存在,fast-reroute ti-lfa level-2 可配)。
  • 没有 SRv6 TE policy:本镜像的 segment-list 不支持 SRv6 SID,只有 OAM 的手工多 SID 路径。
  • 只做了单 VRF:没有跨 VRF 泄漏、没有 EVPN 与 SRv6 的结合。
  • uSID only:locator 只支持 format usid-f3216,非压缩 SID 不在本实验范围。
  • uDT46 是静态的:BGP per-VRF 只生成 uDT4/uDT6,uDT46 靠 explicit-sids 手工配。
  • 多 SID traceroute 不可靠:路径验证用 ping + 各跳计数。
  • 过滤器是观测工具,不是 ACL:timeout 500 ms,零星报文可能漏抓;命中数只能在 EVE GUI 看。
  • 版本敏感:结论基于 IOS XE 17.18.2 IOL。换版本先核对 capabilities-parameters 与 SID 表格式。

10. 附录

10.1 A. 附件包(完整预配 + IaC)

完整配置与 IaC 文件打包为 **srv6-be-xe.zip**(约 196 KB,SHA-256 4d9238f6b4d057d2eb039d9faf4374b849010bf1618799e6ec31e01375559e96)。下载方式(发布时替换):

不忘初心
回复

使用道具 举报

0

主题

24

回帖

2869

积分

高级会员

Rank: 4

积分
2869
发表于 10 小时前 | 显示全部楼层

请问是不是不能下载?

回复

使用道具 举报

本版积分规则

Copyright   ©2015-2026  EmulatedLab  Powered by Discuz!©   ( 浙ICP备2021010423号-1 )
快速回复 返回列表 返回顶部