带你漫谈静态的那些事儿

为什么需要非直连路由
直连路由存在不足:它不能去往非自己直连的其他网段(地方)
非直连路由:需要静态路由或动态路由,将网段添加到路由表中

存在问题

AR1上没有到达如下的网段路由
23.1.1.0/24
2.2.2.2/32
3.3.3.3/32
静态路由应用场景
静态路由是指由管理员手动配置和维护的路由
静态路由配置简单,无需像动态路由那样占用路由器的CPU资源来计算和分析路由更新
静态路由一般适用于结构简单的网络。不过,即使是在复杂网络环境中,合理地配置一些静态路由也可以改进网络的性能

静态路由语法格式
A.  [Huawei]ip route-static 目标网段 目标网段掩码 下一跳
B.  [Huawei]ip route-static 目标网段 目标网段掩码 出接口
C.  [Huawei]ip route-static 目标网段 目标网段掩码 出接口 下一跳     推荐使用该方式
[R1]ip route-static 23.1.1.0 24 12.1.1.2(下一跳)   串行链路
[R1]ip route-static 23.1.1.0 24 GigabitEthernet 0/0/0(出接口)   以太网
[R1]ip route-static 23.1.1.0 24 GigabitEthernet 0/0/0 12.1.1.2(出接口+下一跳)
目标网段:目标网段
目标网段掩码:掩码 可以写255.255.255.0 或者24
下一跳:到达目的地的下一站
[R1]display ip routing-table protocol static   查看路由表中的静态路由
实战演练通过静态路由实现网络互通

在R1上面访问3.3.3.3路由,该如何实现?ping 3.3.3.3

注意:ping 3.3.3.3 SIP:12.1.1.1 DIP:3.3.3.3
因为R1配置接口IP地址后,只有12.1.1.0/24和1.1.1.1/32的直连路由,没有去往目标3.3.3.3的非直连路由,那么,我们可以在R1上面配置如下静态路由到达3.3.3.3
ip route-static 3.3.3.3 255.255.255.255 g0/0/0 12.1.1.2
配置完成后,R1上面ping 3.3.3.3 发现无法ping通
因为数据在传递的过程中,R1发现到达3.3.3.3得下一跳是12.1.1.2 是R2设备,那么R1会把这个数据传递给R2设备,此时R2设备上没有到达3.3.3.3的路由,R2设备会丢弃这个报文
那我们可以在R2上面写静态路由,使其到达3.3.3.3路由
ip route-static 3.3.3.3 255.255.255.255 g0/0/1 23.1.1.3
配置完成后,R1上面ping 3.3.3.3 发现无法ping通
因为数据在传递的过程中,R1发现到达3.3.3.3得下一跳是12.1.1.2 是R2设备,那么R1会把这个数据传递给R2设备,R2设备到达3.3.3.3的下一跳是23.1.1.3 是R3设备,而3.3.3.3路由刚好是R3自身的直连路由,所以,R3会接收这个数据。
但是,数据在传递过程中,数据既可以发过去,数据也要能够回来,即发数据是R1到R3 回数据是R3到R1 由于R3上面没有到达12.1.1.0/24网段的路由,所以R3无法回应数据
ip route-static 12.1.1.0 255.255.255.255 g0/0/1 23.1.1.2
在R3上面写完到达23.1.1.0的路由条目后,会把回应的数据包交给R2,R2发现到达12.1.1.0网段是自己的直连,因此把数据包交给R1
<R1>ping 3.3.3.3
PING 3.3.3.3: 56  data bytes, press CTRL_C to break
Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=40 ms
Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=254 time=30 ms
Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=254 time=50 ms
Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=254 time=20 ms
Reply from 3.3.3.3: bytes=56 Sequence=5 ttl=254 time=40 ms

--- 3.3.3.3 ping statistics ---

5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/36/50 ms
<R1>

思考如下:如果在R1上面ping -a 1.1.1.1 3.3.3.3 能够ping通么?

