中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 网络应用 > 协议大全 > VLAN协议
调试路由器做中继代理的小插曲
作者:未知 时间:2005-08-02 22:28 出处:中国协议分析网 责编:chinaitpower
              摘要:调试路由器做中继代理的小插曲
■网络环境
  我们的交换机用的是CiscoCatalyst2948G,路由器用的是Cisco3640。交换机按端口分为两个虚拟子网VLAN1和VLAN2。VLAN1的IP地址范围为168.68.35.XXX,子网掩码为255.255.255.0;VLAN2的IP地址范围为168.68.36.XXX,子网掩码为255.255.255.0。交换机1口设为虚拟子网间的主干路(TRUNK),与Cisco3640的以太网口相连,2~40口被划分在VLAN1中,41~48被划分在VLAN2中。客户端使用的是Windows95操作系统,安装TCP/IP协议接入VLAN1,服务器端使用的是WindowsNT+SP4+微软的DHCP服务器,同时在VLAN2中安装TCP/IP协议接入VLAN2。逻辑示意图如下。客户端的IP地址用自动获得IP地址的方式,通过路由器做中继代理,由DHCP服务器分配一个IP地址。服务器的IP地址是168.68.36.8,子网掩码是255.255.255.0。交换机的IP地址是168.68.36.9,子网掩码是255.255.255.0。路由器IP地址是168.68.36.10,子网掩码是255.255.255.0。


■最初的路由器配置
  Cisco3640支持子口的设置。子口就是在单个物理接口上建立并保持多条逻辑连接,最初的路由器配置如下:

  interfaceFastEthernet1/0

  ipaddress168.68.35.1255.255.255.0

  noipdirected-broadcast

  fair-queue642560

  !

  interfaceFastEthernet1/0.1

  encapsulationdot1Q1

  iphelper-address168.68.36.8

  noipdirected-broadcast

  !

  interfaceFastEthernet1/0.2

  encapsulationdot1Q2

  ipaddress168.68.36.1255.255.255.0

  noipdirected-broadcast

  routereigrp100

  passive-interfaceSerial0/0

  network168.0.0.0

  noauto-summary

■发现问题:客户端无法获得IP地址
  硬件连接好后,在客户端用Win95自带的Winipcfg命令获取IP地址时,问题出现了:客户端无法获取IP地址。从硬件连接看,问题可能出在网卡、网线、交换机、路由器四个方面。将客户端手工设置IP地址,能够ping通服务器、交换机、路由器,说明网卡、网线、交换机、路由器都工作正常,那问题会出在什么地方呢?会不会是路由器的配置语句不对呢?经查阅随机文档配置语句本身没有问题。为缩小问题的范围,我把客户端接入VLAN2中,这时客户端就能获取IP地址了,再将客户端接入VLAN1中,又不能获取IP地址了,看来是VLAN在捣乱。

  我们知道客户端第一次获取IP地址,要经过四步。每一步的信息传输都是用广播发出的,其中任何一步在VLAN的传输中受阻都会使客户端无法获取IP地址,那么如何查看广播包在交换机中传输呢?在TCP/IP协议中,传输协议分为TCP和UDP,TCP是面向连接的协议,UDP是非面向连接的协议。从广播的性质来分析,广播包应该是UDP包,广播要通过路由器,而路由器又能监测UDP包,这样就可通过路由器查看广播包在VLAN间的传输了。输入路由器监测UDP包的命令debugipudp后发现,IP租用请求信息(DHCPDISCOVER)仅发送到了VLAN1中,没有传送到VLAN2中,这应该是客户端无法获得IP地址的关键。

■找到问题:原来出在IP上
  在路由器的配置中,iphelper-address168.68.36.8这条命令的作用是负责指明UDP包传输的目的地址,IP租用请求信息没有被传送到VLAN2中,就是由于这条命令没起作用。再次查看随机文档,这条命令确实没写错。我正在百思不得其解时,猛然发现路由器以太网口的第二子口设置了IP地址,第一子口未设置IP地址,而母口却设置了IP地址,也就是说第一子口的IP地址已由母口决定了,那iphelper-address168.68.36.8这条命令是否也应该设到母口上呢?我立刻动手将路由器的配置改写如下:

  interfaceFastEthernet1/0

  ipaddress168.68.35.1255.255.255.0

  iphelper-address168.68.36.8

  noipdirected-broadcast

  fair-queue642560

  !

  interfaceFastEthernet1/0.1

  encapsulationdot1Q1

  noipdirected-broadcast

  !

  interfaceFastEthernet1/0.2

  encapsulationdot1Q2

  ipaddress168.68.36.1255.255.255.0

  noipdirected-broadcast

  routereigrp100

  passive-interfaceSerial0/0

  network168.0.0.0

  noauto-summary

  如此设置后,客户端就能够获得IP地址了。从这个问题的解决,可以推测出Cisco3640第一子口的配置信息都应设在母口上。事后我又查阅了一些有关书籍,证实这个推测是对的。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有