环路接口
本主题讨论环路接口的使用、有关如何配置环路接口的分步过程及示例。
环路接口概述
互联网协议 (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 之间的主要区别。
好处
-
由于环路地址永远不会改变,因此它是识别网络中设备的最佳方式。
-
只要 IP 路由表中提供了到该 IP 地址的路由,环路接口就始终可用且可访问。因此,您可以使用环路接口进行诊断和故障排除。
-
OSPF 等协议使用环路地址来确定设备或网络的特定协议属性。此外,某些命令(如)
ping mpls
需要环路地址才能正常运行。 -
Junos OS 为内部路由实例创建单独的环路接口,以防止上的任何
lo0.0
过滤器中断内部流量。
环路接口配置
您(系统管理员、网络管理员或最终用户)可以使用此过程在设备上配置环路接口。
配置环路接口
在设备上指定环路地址时,请勿包含目标前缀。此外,在大多数情况下,仅在单元 0 上指定环路地址,而不在其他单元上指定环路地址。
对于第 3 层虚拟专用网络 (VPN),可以为环路接口配置多个逻辑单元。这允许您为每个虚拟路由和转发 (VRF) 路由实例配置逻辑环路接口。
对于某些应用程序(如 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; } } }