AR1的配置:
ip route-static 3.3.3.3 255.255.255.255 12.1.1.2
AR2的配置:
ip route-static 3.3.3.3 255.255.255.255 23.1.1.3
AR3的配置:
ip route-static 1.1.1.1 255.255.255.255 23.1.1.2
AR2的配置:
ip route-static 1.1.1.1 255.255.255.255 12.1.1.1
测试如下:
<R1>ping -a 1.1.1.1 3.3.3.3
 PING 3.3.3.3: 56  data bytes, press CTRL_C to break
   Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=254 time=40 ms
   Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=254 time=40 ms
   Reply from 3.3.3.3: bytes=56 Sequence=5 ttl=254 time=30 ms

--- 3.3.3.3 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 30/34/40 ms

思考如下:如果在R1上面ping -a 1.1.1.1 2.2.2.2能够ping通么?

AR1的配置:
ip route-static 2.2.2.2 255.255.255.255 12.1.1.2
AR2的配置:
ip route-static 1.1.1.1 255.255.255.255 12.1.1.1
测试如下:
<R1>ping -a 1.1.1.1 2.2.2.2
 PING 2.2.2.2: 56  data bytes, press CTRL_C to break
   Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=140 ms
   Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=20 ms
   Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=255 time=30 ms

--- 2.2.2.2 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 20/50/140 ms

思考如下:如果R2访问ping -a 2.2.2.2 3.3.3.3能够ping通么?

AR2的配置:
ip route-static 3.3.3.3 255.255.255.255 23.1.1.3
AR3的配置:
ip route-static 2.2.2.2 255.255.255.255 23.1.1.2
测试如下:
<R2>ping -a 2.2.2.2 3.3.3.3
 PING 3.3.3.3: 56  data bytes, press CTRL_C to break
   Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=255 time=70 ms
   Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=255 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=255 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=255 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=5 ttl=255 time=30 ms

--- 3.3.3.3 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 30/38/70 ms

思考如下:如果要想实现全网互通?需要在AR1 2 3设备上面分别写几条静态路由

AR1如下配置:
ip route-static 2.2.2.2 255.255.255.255 12.1.1.2
ip route-static 3.3.3.3 255.255.255.255 12.1.1.2
ip route-static 23.1.1.0 255.255.255.0 12.1.1.2
AR2如下配置:
ip route-static 1.1.1.1 255.255.255.255 12.1.1.1
ip route-static 3.3.3.3 255.255.255.255 23.1.1.3
AR3如下配置:
ip route-static 1.1.1.1 255.255.255.255 23.1.1.2
ip route-static 12.1.1.0 255.255.255.255 23.1.1.2
ip route-static 2.2.2.2 255.255.255.255 23.1.1.2
测试如下:
<R1>ping 2.2.2.2
 PING 2.2.2.2: 56  data bytes, press CTRL_C to break
   Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=10 ms
   Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=255 time=20 ms

--- 2.2.2.2 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 10/24/30 ms

<R1>ping 3.3.3.3
 PING 3.3.3.3: 56  data bytes, press CTRL_C to break
   Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=50 ms
   Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=5 ttl=254 time=20 ms

--- 3.3.3.3 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 20/32/50 ms

<R1>ping 23.1.1.3
 PING 23.1.1.3: 56  data bytes, press CTRL_C to break
   Reply from 23.1.1.3: bytes=56 Sequence=1 ttl=254 time=30 ms
   Reply from 23.1.1.3: bytes=56 Sequence=2 ttl=254 time=40 ms
   Reply from 23.1.1.3: bytes=56 Sequence=3 ttl=254 time=40 ms
   Reply from 23.1.1.3: bytes=56 Sequence=4 ttl=254 time=50 ms
   Reply from 23.1.1.3: bytes=56 Sequence=5 ttl=254 time=40 ms

--- 23.1.1.3 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 30/40/50 ms

