示例:配置 IPv4 和 IPv6 单播地址的 IS-IS 双堆栈
此示例说明如何在 IS-IS 中配置 IPv4 和 IPv6 双堆栈。
要求
配置此示例之前,不需要除设备初始化之外的特殊配置。
概述
您可以使用 IPv4 和 IPv6 双堆栈,通过在现有网络中实施 IPv6 和 IPv4,开始从 IPv4 迁移到 IPv6。这允许您实施 IPv6,以便可以通过 IPv6 提供与当前 IPv4 网络相同的服务,例如视频、语音、高质量数据。然后,您可以执行对 IPv6 的增量升级,并在从 IPv4 迁移到 IPv6 时避免服务中断。
与 RIP 和 OSPF 不同,IS-IS 不需要不同的协议或新版本即可支持 IPv6。由于 IS-IS 使用 ISO 地址,因此在 IS-IS 的 Junos OS 实施中,IPv6 和 IPv4 的配置完全相同。要让 IS-IS 携带 IPv6 路由,您只需将 IPv6 地址添加到支持 IS-IS 的接口,或在 IS-IS 导出策略中包含其他 IPv6 路由。
IS-IS 中关于 IPv6 所需的唯一显式配置是是否要禁用它。或者,您也可以禁用 IPv4 路由,并仅在 IPv6 中使用 IS-IS。此处提供了每个示例:
在 IS-IS 中禁用 IPv6 路由:
[edit protocols isis] user@host# set no-ipv6-routing
将 IS-IS 专用于 IPv6 路由:
[edit protocols isis] user@host# set no-ipv4-routing
图 1 显示了此示例中使用的拓扑。
CLI 快速配置 显示了 图 1 中所有设备的配置。 第 #configuration326__isis-双堆栈逐步 说明部分介绍了设备 R1 上的步骤。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
设备 R1
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.1/30 set interfaces fe-1/2/0 unit 0 family iso set interfaces fe-1/2/0 unit 0 family inet6 address 2001:db8:0:5::/64 eui-64 set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.17/30 set interfaces fe-1/2/1 unit 0 family iso set interfaces fe-1/2/1 unit 0 family inet6 address 2001:db8:0:1::/64 eui-64 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0001.00 set interfaces lo0 unit 0 family inet6 address 2001:db8::1/128 set protocols isis interface fe-1/2/0.0 set protocols isis interface fe-1/2/1.0 set protocols isis interface lo0.0
设备 R2
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.2/30 set interfaces fe-1/2/0 unit 0 family iso set interfaces fe-1/2/0 unit 0 family inet6 address 2001:db8:0:5::/64 eui-64 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0002.00 set interfaces lo0 unit 0 family inet6 address 2001:db8::2/128 set protocols isis interface fe-1/2/0.0 set protocols isis interface lo0.0
设备 R3
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.18/30 set interfaces fe-1/2/0 unit 0 family iso set interfaces fe-1/2/0 unit 0 family inet6 address 2001:db8:0:1::/64 eui-64 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0003.00 set interfaces lo0 unit 0 family inet6 address 2001:db8::3/128 set protocols isis interface fe-1/2/0.0 set protocols isis interface lo0.0
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置 IS-IS 双堆栈:
配置接口,包括每个接口上的 IPv4 和 IPv6 地址。
或者,包括语句以
eui-64
自动生成接口地址的主机编号部分。[edit interfaces] user@R1# set fe-1/2/0 unit 0 family inet address 10.0.0.1/30 user@R1# set fe-1/2/0 unit 0 family iso user@R1# set fe-1/2/0 unit 0 family inet6 address 2001:db8:0:5::/64 eui-64 user@R1# set fe-1/2/1 unit 0 family inet address 10.0.0.17/30 user@R1# set fe-1/2/1 unit 0 family iso user@R1# set fe-1/2/1 unit 0 family inet6 address 2001:db8:0:1::/64 eui-64 user@R1# set lo0 unit 0 family inet address 192.168.0.1/32 user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00 user@R1# set lo0 unit 0 family inet6 address 2001:db8::1/128
在接口上启用 IS-IS。
[edit protocols isis] user@R1# set interface fe-1/2/0.0 user@R1# set interface fe-1/2/1.0 user@R1# set interface lo0.0
结果
在配置模式下,输入和 show protocols
命令以确认show interfaces
您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。
user@R1# show interfaces
fe-1/2/0 {
unit 0 {
family inet {
address 10.0.0.1/30;
}
family iso;
family inet6 {
address 2001:db8:0:5::/64 {
eui-64;
}
}
}
}
fe-1/2/1 {
unit 0 {
family inet {
address 10.0.0.17/30;
}
family iso;
family inet6 {
address 2001:db8:0:1::/64 {
eui-64;
}
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.1/32;
}
family iso {
address 49.0002.0192.0168.0001.00;
}
family inet6 {
address 2001:db8::1/128;
}
}
}
user@R1# show protocols
isis {
interface fe-1/2/0.0;
interface fe-1/2/1.0;
interface lo0.0;
}
完成设备配置后,请从配置模式进入 commit
。
验证
确认配置工作正常。
检查邻接邻接方
目的
确定相邻 IS-IS 设备上支持的拓扑结构。
行动
在操作模式下,输入 show isis adjacency detail
命令。
user@R1> show isis adjacency detail R2 Interface: fe-1/2/0.0, Level: 3, State: Up, Expires in 24 secs Priority: 0, Up/Down transitions: 1, Last transition: 18:34:08 ago Circuit type: 3, Speaks: IP, IPv6 Topologies: Unicast Restart capable: Yes, Adjacency advertisement: Advertise IP addresses: 10.0.0.2 IPv6 addresses: fe80::2a0:a514:0:24c R3 Interface: fe-1/2/1.0, Level: 3, State: Up, Expires in 21 secs Priority: 0, Up/Down transitions: 1, Last transition: 18:33:41 ago Circuit type: 3, Speaks: IP, IPv6 Topologies: Unicast Restart capable: Yes, Adjacency advertisement: Advertise IP addresses: 10.0.0.18 IPv6 addresses: fe80::2a0:a514:0:124c
意义
如预期,输出显示两个邻接方同时支持 IPv4 和 IPv6。此外,还会显示 IPv4 地址和 IPv6 链路本地地址。
IPv6 接口 Ping
目的
请确保可以对远程 IPv6 接口执行 ping 操作。
行动
在操作模式下,输入 ping
从设备 R2 到设备 R3 的 ping 命令。
确定分配给设备 R3 的 IPv6 地址。
如果使用示例所示的 EUI-64 寻址,则会自动分配 IPv6 地址的主机部分。要确定分配了哪些地址,请
show interfaces terse
对设备 R3 使用命令。user@R3> show interfaces terse Interface Admin Link Proto Local Remote fe-1/2/0 fe-1/2/0.0 up up inet 10.0.0.18/30 iso inet6 2001:db8:0:1:2a0:a514:0:124c/64 fe80::2a0:a514:0:124c/64 lo0 lo0.0 up up inet 192.168.0.3 --> 0/0 iso 49.0002.0192.0168.0003 inet6 2001:db8::3 fe80::2a0:a50f:fc56:14c
应可 ping 的 IPv6 地址为 2001:db8:0:1:2a0:a514:0:124c 和 2001:db8:3。
从设备 R2,ping 设备 R3 fe-1/2/0.0 IPv6 接口地址和 lo0.0 IPv6 接口地址。
user@R2> ping 2001:db8:0:1:2a0:a514:0:124c PING6(56=40+8+8 bytes) 2001:db8:0:5:2a0:a514:0:24c --> 2001:db8:0:1:2a0:a514:0:124c 16 bytes from 2001:db8:0:1:2a0:a514:0:124c, icmp_seq=0 hlim=63 time=2.373 ms 16 bytes from 2001:db8:0:1:2a0:a514:0:124c, icmp_seq=1 hlim=63 time=1.600 ms 16 bytes from 2001:db8:0:1:2a0:a514:0:124c, icmp_seq=2 hlim=63 time=2.228 ms
user@R2> ping 2001:db8::3 PING6(56=40+8+8 bytes) 2001:db8:0:5:2a0:a514:0:24c --> 2001:db8::3 16 bytes from 2001:db8::3, icmp_seq=0 hlim=63 time=1.797 ms 16 bytes from 2001:db8::3, icmp_seq=1 hlim=63 time=1.430 ms 16 bytes from 2001:db8::3, icmp_seq=2 hlim=63 time=2.525 ms
意义
此测试确认 IS-IS 已学习 IPv6 路由。
检查 IPv6 路由表
目的
验证预期的路由是否在 IPv6 路由表中。
行动
user@R1> show route table inet6.0 inet6.0: 11 destinations, 12 routes (11 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 2001:db8::1/128 *[Direct/0] 18:52:52 > via lo0.0 2001:db8::2/128 *[IS-IS/15] 01:59:52, metric 10 > to fe80::2a0:a514:0:24c via fe-1/2/0.0 2001:db8::3/128 *[IS-IS/15] 01:59:52, metric 10 > to fe80::2a0:a514:0:124c via fe-1/2/1.0 2001:db8:0:1::/64 *[Direct/0] 18:52:15 > via fe-1/2/1.0 2001:db8:0:1:2a0:a514:0:114c/128 *[Local/0] 18:52:48 Local via fe-1/2/1.0 2001:db8:0:5::/64 *[Direct/0] 18:52:49 > via fe-1/2/0.0 2001:db8:0:5:2a0:a514:0:14c/128 *[Local/0] 18:52:49 Local via fe-1/2/0.0 fe80::/64 *[Direct/0] 18:52:49 > via fe-1/2/0.0 [Direct/0] 18:52:15 > via fe-1/2/1.0 fe80::2a0:a50f:fc56:14c/128 *[Direct/0] 18:52:52 > via lo0.0 fe80::2a0:a514:0:14c/128 *[Local/0] 18:52:49 Local via fe-1/2/0.0 fe80::2a0:a514:0:114c/128 *[Local/0] 18:52:48 Local via fe-1/2/1.0
意义
输出显示 IPv6 接口路由(直接和本地)以及通过 IS-IS 学习的 IPv6 路由。