让静态路由使用多网关
湖北 邓海英
我校有如下网络环境:全校450个结点划分成5个子网,各子网的网络号为192.168.1.0~192.168.5.0,网关均为192.168.1.1,各个子网通过华为S2026B二层交换机接入烽火R2600出口路由器,出口通过光纤以100Mbps的带宽接入Internet。
现全县组建电子政务网,要求全县各个单位处室以上领导干部的计算机必须能直接访问县电子政务网服务器192.168.20.6/24,县电子政务网办公室给我校划分的子网号为10.1.26.0,掩码为255.255.255.192,网关为10.1.26.1,电子政务网不能访问Internet。
由于县电子政务网的服务器在电信局托管,所以电信局给我校又开通一条10Mbps的光纤连接电子政务网。电信局的建议是,给我校需要直接访问电子政务网的计算机安装两张网卡,分别设置两个网络的网关,来达到同时访问电子政务网和Internet的目的。
手动添加静态路由
以上的网络需求实际就是要解决两个子网192.168.0.0及10.1.26.0访问不同目标的问题。由于我校办公大楼在建设时就已将连接各个办公室到网络中心的网线埋入墙内,如果为每个需要直接访问县电子政务网的计算机再安装一张网卡,就需要再单独铺设一根网线,无论从铺设的难度及办公大楼的布局来说,都不是一个很好的办法。
如果沿用原来校园网的网线,在需要连接电子政务网的计算机上设置两个网关,就需要人为地切换网关,这对于计算机应用水平不高的人来说,也是一个不小的麻烦。因此,我们决定不采纳电信局的建议,而采用手动添加静态路由的方式来实现两个网关的无缝切换。
(1)将连接电子政务网的光纤接入原有的S2026B交换机。
(2)在需要接入电子政务网的计算机上添加网络号为10.1.26.0的IP地址,例如:10.1.26.2,掩码为255.255.255.192。
具体操作步骤是:选择【Internet协议(TCP/IP)】→【属性】→【高级】→【IP设置】→【添加】命令,添加好IP地址后,要特别注意的是,不能添加10.1.26.1这个网关,具体原因见后文的进一步分析。
(3)进入DOS命令方式,在提示符后输入:ip route add 192.168.20.0 mask 255.255.255.0 10.1.26.1,从而手动添加一条静态路由。
(4)为了能使每次开机时都自动执行这个命令,可以将其写成一个批处理文件,因为建立批处理文件的方法比较简单,此处略去不提。
经过以上4 个步骤的操作后,在命令行方式中可以用route print命令看到本地路由表中新增了一条到192.168.20.0网络的静态路由,此时本地计算机既可以访问Internet,也可以访问电子政务网,用户在使用过程中完全感觉不到网关切换的过程。
方案原理
通过以上的介绍可以看出,本方法中有两个亮点:
一是同一个交换机可以连接不同的网络,在平常使用过程中,普遍的固定思维是一个交换机只能接同一个网络。其实我们从交换机的原理就可以知道,这种思维方式是不正确的,因为交换机处于OSI参考模型的数据链路层,属于网桥,起着桥接的作用,因此交换机可以接入多个不同的网络。上述方案中正是利用了这一点,从而免去了不必要的硬件投入。
二是不设10.1.26.0这个网络的网关,而采用静态路由的方式,免去了额外的组网开销。
那么为什么不能设置两个网关呢?这就要从网关的作用说起,在设置网关时,本地计算机的路由表中添加了一条默认路由:
0.0.0.0 0.0.0.0网关IP地址本地接口跃点数。
其含义是,如果在路由表中无法找到到达目标网络的路径时,就把数据包发送到这条默认路由中的网关,如果删除了本机对应的网关,则这条默认路由也将在路由表中删除。如果本机设置了两个IP地址,并且分别对应了两个网关,则会在本机的路由表中添加了两条默认路由,它们分别是:
0.0.0.0 0.0.0.0192.168.1.1192.168.1.88 1
0.0.0.0 0.0.0.0 10.1.26.1192.168.1.88 1
此时,本机在发送数据时就不知道该如何处理了,而手动添加静态路由与直接设置网关产生路由路径不同,数据在发送过程中会根据本地路由表中指明的路径传输。
通过以上的方法,完全可以实现单张网卡对不同网络的无缝访问。