<R1>ping -a 1.1.1.1 2.2.2.2
 PING 2.2.2.2: 56  data bytes, press CTRL_C to break
   Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=255 time=30 ms
   Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=255 time=20 ms

--- 2.2.2.2 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 20/28/30 ms

<R1>ping -a 1.1.1.1 3.3.3.3
 PING 3.3.3.3: 56  data bytes, press CTRL_C to break
   Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=50 ms
   Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=254 time=30 ms
   Reply from 3.3.3.3: bytes=56 Sequence=5 ttl=254 time=30 ms

--- 3.3.3.3 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 30/34/50 ms

<R1>ping -a 1.1.1.1 23.1.1.3
 PING 23.1.1.3: 56  data bytes, press CTRL_C to break
   Reply from 23.1.1.3: bytes=56 Sequence=1 ttl=254 time=30 ms
   Reply from 23.1.1.3: bytes=56 Sequence=2 ttl=254 time=30 ms
   Reply from 23.1.1.3: bytes=56 Sequence=3 ttl=254 time=30 ms
   Reply from 23.1.1.3: bytes=56 Sequence=4 ttl=254 time=30 ms
   Reply from 23.1.1.3: bytes=56 Sequence=5 ttl=254 time=40 ms

--- 23.1.1.3 ping statistics ---    

    5 packet(s) transmitted    
    5 packet(s) received    
    0.00% packet loss
   round-trip min/avg/max = 30/32/40 ms

<R1>

什么是默认路由
默认路由一般来末节点配置 好处就是仅仅用一条路由代替所有路由条目
[Huawei]ip route-static 0.0.0.0 0 下一跳

R1的配置

ip route-static 2.2.2.2 255.255.255.255 12.1.1.2
ip route-static 3.3.3.3 255.255.255.255 12.1.1.2
ip route-static 23.1.1.0 255.255.255.0 12.1.1.2
简化本R1的配置
ip route-static 0.0.0.0 0 12.1.1.2  
代表R1想要去往任何非直连路由都把数据包交给R2设备
简化本R3的配置
ip route-static 0.0.0.0 0.0.0.0 23.1.1.2
代表R3想要去往任何非直连路由都把数据包交给R2设备
思考如下:为什么R2上面不能写默认路由?写了之后有什么问题出现?
因为R2设备处于R1和R3之间,如果在R2上面写默认路由
ip route-static 0.0.0.0 0 12.1.1.1
ip route-static 0.0.0.0 0 23.1.1.3
如果此时R1想要访问3.3.3.3,R1把数据包丢给R2的时候,R2此时有两个下一跳 一个是R1 一个是R3 那R2到底是丢给R1呢还是R3呢?所以,R2上面建议大家写明细路由,不要写默认路由
静态路由使用出接口和下一跳的场景

静态路由使用出接口的场景

在串行接口上,可以通过指定下一跳地址或出接口或出接口+下一跳来配置静态路由

[RTA]ip route-static 192.168.2.0 24 10.0.12.2
[RTA]ip route-static 192.169.2.0 24 s1/0/0
[RTA]ip route-static 192.169.2.0 24 s1/0/0 10.0.12.2

静态路由使用下一跳的场景

在广播型的接口(如以太网接口)上配置静态路由时,必须要指定下一跳地址

[RTA]ip route-static 192.168.2.0 24 10.0.123.2
[RTA]ip route-static 192.169.2.0 24 G0/0/0 10.0.123.2
思考一下?为什么不能用出接口呢?

静态路由的负载分担

AR1上访问2.2.2.2的时候,可以通过路径AR1-AR3-AR2 或者AR1-AR4-AR2 的负载分担

AR1的配置:

ip route-static 2.2.2.2 255.255.255.255 13.1.1.3
ip route-static 2.2.2.2 255.255.255.255 14.1.1.4
查看AR1的路由表
<R1>display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
        Destinations : 1        Routes : 2        Configured Routes : 2

Static routing table status : <Active>
        Destinations : 1        Routes : 2

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

