巧用ROUTE命令实现跨网段访问

  问题的提出来自于我一个构想的实现,单位里原有一个基于Windows NTWindows9x的局域网,其内部的静态IP地址为120.11.0.1120.11.0.30,子网掩码为255.255.255.0 ,其中打字室有一台电脑(IP地址120.11.0.14,暂称之为A机)也挂在网上,由于工作需要把打字室另外一台电脑(因只有一个模块接口,故无法直接连接至网上,称之为B机)和A机共享打印机,于是我就设计了一个小的对等网方案,网络拓扑结构如图。在AB机上各添加了一块网卡,用双绞线跳线将两卡直接相连。为了不与原有的网络发生冲突,我将A机的新网卡的IP地址设为了192.168.0.1, B机的IP地址相应设为192.168.0.2 ,掩码均为255.255.255.0,同时选用NetBUITCP/IP两个网络协议,很顺利地实现了我当初将两台机器互连的构想。
能否跨网段访问
可随后又一个想法在我的心头一闪而过,B机能否通过A机访问到120.11.0.0网段上的机器资源呢?如果能做到,它就能解决建网中经常出现的接口不够用问题,其用处实在太大了。
抱着这个想法,我开始了实验。要知道,在没有路由器之前,人们就是利用一些加有多个网卡的PC机充当网关的,这不和我现在的情况一样吗!我开始四处找相关的软件,找来找去,最终也还是没有找到一个有用的答案。NETBUI是不可路由的协议,所以问题显然要从TCP/IP协议入手。能否用在B机的设置中添加一个网关的办法来实现呢?我试着在B机的TCP/IP网络配置项的网关栏添加上了120.11.0.14,我当时的想法就是利用A机的双网卡,用A机来充当一个路由中转,因为在A机的网上邻居中我们既能看到120.11.0.0网段上的共享资源,也能看到192.168.0.0网段的B机。结果,我仍然无法Ping120.11.0.0网段上其他机器,我只能Ping通的是192.168.0.1120.11.0.14,也就是A机的两块网卡的IP地址。从120.11.0.9上去Ping 192.168.0.1192.168.0.2也还是不通,看来我后添的网关似乎并没有起什么作用。
灵机一动想起Route
我忽然想起了Route 这个在Windows 9x中并不让人注意的命令,在120.11.0.9上执行了route print 之后,结果是如表一。
表一:
active routes:
network address
netmask
gateway address
interface
metric
0.0.0.0
0.0.0.0
120.11.0.254
120.11.0.9
1
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
……
表二:
network address
netmask
gateway address
interface
metric
0.0.0.0
0.0.0.0
120.11.0.254
120.11.0.9
1
0.0.0.0
0.0.0.0
120.11.0.14
120.11.0.9
1
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
……
我试着又在120.11.0.9TCP/IP网络配置项的网关栏添加上了120.11.0.14,之后再运行route print,发现路由表有了变动,在上述结果中添加了一条,如表二所示。
但是结果并不如意,仍然无法PingB机,通过检查分析发现两者距离向量都为1,且网络地址均为0.0.0.0,根据Microsoft公司的定义,第一个为其缺省网关的原则,它是不可能访问到我添加的第二个网关的,看来问题就出在这里了!
一个命令解决问题
随后,通过学习,我发现利用Route 命令提供的:Route Delete Route ADD 两条命令就可以成功地实现跨网段访问的需求,为此我编写了一个批处理命令,其内容如下:
route delete 0.0.0.0
route add 192.168.0.0 mask 255.255.255.0 120.11.0.14 metric 1
网络拓扑图
route add 0.0.0.0 mask 255.255.255.0 120.11.0.254 metric 1
在测试机120.11.0.9上运行该批处理命令后再运行Ping192.168.0.1,终于系统返回了响应!随后在网上邻居也能够看到打字室的B机了!
今后,如果120.11.0.0网段里的主机需要对192网段的机器进行访问,只需运行上述批处理命令即可实现跨网段访问

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章