利用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机的网上邻居中即能看?20.11.0.0网段上的共享资源,同时也能看到加入的192.168.0.0网段的B机。 示例1 network addressnetmaskgateway addressinterfacemetric 0.0.0.00.0.0.0120.11.0.254120.11.0.91 127.0.0.0255.0.0.0127.0.0.1127.0.0.11 120.11.0.0255.255.255.0120.11.0.9120.11.0.91 120.11.0.9255.255.255.255127.0.0.1127.0.0.11 120.11.255.255255.255.255.255120.11.0.9120.11.0.91 224.0.0.0224.0.0.0120.11.0.9120.11.0.91 255.255.255.255255.255.255.255120.11.0.90.0.0.01 结果,仍然无法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。 示例2 network address netmask gateway address interface metric0.0.0.0 0.0.0.0 120.11.0.254 120.11.0.9 10.0.0.0 0.0.0.0 120.11.0.14 120.11.0.9 1127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1120.11.0.0 255.255.255.0 120.11.0.9 120.11.0.9 1120.11.0.9 255.255.255.255 127.0.0.1 127.0.0.1 1120.11.255.255 255.255.255.255 120.11.0.9 120.11.0.9 1224.0.0.0 224.0.0.0 120.11.0.9 120.11.0.9 1255.255.255.255 255.255.255.255 120.11.0.9 0.0.0.0 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网段的电脑进行访问的主机,运行上述批处理即可实现跨网段访问了!
|