2.2.2.2/32  Static  60   0          RD   13.1.1.3        GigabitEthernet
0/0/0
                   Static  60   0          RD   14.1.1.4        GigabitEthernet
0/0/1

Static routing table status : <Inactive>
        Destinations : 0        Routes : 0<R1>

测试一下,利用tracert进行路由追踪
<R1>tracert -a 1.1.1.1 2.2.2.2

traceroute to  2.2.2.2(2.2.2.2), max hops: 30 ,packet length: 40,press CTRL_C to break

1 13.1.1.3 130 ms  20 ms 14.1.1.4 30 ms

2 24.1.1.2 30 ms  20 ms  30 ms <R1>tracert -a 1.1.1.1 2.2.2.2

traceroute to  2.2.2.2(2.2.2.2), max hops: 30 ,packet length: 40,press CTRL_C to break

1 14.1.1.4 140 ms  20 ms  10 ms

2 24.1.1.2 100 ms  20 ms  20 ms <R1>

什么是浮动路由
浮动路由就是只让主链路进行工作,备链路不让转发流量
当主链路出现问题的时候,路由器会选择备用的链路,当主链路恢复的时候 路由器会选择主链路

在AR1上面的配置:

ip route-static 2.2.2.2 255.255.255.255 13.1.1.3     默认优先级是60
ip route-static 2.2.2.2 255.255.255.255 14.1.1.4 preference 70
查看AR1的路由表
[R1]display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
        Destinations : 1        Routes : 2        Configured Routes : 2

Static routing table status : <Active>
        Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

2.2.2.2/32  Static  60   0          RD   13.1.1.3        GigabitEthernet
0/0/0

Static routing table status : <Inactive>
        Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

2.2.2.2/32  Static  70   0          R    14.1.1.4        GigabitEthernet
0/0/1

[R1]

当AR1的主链路down时候
[R1-GigabitEthernet0/0/0]shutdown
Jan 22 2020 12:27:14-08:00 R1 %%01IFPDT/4/IF_STATE(l)[8]:Interface GigabitEthern
et0/0/0 has turned into DOWN state.
[R1]display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
        Destinations : 1        Routes : 2        Configured Routes : 2S
tatic routing table status : <Active>
        Destinations : 1        Routes : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface        
         2.2.2.2/32  Static  70   0          RD   14.1.1.4        GigabitEthernet0/0/1
Static routing table status : <Inactive>
        Destinations : 1        Routes : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface        
2.2.2.2/32  Static  60   0               13.1.1.3        Unknown

[R1]

当AR1的主用链路恢复正常时
[R1-GigabitEthernet0/0/0]undo shutdown
Jan 22 2020 12:28:25-08:00 R1 %%01IFPDT/4/IF_STATE(l)[10]:Interface GigabitEther
net0/0/0 has turned into UP state.
[R1]display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
        Destinations : 1        Routes : 2        Configured Routes : 2
Static routing table status : <Active>
        Destinations : 1        Routes : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface        
         2.2.2.2/32  Static  60   0          RD   13.1.1.3        GigabitEthernet
0/0/0
Static routing table status : <Inactive>
        Destinations : 1        Routes : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface        
         2.2.2.2/32  Static  70   0          R    14.1.1.4        GigabitEthernet
0/0/1
[R1]
静态路由不足
静态路由最大的不足是不能动态的根据现网拓扑的改变而改变
那有没有一款协议,能让网络设备之间进行交换各种路由网段协议呢?
有的,比如早期提出的rip协议
因为当时的网络结构比较简单,RIP协议能够很有的胜任。
而现在网络结构比较庞大,RIP协议已经不能满足于现在的网络当中
所以现在企业网络中用的都是OSPF路由协议
RIP协议现在只是作为学习中的一个协议而已,现网中几乎不用RIP协议

以上,就是今日思博为你带来的静态路由全解,希望对你能有所启发~

(0)

相关推荐