静态路由告诉路由器网络怎么走。
- 要想实现全网通信,也就是网络中的任意两个节点都能通信,这就要求每个路由器的路由表中必须有到所有网段的路由。
- 对于路由器来说,它只知道自己直连的网段,对于没有直连的网段,需要管理员人工添加到这些网段的路由。
- 管理员人工添加到某个网段如何转发,就是静态路由。
后面还会讲到配置网络中的路由器使用动态路由协议(RIP、OSPF)自动构建路由表,就是动态路由。
华为路由器添加静态路由的命令
- R1路由器直连A、B两个网段,C、D网段没有直连,你需要添加到C、D网段的路由。
- R2路由器直连B、C两个网段,A、D网段没有直连,你需要添加到A、D网段的路由。
- R3路由器直连C、D两个网段,A、B网段没有直连,你需要添加到A、B网段的路由。
上面其实就是到每个网段的下一跳地址,网段+下一跳IP地址。
在路由器上面直连的两个网段就不需要管了,就告诉没有连接的网段的路由就行了。
路由相关操作
- 添加静态路由 [AR1]ip route-static 172.16.1.0 24 172.16.0.2 [AR1]ip route-static 172.16.1.0 255.255.255.0 172.16.0.2
- 显示全部路由 [AR1]display ip routing-table
- 只显示静态路由 [AR1]display ip routing-table protocol static
- 删除静态路由 [AR1]undo ip route-static 172.16.1.0 24
点到点链路静态路由下一跳可以写出口
可以看到下一跳就不写另外一个路由器接口的IP地址了,就直接写接口地址了。写出口就可以了,因为点到点网络使用的是ppp协议,这个协议都不需要MAC地址,从一个口发出去就行,另外一个口接收就行,只有点到点链路这样写是合适的。
以太网接口最好写下一跳地址
路由器只关心到某个网段如何转发
路由器只关心到某个网段如何转发数据包,因此我们在路由器上添加路由,必须是到某个网段(子网)的路由,不能添加到某个特定地址的路由。
以下命令试图添加到一个IP地址的路由,路由器报错。(在路由器上面添加路由,主机位要归0的)
[AR1]ip route-static 172.16.1.2 24 172.16.0.2
Info: The destination address and mask of the configured static route mismatched , and the static route 172.16.1.0/24 was generated.--错误的地址和子网掩码
如果你就想让路由器转发到一个IP地址的路由,子网掩码要写成四个255,这就意味着IP地址的32位二进制是全部的网络位,该网段中就这一个地址。 [AR1]ip route-static 172.16.1.2 32 172.16.0.2
实战 静态路由配置
AR1:可以看到到两个直连的网段,没有直连的网段,也就是到其他的网段是不知道的,其他路由器也一样。
<AR1>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 11 Routes : 11 Destination/Mask Proto Pre Cost Flags NextHop Interface127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0172.16.0.0/24 Direct 0 0 D 172.16.0.1 Serial2/0/0172.16.0.1/32 Direct 0 0 D 127.0.0.1 Serial2/0/0172.16.0.2/32 Direct 0 0 D 172.16.0.2 Serial2/0/0172.16.0.255/32 Direct 0 0 D 127.0.0.1 Serial2/0/0192.168.0.0/24 Direct 0 0 D 192.168.0.1 Vlanif1192.168.0.1/32 Direct 0 0 D 127.0.0.1 Vlanif1192.168.0.255/32 Direct 0 0 D 127.0.0.1 Vlanif1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.0.0/24 Direct 0 0 D 172.16.0.1 Serial2/0/0192.168.0.0/24 Direct 0 0 D 192.168.0.1 Vlanif1
现在PC1计算器去ping一下AR1的两个网关。
PC>ping 192.168.0.1Ping 192.168.0.1: 32 data bytes, Press Ctrl_C to break
From 192.168.0.1: bytes=32 seq=1 ttl=255 time=16 ms
From 192.168.0.1: bytes=32 seq=2 ttl=255 time=15 ms--- 192.168.0.1 ping statistics ---2 packet(s) transmitted2 packet(s) received0.00% packet lossround-trip min/avg/max = 15/15/16 msPC>ping 172.16.0.1Ping 172.16.0.1: 32 data bytes, Press Ctrl_C to break
From 172.16.0.1: bytes=32 seq=1 ttl=255 time=15 ms
From 172.16.0.1: bytes=32 seq=2 ttl=255 time=16 ms--- 172.16.0.1 ping statistics ---2 packet(s) transmitted2 packet(s) received0.00% packet lossround-trip min/avg/max = 15/15/16 ms
都通了,现在去ping一下AR2上面的地址
PC>ping 172.16.0.2Ping 172.16.0.2: 32 data bytes, Press Ctrl_C to break
Request timeout!--- 172.16.0.2 ping statistics ---2 packet(s) transmitted0 packet(s) received100.00% packet lossPC>
由于AR2不知道到192.168.0.0/24网段怎么走,这个是数据包到了但是没有回来呢,还是根本就没到呢?
抓包可以看一下数据包过来没过来,可以看到数据包是过来的,但是没有回去
所以要添加路由告诉路由器AR2到PC1网段怎么走
[AR2]ip route-static 192.168.0.0 24 172.16.0.1
PC>ping 172.16.0.2Ping 172.16.0.2: 32 data bytes, Press Ctrl_C to break
From 172.16.0.2: bytes=32 seq=1 ttl=254 time=15 ms
From 172.16.0.2: bytes=32 seq=2 ttl=254 time=32 ms--- 172.16.0.2 ping statistics ---2 packet(s) transmitted2 packet(s) received0.00% packet lossround-trip min/avg/max = 15/23/32 ms
可以看到数据包有两个方向的,有去有回。上面就是简单的添加静态路由。
如果要让PC1和PC2可以通,这就要让AR1 AR2路由器知道到PC2网段要怎么走。
[AR1]ip route-static 192.168.1.0 24 172.16.0.2[AR2]ip route-static 192.168.1.0 24 172.16.1.2
这样数据包就可以到了
PC>ping 192.168.1.2Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break
Request timeout!--- 192.168.1.2 ping statistics ---2 packet(s) transmitted0 packet(s) received100.00% packet loss
现在还要添加返回的路由,由于之前AR2添加了到PC1网段的路由,所以只需要添加一下AR3
[AR3]ip route-static 192.168.0.0 24 172.16.1.1
PC>ping 192.168.1.2Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.1.2: bytes=32 seq=2 ttl=125 time=16 ms
From 192.168.1.2: bytes=32 seq=3 ttl=125 time=16 ms
From 192.168.1.2: bytes=32 seq=4 ttl=125 time=16 ms--- 192.168.1.2 ping statistics ---4 packet(s) transmitted3 packet(s) received25.00% packet lossround-trip min/avg/max = 0/16/16 ms
如果你要跟踪一下数据包
PC>tracert 192.168.1.2traceroute to 192.168.1.2, 8 hops max
(ICMP), press Ctrl+C to stop1 192.168.0.1 16 ms <1 ms 15 ms2 172.16.0.2 32 ms <1 ms 31 ms3 172.16.1.2 31 ms 16 ms 31 ms4 *192.168.1.2 16 ms 31 ms
这样就可以看到,第一个路由器是192.168.0.1,第二个路由器是172.16.0.2,以此类推,最后到达目的地。上面就可以很清晰的看见数据包经过三个路由器最终到达目的地,能够跟踪路径。
现在来查看一下路由表
[AR2]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 14 Routes : 14 Destination/Mask Proto Pre Cost Flags NextHop Interface127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0172.16.0.0/24 Direct 0 0 D 172.16.0.2 Serial2/0/1172.16.0.1/32 Direct 0 0 D 172.16.0.1 Serial2/0/1172.16.0.2/32 Direct 0 0 D 127.0.0.1 Serial2/0/1172.16.0.255/32 Direct 0 0 D 127.0.0.1 Serial2/0/1172.16.1.0/24 Direct 0 0 D 172.16.1.1 Serial2/0/0172.16.1.1/32 Direct 0 0 D 127.0.0.1 Serial2/0/0172.16.1.2/32 Direct 0 0 D 172.16.1.2 Serial2/0/0172.16.1.255/32 Direct 0 0 D 127.0.0.1 Serial2/0/0192.168.0.0/24 Static 60 0 RD 172.16.0.1 Serial2/0/1192.168.1.0/24 Static 60 0 RD 172.16.1.2 Serial2/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
上面可以看到有一部分是直连路由Direct,优先级为0,有两个是静态路由,并且优先级是60,下一跳NextHop,并且从哪个口发出去Interface。
192.168.0.0/24 Static 60 0 RD 172.16.0.1 Serial2/0/1192.168.1.0/24 Static 60 0 RD 172.16.1.2 Serial2/0/0
如果只想显示静态路由
[AR2]display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : StaticDestinations : 2 Routes : 2 Configured Routes : 2Static routing table status : <Active>Destinations : 2 Routes : 2Destination/Mask Proto Pre Cost Flags NextHop Interface192.168.0.0/24 Static 60 0 RD 172.16.0.1 Serial2/0/1192.168.1.0/24 Static 60 0 RD 172.16.1.2 Serial2/0/0Static routing table status : <Inactive>Destinations : 0 Routes : 0