OSPF 被动接口也称抑制接口,成为被动接口后,将不会接收和发送OSPF报文。如果要使OSPF路由信息不被某一网络中的路由器获得,且使本地路由器不接收网络中其它路由器发布的其它路由更新信息,即已运行在OSPF协议进程中的接口不与本链路上其余路由器建立邻居关系时,可通过配置被动接口来禁止此接口接收和发送OSPF报文。
R1,R2,R4,R5分属不同部门的网关设备,整网运行OSPF协议,都处于区域0中。员工终端上经常收到路由器发送的OSPF报文。毫无用处且占用一定的带宽资源,并可能引起安全风险,比如非法接入路由器做路由欺骗。现通告被动接口来实现阻隔OSPF报文,作网络优化。
//R1为列其它设备接口配置不赘述
[R1]int g 0/0/1
[R1-GigabitEthernet0/0/1]ip add 10.0.13.1 24
[R1-GigabitEthernet0/0/1]int g 0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.0.3.254 24
//配置基本的OSPF,所有路由器接口运行在区域0中
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.3.0 0.0.0.255[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.4.0 0.0.0.255[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.0.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.0.30.0 0.0.0.255[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.30.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.1.0 0.0.0.255[R5]ospf 1
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 10.0.30.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 10.0.2.0 0.0.0.255PC>ping 10.0.2.1 //PC1上ping各PC,通信正常建立
Ping 10.0.2.1: 32 data bytes, Press Ctrl_C to break
From 10.0.2.1: bytes=32 seq=1 ttl=126 time=47 ms
From 10.0.2.1: bytes=32 seq=2 ttl=126 time=31 ms— 10.0.2.1 ping statistics —
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/39/47 msPC>ping 10.0.3.1
Ping 10.0.3.1: 32 data bytes, Press Ctrl_C to break
From 10.0.3.1: bytes=32 seq=1 ttl=125 time=47 ms
From 10.0.3.1: bytes=32 seq=2 ttl=125 time=62 ms
From 10.0.3.1: bytes=32 seq=3 ttl=125 time=31 ms— 10.0.3.1 ping statistics —
3 packet(s) transmitted
3 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/46/62 msPC>ping 10.0.4.1
Ping 10.0.4.1: 32 data bytes, Press Ctrl_C to break
From 10.0.4.1: bytes=32 seq=1 ttl=125 time=63 ms
From 10.0.4.1: bytes=32 seq=2 ttl=125 time=31 ms
From 10.0.4.1: bytes=32 seq=3 ttl=125 time=78 ms— 10.0.4.1 ping statistics —
3 packet(s) transmitted
3 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/57/78 ms
//在PC1上 E0/0/0接口上抓包,如下图
//PC1所在部门的网关路由器R4不停的向这条线路发出OSPF的Hello报文尝试发现邻居,对于PC而言,该报文毫无用处也不安全。OSPF 的Hello报文中包含很多OSPF网络的重要信息,如果被恶意截取,容易出现安全隐患。
//在R4上配置被动接口,使终端不在收到任何OSPF报文。
[R4]ospf 1
[R4-ospf-1]silent-interface gig 0/0/1 // silent-interface 禁止接口发送和接收OSPF报文
//再次观察抓包发现OSPF的报文已经不在周期性发送任何OSPF的Hello报文
//如果R4上有多个接口需要设置为被动接口,只有E0/0/1接口保持活动状态,可以通过以下命令简化配置
[R4]ospf 1
[R4-ospf-1]silent-interface all //配置所有接口为被动接口
[R4-ospf-1]undo silent-int g 0/0/1 //排除不需要配置为被动接口的接口
//在其它路由器上进行被动接口配置
[R1]ospf 1
[R1-ospf-1]silent-int g 0/0/0[R2]ospf 1
[R2-ospf-1]silent-int g 0/0/1[R5]ospf 1
[R5-ospf-1]silent-int g 0/0/1
//将R5的GE0/0/0接口配置为被动接口
[R5]ospf 1
[R5-ospf-1]silent-int g 0/0/0
[R5-ospf-1]dis ip routing-table protocol ospf //配置为被动接口后OSPF路由条目全部丢失
[R5-ospf-1]dis ospf peer //邻居关系全部消失OSPF Process 1 with Router ID 10.0.30.5
//即配置被动接口后,OSPF报文不在转发,包括建立邻居和维护邻居的Hello报文。
//R4的GE0/0/1接口已经配置为被动接口,那么该接口上的相关网段的路由信息能否正常被其它邻居路由器收到
[R1]dis ip routing-table 10.0.1.1 //其它网段仍然可以收到该网段的路由条目
Route Flags: R - relay, D - download to fibRouting Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface10.0.1.0/24 OSPF 10 3 D 10.0.13.3 GigabitEthernet0/0/1
//被动接口特性只是不在收发任何OSPF报文协议,但是被动接口所在的网段的直连路由条目如果已经在OSPF中通告,那么也会被其它的OSPF邻居路由器接收到
PC>ping 10.0.4.1 //PC1 ping PC4正常通信,完全不受被动端口影响
Ping 10.0.4.1: 32 data bytes, Press Ctrl_C to break
From 10.0.4.1: bytes=32 seq=1 ttl=125 time=78 ms
From 10.0.4.1: bytes=32 seq=2 ttl=125 time=62 ms
From 10.0.4.1: bytes=32 seq=3 ttl=125 time=63 ms
From 10.0.4.1: bytes=32 seq=4 ttl=125 time=62 ms
From 10.0.4.1: bytes=32 seq=5 ttl=125 time=47 ms— 10.0.4.1 ping statistics —
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 47/62/78 ms