利用Route命令实现跨网段访问

笔者单位里原有一个基于Windows NT和Windows 9x的局域网。其内部的静态IP地址为120.11.0.1~120.11.0.30;子网掩码为255.255.255.0。打字室有一台电脑(120.11.0.14暂称之为A机)也挂在网上,而打字室另外一台电脑需要(因只有一个模块接口故无法直接连接到网上,称之为B机)和A机共享打印机。于是我就设计了一个小的对等网方案,在A、B机上各添加了一块网卡,利用双绞线跳线技术将两卡直接相连。为了不与原有的网络发生冲突,我将A机的新网卡的IP地址设为:192.168.0.1,B机的IP地址相应设为192.168.0.2,掩码均为255.255.255.0,同时选用NetBUI和TCP/IP两个网络协议以及Microsoft网络上的文件与打印机共享服务,并设定"允许其他用户访问我的文件和打印机"。上述工作完成后,重新启动两台电脑,一切OK,可以说很顺利地实现了当初的构想。
  可随后又一个想法一闪而过——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机。
  结果,仍然无法Ping通120.11.0.0网段上的电脑,只能Ping通的是192.168.0.1和120.11.0.14,也就是A机的两块网卡的IP地址。从120.11.0.9上去Ping 192.168.0.1和192.168.0.2也还是不通,看来后添的网关似乎并没有起什么作用......
  后来,笔者想起了Route 这个在Windows 9x中并不让人注意的命令,我在120.11.0.9上执行了route print 之后,结果见示例1。
  其中带有下划线的部分为交换机的IP地址,试着又在测试机B(120.11.0.9)的TCP/IP网络配置项的"网关"栏添加上120.11.0.14。之后,再运行route print,发现路由表有了变化,比示例1的结果多了一条(如示例2所示)。
  但是,结果并非想像的那样,仍然无法Ping通打字室B机,通过检查分析发现两者距离向量都为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
  在测试机B(120.11.0.9)上运行该批处理后再Ping 192.168.0.1。
  终于系统返回了响应!随后在"网上邻居"里也能够看到打字室的B机了!!
  在本例中,你只需对120.11.0.0网段里需要对192网段的电脑进行访问的主机,运行上述批处理即可实现跨网段访问了!

你可能感兴趣的:(利用Route命令实现跨网段访问)