静态路由设定

2018-11-06 08:32
网络安全和信息化 2018年7期
关键词:路由表封包网关

路由器的作用是将封包从一个网络绕送到另外一个网络,但要做到这个功能,需要路由器学习远程的网络,而学习远程网络的方式按大类分主要有两种,一种是静态路由设定,另外一种是动态路由设定(比如RIP、EIGRP、OSPF),本文介绍的是静态路由设定。

图1是本文的主要架构图,PC0、PC1以及各路由器的IP地址已经设定好。

设定好 R1、R2、R3的接口IP地址,以及PC0、PC1的IP地址、子网掩码以及网关之后,我们来试一下PC0能否顺利与远方的PC1沟通。

使用PC0(192.168.11.10) ping PC1(192.168.33.10),发 现 是 ping不 通的,而且响应的是192.168.11.1,也就是PC0的网关地址,为什么呢?

接下来,为了知道PC0的封包去到哪个阶段出问题,可以使用tracert指令查看一下,在PC0上输入“tracert 192.168.33.10”,发现封包只去到192.168.11.1,然后就传不下去了,为什么呢?

要了解原因,我们需要了解路由表,可以看到,目前有2条路由信息分别是网络192.168.11.0以及192.168.12.0在路由表上,因为这两个网络是与R1直接的,所以不用网管人员设定什么也会自动学习到,如图2所示。

我们用图3中的信息对上面的路由信息做解释。

图1 网络架构图

图2 路由表上有2条路由信息

图3 通过此图来解释以上路由信息

现在可以来探讨一下为什么PC0 ping不通PC1以及为什么封包只去到192.168.11.1。这是因为R1一开始只能学习到直连的网络,对于PC1来说,它的网络是192.168.33.0,这是一个远程网络,R1无法学习到,因此,当封包去到R1时,R1的路由表里根本没有这条路由信息,也就无法给封包指明路径。因此,R1的做法是丢弃该封包,并“礼貌”地给PC0回传一条信息。

为解决这个问题,我们可以在R1中手动加入一条192.168.33.0的路由信息,让R1学习到远程的网络。方式是在R1中输入“ip route 192.168.33.0 255.255.255.0 fa0/1”。

这条指令的解读是192.168.33.0/24这个网络可以通过fa0/1这个方向送出去。由于这种设定路由的方式是手动的,因此叫做静态路由设定。

设定好之后我们再来查看一下R1的路由表,可以看到192.168.33.0这条路由信息,并且是通过S(static)的静态方式学习进来的,如图4所示。

同样的,我们要在R2设定192.168.33.0这条路由信息,如图5所示。

图4 查看R1路由表信息

图5 设定R2路由信息

图6 在R2和R3上设定路由信息

设定好之后,再来尝试一下用PC0 ping PC1,发现依旧没有成功,为什么呢?

其实PC0的封包是有成功送到PC1的,只是PC1回传信息给PC0时,由于R3没有192.168.11.0的路由信息,R2也没有这条路由信息,才导致PC1虽然成功收到来自PC0的封包,但回传的时候却因为R3、R2路由信息不足而无法回传给PC0,所以,我们要在R3和R2上设定192.168.11.0的路由信息,如图6所示。

设定好之后,再使用PC0 ping PC1,发现现在可以成功沟通了。

有一点需要留意的是,比如我们在R3设定192.168.11.0这条路由信息,用的指令是“ip route 192.168.11.0 255.255.255.0 fa0/0”,需要特别留意的是这个fa0/0是指192.168.11.0这个网络可以从fa0/0这个接口送出去,这叫做出口接口,在设定路由信息时,除了用出口接口,还可以用“next hop ip”,举个例子,R3要去192.168.11.0除了可以指定出口接口为fa0/0之外,还可以设定它的下一站IP,R3的下一站IP是192.168.23.1,所以,我们也可以用“ip route 192.168.11.0 255.255.255.0 192.168.23.1”这种 next hop ip 来替代出口界面。那么可以两种方式混搭吗?答案是可以的,我们也可以通过“ip route 192.168.11.0 255.255.255.0 fa0/0 192.168.23.1”这种既指定出口接口,又指明next hop ip的方式来设定路由,有兴趣的读者请自行做实验。

但是,什么时候用出口接口,什么时候用next hop ip好呢?一般来说,对于多重网络,一般建议使用next hop ip 或者next hop ip混搭出口接口。

如图7所示,PC2要跟PC3沟通,封包可以走R2那条路径或者走R3那条路径,也就是说,到达PC3的路径有两条,在这种情况下,如果我们用的是出口接口,则无法保证封包是走上面那条还是下面那条路径,所以在这种多重网络的情况下,如果要指定封包走上面或者下面那条路径,较好的方式是使用next hop ip或者next hop ip混搭出口接口。

图7 多重网络下选择路径

图8 设定预设路由

图9 R1、R2、R3的路由设定

最后,需要特别说明的是,在公司内,一般情况下所有的路由器都应该知道公司内其他网络的情况,也就是路由表中应该储存着所有关于公司内的网络,如此才有可能做到不管封包的目的地是哪里,都可以帮忙绕送。

但是,公司内的终端设备不一定只在公司内通信,也有可能要到互联网,如果要公司内的路由器上的路由表学习到互联网上所有的网络是不太实际的行为,但如果不学习的话由于路由表中缺乏相关路由信息又会把封包丢弃,解决方法是在路由器中设定预设路由,所谓预设路由就是当路由表中没有的通通往预设路由送去,做法类似于计算机上设定网关。

以图8为例,一般的做法是R1的预设网关设定为R2的方向,R2设定为R3的方向,而R3设定为Internet的方向。

具体来说,在R1、R2、R3上分别作如图9的设定,“ip route 0.0.0.0 0.0.0.0”是设定默认路由的指令,设定好之后,以后 R1、R2、R3遇到路由表上没有的路由信息,都会往R3送去,通过R3把封包送到Internet上,由ISP帮忙做转发,从而把封包送到目的地,做到可以与公司外的设备通信的目的。

猜你喜欢
路由表封包网关
中药封包在急诊老年急性胃肠炎患者中的临床应用
基于OSPF特殊区域和LSA的教学设计与实践
护肤 巧用保鲜膜
研究路由表的查找过程
无冲突规则校园网络安全系统的设计
信号系统网关设备的优化
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
BGP创始人之一Tony Li:找到更好的途径分配互联网地址