环路接口
本主题讨论环路接口的使用、有关如何配置环路接口的分步过程及示例。
环路接口概述
互联网协议 (IP) 可以指定一个具有 (IPv4) 地址 127.0.0.0/8 的环路网络。大多数 IP 实施方案均支持使用环路接口 (lo0) 表示环路设施。计算机程序在环路网络上发送的任何流量都将寻址至同一台计算机。环路网络上最常用的 IP 地址是 127.0.0.1(适用于 IPv4)和 ::1(适用于 IPv6)。地址的标准域名为 localhost。
网络设备还包括一个内部环路接口 (lo0.16384)。内部环路接口是逻辑单元编号为 16384 的环路接口的特定实例。
您可以使用环路接口来识别设备。虽然您可以使用任何接口地址来确定设备是否联机,但环路地址是首选方法。接口可能会被删除,地址也可能会随网络拓扑的改变而产生变更,但环路地址却始终保持不变。
当您对某个接口地址使用 Ping 命令时,其结果并非能够一直表示设备的运行状况。例如,当点对点链路上两个端点配置中的子网不匹配时,会让链路变得好像无法使用。通过对接口使用 Ping 命令,以确定设备是否联机的方法会产生误导。接口可能由于与设备配置或操作无关的问题而不可用。您可以使用环路接口应对这些问题。
Junos OS 演化版支持两种不同的过滤器来控制本地数据包的流:一个用于网络控制流量(环回流量),一个用于管理流量。有关更多信息,请参阅 Junos OS 演化版与 Junos OS 之间的主要区别。
Benefits
-
由于环路地址始终保持不变,因此是在网络中识别设备的最佳方式。
-
只要 IP 路由表中提供了到该 IP 地址的路由,环路接口就始终可用且可访问。因此,您可以使用环路接口进行诊断和故障排除。
-
OSPF 等协议可使用环路地址来确定设备或网络的特定协议属性。此外,
ping mpls等某些命令需要环路地址才能正常运行。 -
Junos OS 为内部路由实例创建单独的环路接口,以防止上的任何
lo0.0过滤器中断内部流量。
环路接口配置
您(系统管理员、网络管理员或最终用户)可以使用此过程在设备上配置环路接口。
配置环路接口
在设备上指定环路地址时,请勿包含目标前缀。此外,在大多数情况下,仅在单元 0 上指定环路地址,而不在其他单元上指定环路地址。
对于第 3 层虚拟专用网络 (VPN),可以为环路接口配置多个逻辑单元。这允许您为每个虚拟路由和转发 (VRF) 路由实例配置逻辑环路接口。 有关详细信息,请参阅 适用于路由设备的 Junos OS VPN 库。
对于某些应用程序(如 SSL for Junos XML 协议),接口 lo0.0 的至少一个地址必须为 127.0.0.1。
您可以使用主机(推荐)、两者和inet6地址族的inet子网地址或地址族的 iso ISO 网络实体标题 (NET) 地址来配置环路接口。许多协议要求环路地址作为其源地址。将环路地址配置为未编号接口的捐赠者接口,可使这些协议在未编号的接口上运行。
在某些情况下,环路接口也可以是路由器标识符(路由器 ID)。如果未显式配置路由器 ID,设备将确定其路由器 ID,如下表所示:
| 如果环路接口为: | 则默认路由器 ID 为: |
|---|---|
| 配置 | 环路接口 |
| 未配置 | 处于运行状态的所有接口的最低 IP 地址 up |
在这两种情况下,当接口的操作状态更改时,路由器 ID 都会更改。因此,我们建议在稳定的环路接口上配置地址。
如果在环路接口上配置多个地址,建议将其中一个地址配置为主地址。如果未配置路由器 ID,设备会选择主地址作为路由器 ID。设备还使用主地址作为路由引擎从环路接口发出的流量的默认源地址。
要配置物理环路接口 (lo0),请在层次结构级别包含以下语句 [edit interfaces] :
[edit interfaces]
lo0 {
unit 0 {
family inet {
address loopback-address;
address <loopback-address2>;
...
}
family inet6 {
address loopback-address;
}
}
}
您可以在环路接口上配置一个或多个地址。您不仅可以 unit 0 为 配置 lo0更多配置,而且必须将每个附加设备放置在单独的路由实例中。
示例:在使用主机路由的环路接口上配置两个地址
在以下示例中,用户使用主机路由在环路接口上配置两个地址:
[edit]
user@host# edit interfaces lo0 unit 0 family inet
[edit interfaces lo0 unit 0 family inet]
user@host# set address 10.0.0.1
[edit interfaces lo0 unit 0 family inet]
user@host# set address 172.16.0.1
[edit interfaces lo0 unit 0 family inet]
user@host# top
[edit]
user@host# show interfaces
lo0 {
unit 0 {
family inet {
10.0.0.1/32;
172.16.0.1/32;
}
}
}
示例:在具有子网路由的环路接口上配置两个地址
在某些情况下,对于使用 OSPF 重新分发的静态路由,您可能需要将子网路由通告为内部路由,而不是 5 类路由。在此方案中,您可能需要在环路接口上配置子网路由,如以下示例所示:
[edit]
user@host# edit interfaces lo0 unit 0 family inet
[edit interfaces lo0 unit 0 family inet]
user@host# set address 10.2.0.1/16
[edit interfaces lo0 unit 0 family inet]
user@host# set address 192.16.0.1/24
[edit interfaces lo0 unit 0 family inet]
user@host# top
[edit]
user@host# show
interfaces {
lo0 {
unit 0 {
family inet {
10.2.0.1/16;
192.16.0.1/24;
}
}
}
}
示例:在具有子网路由的环路接口上配置 IPv4 和 IPv6 地址
在以下示例中,用户在具有子网路由的环路接口上配置 IPv4 和 IPv6 地址:
[edit]
user@host# edit interfaces lo0 unit 0 family inet
[edit interfaces lo0 unit 0 family inet]
user@host# set address 192.16.0.1/24
[edit interfaces lo0 unit 0 family inet]
user@host# up
[edit interfaces lo0 unit 0 family]
user@host# edit interfaces lo0 unit 0 family inet6
[edit interfaces lo0 unit 0 family inet6]
user@host# set address 2001:db8::200:f8ff:fe75:50df/64
[edit interfaces lo0 unit 0 family inet6]
user@host# top
[edit]
user@host# show
interfaces {
lo0 {
unit 0 {
family inet {
192.16.0.1/24;
}
family inet6 {
2001:db8::200:f8ff:fe75:50df/64;
}
}
}
}