本文介绍了在路由器配置中经常会使用到的各种虚接口,以及它们的原理和配置方法。
1. 虚接口概述
通常,在路由器中执行 show running 命令查看配置时,会发现配置中存在各种类型的接口,例如 ether net、ATM Serial、POS等等,这些接口都是与实际的物理接口是一一对应的(如果存在子接口,则可能会使多个接口名称对应同一个物理接口)。
但在路由器中还存在着另外一类完全不同的接口类型,例如: loopback 、 null 、 tunnel 、 virtual-template 等等,这一类接口有如下几个共同点:
1.不存在与该接口对应的真实物理接口;虽然有时会存在一定的“映射”关系;
2.由于第一条的原因,此类接口不会依据物理接口自动生成,必须根据实际需要手工创建。
3•接口的状态永远是 UP的(包括物理状态 UP和协议状态UF),不会DOW掉,其中Tunnel 接口除外,该接口的物理状态永远UP,但协议状态视实际运行状况而定。
由于具有以上几点共性,此类接口被统称为“虚接口”,不同的虚接口各自有不同的用法,下文将分别介绍。
2. loopback 接口的用法
此类接口是应用最为广泛的一种虚接口, 几乎在每台路由器上都会使用。
常见于如下用途。
作为一台路由器的管理地址
系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个 loopback 接口,并在该接口上单独指定一个 IP 地址作为管理地址, 管理员会使用该地址对路由器远程登录( telnet ),该地址实际上起到了类似设备名称一类的功能。
但是通常每台路由器上存在众多接口和地址, 为何不从当中随便挑选一个呢?原因如下:由于tel net命令使用TCP报文,会存在如下情况:路由器的某一个接口由于故障 down 掉了,但是其他的接口却仍旧可以 telnet ,也就是说,到达这台路由器的 TCP 连接依旧存在。
所以选择的telnet地址必须是永远也不会 down掉的,而虚接口恰好满足此类要求。
由于此类接口没有与对端互联互通的需求,所以为了节约地址资源, loopback 接口的地址通常指定为 32 位掩码。
使用该接口地址作为动态路由协议OSPF BGP的 router id 。
动态路由协议OSPF BGP在运行过程中需要为该协议指定一个Router id ,作为此
路由器的唯一标识,并要求在整个自治系统内唯一。
由于 router id 是一个 32 位的无符号整
数,这一点与 IP 地址十分相像。
而且 IP 地址是不会出现重复现象的,所以通常将路由器的router id 指定为与该设备上的某个接口的地址相同。
由于 loopback 接口的 IP 地址通常被视为路由器的标识,所以也就成了 router id 的最佳选择。
3. NULL 接口的用法
通常任何接口都会分配一个 IP地址,但是NULL接口却是一个例外,你无法在NULL 接口上配置IP地址,路由器会提示配置非法。
一个没有IP地址的接口能够做什么用呢?此类接口单独使用没有意义,但是如果将配置的静态路由下一跳指向NULL接口,则会
有很大的用处。
用来取悦 BGP
BGP路由协议向外发布路由的一种方法是使用命令:
network ip-address [mask mask]
但是此命令正确生效有一个前提:在路由表中必须存在一条与 ip-address mask 完全相同的路由。
由于BGP发布路由时都是经过聚合之后的,这样的路由路由表中并没有,
所以要使用命令:
ip route ip-address mask null0
配置这样一条假静态路由来取悦”BGP
相关配置命令:
interface NULL0 /* 创建 null0 接口 */
router bgp 100
network 118.1.0.0 255.255.0.0 /*BGP 要向外发布 118.1.0.0/16 的路由 */
ip route 118.1.0.0 255.255.0.0 NULL 0 /* 配置一条假静态路由取悦 BGP*/
执行命令 show ip route 查看路由表信息,
Quidway(config)#show ip route
Routing Tables:
Destination/Mask Proto Pre Metric Nexthop Interface
118.1.0.0/16 Static 60 0 0.0.0.0 NULL0
由于这样的路由只用来取悦 BGP而不会指导真正的报文发送,也就不需要一个IP地址作为路由的下一跳(这样可以节省一个IP地址),所以此处使用NULLO接口。
用来配置黑洞路由
10.1.255. 0/24
上图是一种常见组网,RTD下面连接了很多台小路由器,由于这些小路由器的路由很有规律,恰好可以聚合成一条10.1.0.0/16 的路由,于是RTD将此聚合后的路由发送到上一级路由器 RTE同理,RTE上必定存在一条相同的路由10.1.0.0/16 指回到路由
器RTD由于RTD的路由表有限,且网络出口唯一,所以RTD上同时还存在一条缺省路
由指向RTE
上述组网在正常情况下可以很好的运行,但如果出现如下情况时:
RTC到RTD之间的链路由于故障中断了,所以在RTD上将不存在去10.1.3.0/24 的
指向RTC的路由。
此时,如果 RTA下的一个用户发送报文,目的地址为10.1.3.1 ,贝V, RTA将此报文发送到 RTD由于RTD上已不存在去10.1.3.0/24 的路由,所以选择缺省
路由,将报文发送给RTE RTE查询路由表后发现该条路由匹配10.1.0.0/16 ,于是又将
该报文发送给 RTD同理,RTD会再次将报文发给 RTE此时,在RTD和RTE上就会产生路由自环。
解决上述问题的最佳方案就是,在RTD上配置一条黑洞路由:
ip route 10.1.0.0 255.255.0.0 NULL 0 ,
这样,如果再发生上述情况时,RTD就会查找路由表,并将报文发送到NULL0接口(实际上就是丢弃此报文),从而避免环路的产生。
4. tunnel 接口的用法
tunnel接口的用法比较单一,此类型的接口实际上是GRE协议专用的接口。
GRE
(Generic Routing Encapsulation )是一种三层隧道协议,最常用的方式为使用 IP 报文承载GRE报文,而GRE报文的载荷仍旧是IP报文。
interface Tunnel0 /* 创建 tunnel 接口 */
ip address 10.33.255.2 255.255.255.252 /* 自己 tunnel 口的地址 */
tunnel source 211.138.94.199 /* 建立隧道后,发送报文实际使用的源地址 */
tunnel destination 211.138.94.197 /* 建立隧道后,发送报文实际使用的目的地址*/
对于 tunnel source 、tunnel destination 两个地址,通常仍旧选用本端 loopback 接口和对端的 loopback 接口的地址(原因见 2.1 )。
5. virtual-template 接口的用法
同tunnel接口很类似,virtual-template 接口专用于MP协议,MP协议是将多个使用PPP 协议的物理接口捆绑在一起,对外以一个接口的面目出现,以达到增加带宽和
节省 IP 地址的目的。
user hh service-type ppp password 0 hh /*
multilink-user hh bind Virtual-Template3 /* 口名 */
/* 下面的两个接口捆绑到一起 */
interface Serial5/1/4:0
encapsulation ppp
ppp authentication pap
ppp multilink
ppp pap sent-username hh password 0 hh /*
interface Serial5/1/5:0
encapsulation ppp 配置PAP验证的用户名和密码*/指定绑定的Virtual-Template 接
使用MP用户名是hh*/
ppp authentication pap
ppp multilink
ppp pap sent-username hh password 0 hh /* 使用 MP 用户名是 hh*/
interface Virtual-Template3 /* 创建 Virtual-Template 接口*/
ip address 61.236.88.134 255.255.255.252 /*IP 地址统一在 Virtual-Template 接口上配 */
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。