03-网络层协议操作
本章节下载 (656.96 KB)
1.2.2 配置接口借用IP地址(IP Address Unnumbered)
1.2.4 IP Address Unnumbered显示和调试
5.3.8 配置DHCP客户端的NetBIOS服务器的IP地址
5.7.5 3COM VCX请求option 184组网案例
7.2.2 设置Route-policy的if-match子句
所谓IP地址,是指分配给连接在Internet上的主机的一个唯一的32比特标识符。IP地址一般由两部分组成:第一部分为网络号码,第二部分为主机号码。IP地址的结构使我们可以在Internet上方便地进行寻址。IP地址由美国国防数据网的网络信息中心(NIC)进行分配。
为了方便IP地址的管理以及组网,Internet的IP地址分成五类。如图1-1所示,IP地址由下列两个字段组成:
l 网络号码字段(net-id);网络号码字段的前几位称为类别字段(又称为类别比特),用来区分IP地址的类型。
l 主机号码字段(host-id)。
D类地址是一种组播地址,主要是留给Internet体系结构委员会IAB(Internet Architecture Board)使用。E类地址保留在今后使用。目前大量使用中的IP地址属于A、B、C三类中的一种。
在使用IP地址时要知道一些IP地址是保留作为特殊用途的,一般不使用。下表列出用户可配置的IP地址范围。
表1-1 IP地址分类及范围
网络类型 |
地址范围 |
用户可用的IP网络范围 |
说明 |
A |
0.0.0.0~127.255.255.255 |
1.0.0.0~126.0.0.0 |
所有形如127.X.Y.Z的地址都保留作回路测试,发送到这个地址的分组不会输出到线路上,它们被内部处理并当作输入分组。 |
B |
128.0.0.0~191.255.255.255 |
128.0.0.0~191.254.0.0 |
- |
C |
192.0.0.0~223.255.255.255 |
192.0.0.0~223.255.254.0 |
- |
D |
224.0.0.0~239.255.255.255 |
无 |
D类地址是一种组播地址。 |
E |
240.0.0.0~255.255.255.255 |
无 |
255.255.255.255用于广播地址,其它地址保留今后使用。 |
IP地址有一些重要的特点:
(1) IP地址是一种非等级的地址结构,和电话号码的结构不一样,也就是说,IP地址不能反映任何有关主机位置的地理信息。
(2) 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号码net-id是不同的,这种主机成为多地址主机(multihomed host)。
(3) 按照Internet的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号码net-id。
(4) 在IP地址中,所有分配到网络号码(net-id)的网络,不管是小的局域网还是很大的广域网,都是平等的。
从1985年起,为了使IP地址的使用更加灵活,只分配IP地址的网络号码net-id,而后面的主机号码host-id则是受本单位控制。即某个单位申请到IP地址时,实际上只是拿到了一个网络号码net-id,具体的各个主机号码host-id 则由该单位自行分配,只要做到在该单位管辖的范围内无重复的主机号码即可。当一个单位的主机很多而且分布在很大的地理范围时,为了便于管理,可将单位内部的主机号码再进一步划分为多个子网。需要注意的是,子网的划分由本单位内部决定,在本单位以外是看不见划分的操作的。从外部看,这个单位只有一个网络号码。只有当外面的报文进入到本单位范围后,本单位的网络设备才根据子网号码再进行选路,找到目的主机。
如图1-2所示,为一个B类IP地址划分子网情况,其中子网掩码由一串连续的“1”和一串连续的“0”组成。“1”对应于网络号码和子网号码字段,而“0”对应于主机号码字段。
图1-2 IP地址子网划分
多划分出一个子网号码字段是要付出代价的。举例来说,本来一个B类IP地址可以容纳65534个主机号码。但划分出6bit长的子网字段后,最多可有64个子网,每个子网有10bit的主机号码,即每个子网最多可有1022(210-2,去掉全1和全0的主机号码)个主机号码。因此主机号码的总数是64* 1022 = 65408个,比不划分子网时要少126个。
若一个单位不进行子网的划分,则其子网掩码即为默认值,此时子网掩码中“1”的长度就是网络号码的长度。因此,对于A,B和C类的IP地址,其对应子网掩码的默认值分别为255.0.0.0;255.255.0.0.和255.255.255.0。
一台路由器可以用来连接多个网络,具有多个网络的IP地址。上面讲的IP地址还不能直接用来进行通信。这是因为:
l IP地址只是主机在网络层中的地址,若要将网络层中传送的数据报交给目的主机,必须知道该主机的物理地址。因此必须将IP地址解析为物理地址。
l 用户平时不愿意使用难于记忆的IP地址,而是愿意使用易于记忆的主机名,因此也需要将主机名解析为IP地址。
下图表示了主机名、IP地址和物理地址之间的关系。
图1-3 主机名、IP地址和物理地址之间的关系
IP地址配置包括:
l 配置接口IP地址
l 配置接口借用IP地址
l IP地址的监控与维护
路由器的每个接口可以配置多个IP地址,其中一个为主IP地址,其余为从IP地址。
IP地址的配置支持如下情况:
l 父接口和子接口之间不可以是同一网段。
l 兄弟接口之间不可以是同一网段。
l 主从地址可以是同一网段。
一个接口只能有一个主IP地址,用下面的命令可修改接口的主IP地址和网络的掩码。
请在接口视图下进行下列配置。
操作 |
命令 |
配置接口主IP地址 |
ip address ip-address net-mask |
通过掩码来标识IP地址包含的网号,例如:路由器以太网口的IP地址是129.9.30.42,掩码是255.255.0.0,将IP地址与掩码相“与”后,可知路由器以太网接口所在网段的地址为129.9.0.0。
当配置主IP地址时,如果接口上已经有主IP地址,则原主IP地址被删除,新配置的地址成为主IP地址。
缺省情况下,无主IP地址。
除了主IP地址外,一个接口上还可配置多个从IP地址。配置从IP地址的主要目的在于使同一接口能位于不同的子网上,从而产生以同一接口为输出端口的网络路由,这样通过同一接口实现与多个子网相连。
请在接口视图下进行下列配置。
操作 |
命令 |
配置接口从IP地址 |
ip address ip-address net-mask sub |
缺省情况下,无从IP地址。
一个接口所能配置的IP地址总数最多为32个,包括主IP地址和从IP地址。
请在接口视图下进行下列配置。
操作 |
命令 |
删除IP地址 |
undo ip address [ ip-address net-mask [ sub ] ] |
使用该命令时若不带任何参数,将删除该接口的所有IP地址。
undo ip address命令不带任何参数表示删除该接口的所有IP地址。undo ip address ip-address net-mask表示删除主IP地址,undo ip address ip-address net-mask sub表示删除从IP地址。在删除主IP地址前必须先删除完所有的从IP地址。
若接口封装了PPP,本端接口还未配置IP地址而对端已有IP地址时,可为本端接口配置IP地址可协商属性(在本端路由器上配置ip address ppp-negotiate命令,在对端路由器上配置remote address命令),使本端接口接受PPP协商产生的由对端分配的IP地址。该配置主要用于在通过ISP访问Internet时,得到由ISP分配的IP地址。
请在接口视图下进行下列配置。
表1-5 设置接口IP地址可协商属性
操作 |
命令 |
设置接口IP地址可协商属性 |
ip address ppp-negotiate |
取消接口IP地址可协商属性 |
undo ip address ppp-negotiate |
配置为对端接口分配IP地址 |
remote address { ip-address | pool [ pool-number ] } |
取消为对端接口分配IP地址 |
undo remote address |
系统缺省为不允许接口IP地址的协商。
注意:
l 因PPP支持IP地址的协商,所以只有当接口封装了PPP时,才能设置接口IP地址的协商,当PPP协议down时,协商产生的IP地址将被删除。
l 若接口原来配有地址,在配置接口IP地址协商后,原IP地址将被删除。
l 配置接口IP地址协商后,不需再给该接口配置IP地址,IP地址由协商获得。
l 配置接口IP地址协商后,再次配置该接口协商,原协商产生的IP地址将被删除,接口再次协商获得IP地址。
l 在协商地址被删除后,接口将处于无地址状态。
借用IP地址这种功能,其最主要的目的就是节省宝贵的IP地址资源。一个接口如果没有IP地址就无法生成路由,也就无法转发报文。所谓“借用IP地址”,其实质就是:一个接口上没有配置IP地址,但是还想使用该接口。就向其它有IP地址的接口借一个IP地址过来,以使该接口能够正常使用。如果被借用接口有多个IP地址,则只能借用主IP地址。如果被借用接口没有IP地址,则借用接口的IP地址为0.0.0.0。该功能通过ip address unnumbered命令来实现。
需要注意的是:
l 借用方不能为以太网接口。
l 被借用方接口的地址本身不能为借用地址。
l 被借用方的地址可以借给多个接口。
l Loopback的地址可被其它接口借用,但本身不能借用其它接口的地址。
IP Address Unnumbered属性在接口视图下进行,封装了PPP、HDLC、帧中继、SLIP的串口以及Tunnel接口可借用以太网口或其它接口的IP地址。
IP Address Unnumbered配置任务列表如下:
l 激活和关闭IP Address Unnumbered
请在接口视图下进行下列配置。
表1-6 接口借用IP地址的配置
操作 |
命令 |
激活IP Address Unnumbered |
ip address unnumbered interface interface-type interface-number |
关闭IP Address Unnumbered |
undo ip address unnumbered |
缺省情况下,不借用其它接口的IP地址。
在完成上述配置后,在任意视图下执行display命令可以显示IP地址配置后的运行情况,通过查看显示信息验证配置的效果。
表1-7 IP地址显示和调试
操作 |
命令 |
显示接口IP信息 |
display ip interface [ interface-type interface-number ] |
显示接口IP摘要信息 |
display ip interface brief [ interface-type interface-number ] |
在完成上述配置后,在任意视图下执行display命令可以显示IP Address unnumbered配置后的运行情况,通过查看显示信息验证配置的效果。
表1-8 IP Address Unnumbered显示和调试
操作 |
命令 |
显示接口信息,其中包括IP Address Unnumbered信息 |
display interface [ interface-type [ interface-number ] ] |
为RouterA的GigabitEthernet1/0接口配置IP地址,要求主IP地址为129.2.2.1,从地址为129.1.3.1。
# 配置RouterA的GigabitEthernet1/0的主从IP地址。
[H3C] interface gigabitethernet1/0
[H3C-GigabitEthernet1/0] ip address 129.2.2.1 255.255.255.0
[H3C-GigabitEthernet1/0] ip address 129.1.3.1 255.255.255.0 sub
ARP即地址解析协议,主要用于从IP地址到以太网MAC地址的解析。一般情况下,ARP动态执行并自动寻求IP地址到以太网MAC地址的解析,无需管理员的介入。
在Comware的实现中,如果收到的ARP报文满足以下任何一条条件,系统将创建或更新ARP表项:
l ARP报文的源IP地址与入接口IP地址在同一网段,不是广播地址,目的IP地址是本接口IP地址。
l ARP报文的源IP地址与入接口IP地址在同一网段,不是广播地址,目的IP地址是本接口的VRRP虚拟IP地址。
l ARP报文的目的IP地址属于入接口上的配置的NAT地址池。
如果收到的ARP报文的源IP地址在入接口的ARP表中已经存在对应表项,也将对ARP表项进行更新。
在某些情况下,如将目的地址不在本网段的报文,绑定到某个特定网卡,使得到该IP地址的报文能通过该网关进行转发;或是当用户需要过滤掉一些非法IP地址(如将这些非法地址绑定到某个不存在的MAC地址),就需要用户手工配置静态ARP表中的映射项。
静态ARP配置包括:
l 手工添加/删除静态ARP映射项
请在系统视图下进行下列配置。
表2-1 手工添加/删除静态ARP映射项
操作 |
命令 |
手工添加静态ARP映射项 |
arp static ip-address mac-address |
手工删除静态ARP映射项 |
undo arp ip-address |
静态ARP映射项在路由器正常工作时间一直有效,而动态ARP映射项的有效时间为20分钟。
缺省情况下,由动态ARP协议获取地址映射。
可以使用下面的命令控制设备是否学习MAC地址为组播MAC的ARP表项。
请在系统视图下进行下列配置。
表2-2 使能/关闭ARP表项的检查功能
操作 |
命令 |
使能ARP表项的检查功能,即不学习MAC地址为组播MAC的ARP表项 |
arp check enable |
关闭ARP表项的检查功能,即学习MAC地址为组播MAC的ARP表项 |
undo arp check enable |
缺省情况下,使能ARP表项的检查功能,即不学习MAC地址为组播MAC的ARP表项。
可以使用下面的命令控制设备是否支持自然网段的ARP请求。
请在系统视图下进行下列配置。
表2-3 使能/关闭支持自然网段的ARP请求
操作 |
命令 |
使能支持自然网段的ARP请求 |
naturemask-arp enable |
不支持自然网段的ARP请求 |
undo naturemask-arp enable |
缺省情况下,不支持自然网段的ARP请求。
代理ARP的主要功能就是将处在同一网段(IP地址在同一网段),却在不同的物理网络上的计算机或路由器连接起来,使它们互相通信,就好像在同一个物理网络上。
在80年代中后期,随着网络应用的发展,局域网的规模越来越大。一所大学的以太网中主机数目可以达到上百台,在这种情况下以太网中的碰撞和冲突的次数已经相当多了。此时新的应用需要继续扩大局域网的规模,若采用中继器的方式将新增的计算机连入局域网,将会使局域网过载,产生的碰撞和冲突将严重降低以太网的性能。为解决这一问题,提出了代理ARP解决方案。
代理ARP主要是为连接两个在同一IP网段但位于不同物理位置上的网络。
图2-1 代理ARP的应用环境
两个局域网分别与两台路由器的以太网口相连。两个局域网中的主机都在192.38.0.0网段上。实际上,局域网A占用了192.38.160.0这一子网段。局域网B占用了192.38.162.0这一子网段。但是两个局域网中主机的掩码一定是16位,即:只包括网络号(192.38.0.0),而不包括子网号(192.38.160.0或192.38.162.0)。两台路由器的以太网口都配置成192.38.0.0网段,并使能代理ARP。两台路由器通过PSTN相连。在两台路由器上分别配置一条到对端局域网网段的静态路由。
当局域网A中的主机想访问局域网B中的主机,例如:IP地址为192.38.160.2的主机(以下简称主机A)想访问192.38.162.2的主机(以下简称主机B)。其访问过程如下:
l 主机A发出对主机B的ARP请求报文。
l 路由器A收到该请求报文,查找路由表。若发现一条到主机B的路由项(192.38.162.0),就将自己的MAC地址添入ARP应答报文中,发送给主机A。
l 主机A收到ARP应答报文后,就将IP报文发送给路由器A。
l 路由器A接收到IP报文后,再查找路由表,将报文转发给路由器B。
l 路由器B将接收到的IP报文转发给主机B。
l 当主机B向主机A发送应答报文时,也将经过相同的过程。这样,两台处于不同物理网络上的主机相互访问,就好象处于同一物理网络上。
请在以太网接口视图下进行下面配置。
操作 |
命令 |
配置代理ARP |
arp-proxy enable |
禁用代理ARP功能 |
undo arp-proxy enable |
缺省情况下,禁用代理ARP功能。
免费ARP是指设备通过对外发送免费ARP报文,来实现以下功能:
网络中的设备可以通过发送免费ARP报文来确定其它设备的IP地址是否与自己冲突。
如果发送免费ARP报文的设备正好改变了硬件地址(很可能是设备关机了,并换了一块接口卡,然后重新启动),那么这个报文就可以使其它设备高速缓存中旧的硬件地址进行相应的更新。例如:设备收到某个IP地址的免费ARP请求,但在此设备的高速缓存中已经存在这个IP地址的ARP表项,那么就要用免费ARP请求中的发送端硬件地址(如以太网地址)对高速缓存中相应的内容进行更新。设备接收到任何ARP请求都要完成这个操作(ARP请求是在网上广播的,因此每次发送ARP请求时网络上的所有主机都要这样做)。
免费ARP报文的特点:
报文的源和目的IP地址都是本机地址,报文源MAC地址是本机MAC地址。
当其它设备收到免费ARP报文后,如果发现免费ARP报文中的IP地址和自己的IP地址冲突,则给发送免费ARP报文的设备返回一个ARP应答。
请在系统视图下进行下列配置。
表2-5 使能免费ARP学习功能
操作 |
命令 |
使能免费ARP学习功能 |
gratuitous-arp-learning enable |
关闭免费ARP学习功能 |
undo gratuitous-arp-learning enable |
缺省情况下,关闭免费ARP报文学习功能。
请在系统视图下进行下列配置。
表2-6 使能应答不同网段的ARP请求报文的功能
操作 |
命令 |
使能应答不同网段的ARP请求报文的功能 |
gratuitous-arp-sending enable |
关闭应答不同网段的ARP请求报文的功能 |
undo gratuitous-arp-sending enable |
缺省情况下,关闭应答不同网段的ARP请求报文的功能。
在完成上述配置后,在任意视图下执行display命令可以显示ARP配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除该运行情况,执行debugging命令可以对ARP进行调试。
表2-7 ARP显示和调试
操作 |
命令 |
显示ARP映射表 |
display arp [ static | dynamic | all ] |
清除ARP映射表中的ARP项 |
reset arp [ all | dynamic | static | interface interface-type interface-number ] |
打开ARP调试信息开关 |
debugging arp packet |
关闭ARP调试信息开关 |
undo debugging arp packet |
TCP/IP不仅提供了IP地址来确定设备,而且还专门设计了一种字符串形式的主机命名机制,这就是所谓的域名系统。此系统使用一种有层次的命名方式,为网间网上的设备指定一个有意义的名字,并且在网络上设有域名解析服务器,完成域名与IP地址的对应关系。这样一来用户就可以使用便于记忆的、有意义的域名,而不必去记忆晦涩难懂的IP地址。
域名解析分为动态解析和静态解析,二者可以相辅相成。在解析域名时,可以首先采用静态解析的方法,如果静态解析不成功,再采用动态解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。
l 动态解析有专用的域名解析服务器,负责接受客户提出的域名解析请求。服务器首先在本机数据库内部解析,如果判断不属于本域范围之内,就将请求交给上一级的域名解析服务器,直到完成解析,解析的结果或者为IP地址,或者域名不存在,并将解析的结果反馈给客户机。
l 静态解析即手动建立域名和IP地址之间的对应关系。当客户机需要域名所对应的IP地址,即到静态域名解析表中去查找指定的域名,然后获得所对应的IP地址。
静态域名解析是通过静态域名解析表进行的,静态域名解析表类似于Windows操作系统之下的hosts文件,路由器可以通过查询此表而获取常见域名的IP地址,同时用户可以使用便于记忆的主机名而不是抽象的IP地址来访问相应的设备。
请在系统视图下进行下列操作。
操作 |
命令 |
配置主机名和对应IP地址 |
ip host hostname ip-address |
取消主机名和对应的IP地址 |
undo ip host hostname [ ip-address ] |
每个主机名只能对应一个IP地址,当对同一主机名进行多次配置时,后配置的IP地址生效。
表2-9 域名解析表显示和调试
操作 |
命令 |
显示静态域名解析表 |
display ip host |
由于Internet协议(IP)地址结构(由32位组成)不便于记忆(比如点分式表示的202.112.131.109),所以大多数组织采用缩写词或有意义的名字(称为域名,如www.sina.com.cn)来表示地址,而不是使用IP地址。但是,如何让非IP标识的域名映射为IP地址呢?IP地址与其域名之间的映射是依靠解析器及域名服务器来完成的。
域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名称和IP地址之间的转换及电子邮件的选路信息。从应用上来讲,对DNS Server的访问是通过一个地址解析器(Resolver)来完成的。DNS Client主要完成Resolver的功能,它的主要功能是完成IP地址和主机的域名之间的转换。
一般一个DNS系统的工作过程为应用程序首先向DNS Client发出请求,DNS Client收到请求后,首先查询本地数据库,如果发现没有,就向名称服务器发送查询报文,收到响应后再解析名称服务器发回来的响应报文,并根据响应报文的内容决定下一步的操作。
图2-2 DNS系统组成框图
用户程序(User Program)依照自己的需要(需要域名或IP地址)向解析器(Resolver)发出询问,解析器首先查询本地缓冲区(Cache),如果在缓冲区中查到该映射项,则直接回复用户的请求。如果缓冲区中没有,它将根据查询的类型(需要IP地址还是需要域名)组织查询报文,该报文可以采用TCP或UDP格式(本程序中采用UDP),然后根据本机上的DNS配置向缺省的域名服务器发出UDP(或TCP)查询报文(域名服务器的端口号为53),获得服务器的响应后,解析该响应报文并回答用户的请求。
应用程序、解析器和域名服务器以及解析器上的缓冲区关系如上图所示,其中,解析器和缓冲区集成在一起构成DNS Client,它的作用是接受应用程序的DNS咨询,并对其作出应答。一般来说,“应用程序”和“域名解析器”是在同一台主机上,“域名服务器”可以和它们在同一台主机上,也可以在不同的主机上(一般情况下是在不同的主机上)。
DNS Client的配置包括下面几个配置:
l 启动DNS解析
l 配置DNS服务器的IP地址
l 配置域名后缀搜索列表
其中必须的配置是启动DNS解析与配置DNS服务器的IP地址,如果设备上的接口使用DHCP客户端来分配IP地址,且DHCP服务器下发的给设备的信息中包括了DNS服务器的地址和域后缀搜索列表,那么只需要启动域名解析即可。
要使用DNS Client功能,需要在设备上打开DNS解析的开关,使用下面的命令可以启动/关闭DNS解析。
请在系统视图下进行下面配置。
表2-10 启动/关闭DNS域名解析功能
操作 |
命令 |
启动DNS域名解析功能 |
dns resolve |
关闭DNS域名解析功能 |
undo dns resolve |
缺省情况下,关闭DNS域名解析功能。
要进行DNS域名解析,需要知道域名服务器的地址,这样才能把查询请求报文发送到正确的服务器进行解析,使用下面的命令可以配置/删除DNS服务器的IP地址。
请在系统视图下进行下面配置。
表2-11 配置DNS服务器的IP地址
操作 |
命令 |
配置DNS服务器的IP地址 |
dns server ip-address |
删除DNS服务器的IP地址 |
undo dns server [ip-address ] |
缺省情况下,未配置DNS服务器的IP地址。
用户在访问一些网站的时候,后缀往往都是相同的。如sina.com.cn,www.h3c.com.cn,sohu.com.cn等。
为了方便用户使用,可以设定一个domain为com.cn,这样在用户敲入命令ping sina的时候,DNS解析时会先查找字符串“sina.com.cn”对应的IP地址,如果没有得到回应,就发送sina的进行解析查找“sina”对应的IP地址。重复使用下面的命令可以配置域后缀搜索列表。
请在系统视图下进行下面配置。
表2-12 配置DNS域搜索后缀
操作 |
命令 |
配置DNS域搜索后缀 |
dns domain domain-name |
删除DNS域搜索后缀 |
undo dns domain [ domain-name ] |
& 说明:
根据RFC1034的规定如果用户输入”ping sina.”,那么将会先查找“sina”对应的IP地址,如果没有回应,则会发送“sina.com.cn”对应的IP地址解析请求报文。
请在任意视图下进行下列操作。
操作 |
命令 |
查看DNS解析功能是否启动 |
display current-configuration |
显示DNS服务器的配置 |
display dns server [ dynamic ] |
显示DNS域后缀搜索列表的配置 |
display dns domain [ dynamic ] |
显示动态的域名缓存的内容 |
display dns dynamic-host |
显示DNS解析结果 |
nslookup type { ptr ip-address | a domain-name } |
& 说明:
如果使用dynamic参数,则显示的域名服务器是通过DHCP或者其它方式动态获取到的域名服务器的地址。
在一次成功的域名解析之后,DNS Client会把解析的结果放到缓存中。如果再有相同的域名解析请求,那么DNS Client会首先在缓存中查找,如果没有,再向DNS服务器发送域名解析请求,使用下面的命令可以清空当前缓存中的内容。
请在用户视图下进行下列操作。
操作 |
命令 |
清空动态的域名缓存的内容 |
reset dns dynamic-host |
请在用户视图下进行下列操作。
操作 |
命令 |
打开DNS Client调试开关 |
debugging dns |
关闭DNS Client调试开关 |
undo debugging dns |
缺省情况下,DNS Client调试开关关闭。
在路由器上使用域名解析功能。路由器的IP地址是10.110.10.1,DNS服务器的IP地址是10.110.10.66。
路由器配置
# 启动DNS 域名解析功能。
[H3C] dns resolve
# 配置DNS 服务器IP地址。
# 配置GigabitEthernet 1/0的IP地址。
[H3C] interface gigabitethernet 1/0
[H3C-GigabitEthernet1/0] ip address 10.110.10.1 255.255.255.0
一般情况下域名解析失败的原因有如下几个:
(1) 软件原因
l 域名服务器的IP地址配置错误。
l 设备到域名服务器没有正确的路由
l 没有打开域名解析的开关
(2) 硬件原因
l 网络连接是否有故障,如网线折断,接口松动。
DNS Proxy是指在路由器上启动DNS代理功能,这样在局域网内部没有DNS服务器时,局域网内部客户端可以通过路由器连接到外部DNS服务器,进行正确的DNS解析后,可以访问Internet。
(1) DNS客户端将DNS请求报文发送给DNS Proxy,此时请求报文的目的地址为DNS Proxy的IP地址;
(2) DNS Proxy收到请求报文后,将报文中的目的地址替换为DNS服务器的IP地址,然后根据已配置的DNS服务器的地址将报文转发给DNS服务器。若在DNS Proxy上配置了多个DNS服务器的地址,则DNS Proxy先向第一个DNS服务器上发送请求,若第一个DNS服务器没有响应,则DNS客户端等待超时后会重新发送DNS请求报文,DNS Proxy收到请求报文后向第二个DNS服务器转发,以此类推,直到DNS服务器发送响应报文为止。
(3) DNS服务器的响应报文返回给DNS Prxoy后,DNS Proxy将报文中的源IP地址替换为DNS Proxy的IP地址后转发给DNS客户端。这时,DNS客户端就可以使用DNS解析到的IP地址访问Internet。
在配置DNS Proxy功能前需要先进行如下配置:
l 在DNS Proxy上配置真实的DNS服务器的地址
l 在PC上指定DNS Server为使能了DNS Proxy的路由器的IP地址
l 保证DNS Proxy与DNS Client及DNS服务器网络可达
DNS Proxy功能是在路由器上配置的。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动DNS代理功能 |
dns-proxy enable |
必选 |
局域网内没有DNS服务器,要求内部10.1.1.0/24网段的PC可以通过外网的DNS服务器来解析域名。要求:
l 路由器支持DNS Proxy;
l 外网DNS服务器IP地址为10.72.66.36/24。
图2-4 DNS Proxy典型配置举例
(1) 配置路由器
# 配置GigabitEthernet 1/0的IP地址。
[H3C] interface gigabitethernet 1/0
[H3C-GigabitEthernet1/0] ip address 10.1.1.1 255.255.255.0
# 配置NAT服务,使客户端可以通过DNS Proxy访问Internet。
[H3C] acl number 2000
[H3C-acl-basic-2000] rule 0 permit source 10.1.1.0 0.0.0.255
[H3C-acl-basic-2000] quit
[H3C] interface gigabitethernet 2/0
[H3C-GigabitEthernet2/0] ip address 10.1.2.1 255.255.255.0
[H3C-GigabitEthernet2/0] nat outbound 2000
[H3C-GigabitEthernet2/0] quit
# 启动DNS Proxy功能。
[H3C] dns-proxy enable
# 配置DNS服务器地址。
[H3C] dns server 10.72.66.36
# 配置路由(略)。
要确保路由器与客户端和DNS服务器的路由可达。
(2) 配置PC
将网关及DNS服务器指定为10.1.1.1。
URPF(Unicast Reverse Path Forwarding,单播反向路径查找),主要功能是用于防止基于源地址欺骗的网络攻击行为。
源地址欺骗攻击为入侵者构造出一系列带有伪造源地址的报文,对于使用基于IP地址验证的应用来说,此攻击方法可以导致未被授权用户以他人身份获得访问系统的目的。即使响应报文不能达到攻击者,同样也会造成对被攻击对象的破坏。
一般的URPF检查有严格(Strict)型和 松散(Loose)型两种,此外,还可以支持ACL与缺省路由的检查。
URPF的处理流程如下:
(1) 如果报文的源地址在路由器的FIB表中存在:
l 对于strict型检查,反向查找报文出接口,若其中至少有一个出接口和报文的入接口相匹配,则报文通过检查;否则报文将被URPF丢弃。
l 对于loose型检查,只要报文的源地址在路由器的FIB表中存在,报文就通过检查。
(2) 如果报文的源地址在路由器的FIB表中不存在,则检查缺省路由及allow-default参数
& 说明:
缺省路由指收到报文的路由器上配置的缺省路由。
l 对于配置了缺省路由,但没有配置参数allow-default的情况,不管是strict型检查还是loose型检查,只要报文的源地址在路由器的FIB表中不存在,URPF都将报文丢弃;
l 对于配置了缺省路由,同时又配置了参数allow-default的情况下,如果是strict检查,只要缺省路由的出接口与报文的入接口一致,则报文将通过URPF的检查,进行正常的转发;如果缺省路由的出接口和报文的入接口不一致,则报文将被URPF丢弃。如果是loose型检查,报文都将通过URPF的检查,进行正常的转发。
最后,当且仅当报文被URPF拒绝后,才去匹配ACL列表。如果被ACL允许通过,则报文继续进行正常的转发;如果被ACL拒绝,则报文被丢弃。
& 说明:
URPF不支持快速转发,即在已经建立快速转发表的情况下,URPF检查失败的报文仍然能够被转发。
请在接口视图下进行下列配置。
表2-17 使能或关闭URPF检查
操作 |
命令 |
使能URPF检查 |
ip urpf { strict | loose } [ allow-default-route ] [ acl acl-number ] |
关闭URPF检查 |
undo ip urpf |
缺省为关闭URPF检查。
请在用户视图下进行下列配置。
表2-18 显示URPF的丢包情况
操作 |
命令 |
打开URPF的丢包调试开关 |
debugging ip urpf discards [ interface interface-type interface-num ] |
关闭URPF的丢包调试开关 |
undo debugging ip urpf discards [ interface interface-type interface-num ] |
UDP HELPER的主要功能是实现对指定UDP广播报文的中继转发,即它能将UDP广播报文转成单播报文发送给指定的服务器,起到一个中继的作用。
在启动UDP HELPER后,如果端口接收到UDP广播报文,则根据报文的UDP端口号来判断是否要对该报文进行中继转发,如果需要转发,则修改IP报文头的目的IP地址,将报文发给指定的目的服务器;否则,将报文送给上层模块处理。对于BOOTP/DHCP广播报文的中继,如果客户端在请求报文中指明需要以广播报文的形式接收响应报文,则系统将以广播的方式向客户端发送响应报文;否则将以单播的方式向客户端发送响应报文。
UDP HELPER配置包括:
l 启动/关闭UDP中继转发功能
l 配置需要中继转发的UDP端口
l 配置广播报文中继转发的目的服务器
可以使用下面的命令启动/关闭UDP中继转发功能。当启动该功能后,用户就可以配置需要中继转发的UDP端口。在启动的同时,69、53、37、137、138、49这六个默认的UDP端口的广播报文转发功能会被启动。当关闭该功能后,所有已配置的UDP端口都被取消,包括默认端口。
请在系统视图下进行下列配置。
表3-1 启动/关闭UDP中继转发功能
操作 |
命令 |
启动UDP中继转发功能 |
udp-helper enable |
关闭UDP中继转发功能 |
undo udp-helper enable |
缺省情况下,UDP中继转发处于关闭状态。
可以使用下面的命令配置需要中继转发的UDP端口。当启动UDP中继转发功能后,系统默认支持中继转发下面协议端口的广播报文,即这些默认UDP端口的广播报文会被单播转发到相应的目的服务器。系统最多支持配置256个需要中继转发的UDP端口。
表3-2 默认UDP端口列表
协议 |
UDP端口号 |
TFTP (Trivial File Transfer Protocol) |
69 |
DNS (Domain Name System) |
53 |
Time service |
37 |
NetBIOS-NS (NetBIOS Name Server) |
137 |
NetBIOS-DS (NetBIOS Datagram Server) |
138 |
TACACS (Terminal Access Controller Access Control System) |
49 |
请在系统视图下进行下列配置。
表3-3 配置/删除需要中继转发的UDP端口
操作 |
命令 |
配置需要中继转发的UDP端口 |
udp-helper port { port | dns | netbios-ds | netbios-ns | tacacs | tftp | time } |
删除需要中继转发的UDP端口 |
undo udp-helper port { port | dns | netbios-ds | netbios-ns | tacacs | tftp | time } |
需要注意的是:
l 只有先启动UDP中继转发功能后,才能配置需要中继转发的UDP端口。否则,将会有错误提示信息。
l 参数dns|netbios-ds|netbios-ns|tacacs|tftp|time指6个默认端口。对默认端口可以有两种配置方法:(1) 指定端口号配置;(2) 指定参数配置。例如:udp-helper port 53和udp-helper port dns的效果是一样的。
l 在用display current-configuration命令显示配置信息时,默认端口号是不显示的,只有当取消了一个默认端口的中继转发功能,该端口号才显示出来。
可以使用下面的命令在以太网接口上配置广播报文被中继转发到的目的服务器。一个以太网接口最多对应20个目的服务器。在启动UDP中继转发功能,且在某个以太网接口上配置了目的服务器后,则从该以太网接口接收的指定UDP端口的广播报文都被单播发送到以太网接口对应的目的服务器。
请在以太网接口视图下进行下列配置。
表3-4 配置/删除广播报文中继转发的目的服务器
操作 |
命令 |
配置广播报文中继转发的目的服务器 |
udp-helper server ip-address |
删除广播报文中继转发的目的服务器 |
undo udp-helper server [ ip-address ] |
缺省情况下,没有配置目的服务器。
在完成上述配置后,在任意视图下执行display命令可以显示配置后UDP HELPER的目的服务器,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行debugging命令对UDP HELPER进行调试。
表3-5 UDP HELPER的显示和调试
操作 |
命令 |
显示以太网接口对应的目的服务器信息 |
display udp-helper server [ interface number ] |
打开UDP HELPER的调试开关 |
debugging udp-helper { event | packet [ receive | send ] } |
关闭UDP HELPER的调试开关 |
undo debugging udp-helper { event | packet [ receive | send ] } |
BOOTP客户端可以使用BOOTP协议向服务器请求分配一个IP地址。BOOTP客户端主要包含两个过程:
l 向服务器发送BOOTP请求报文
l 处理服务器返回的BOOTP响应报文
BOOTP客户端在使用BOOTP协议获取IP地址时,先向服务器发送BOOTP请求报文,服务器接收到请求报文后,将返回BOOTP响应报文。BOOTP客户端从接收到响应报文中即可获取所分配到的IP地址。
BOOTP协议报文是基于UDP的,为了保证报文的可靠传输,采取超时重传机制。BOOTP客户端在向服务器发送请求报文时,同时启动一个重发定时器。若该定时器超时仍未收到服务器返回的响应报文,则要重传请求报文。重传报文每隔五秒重传一次,报文最多能传送三次,传送三次之后还不成功就不再重传报文。
BOOTP客户端配置包括:
l 配置以太网接口通过BOOTP协议获取IP地址
可以使用下面的命令配置以太网接口的IP地址通过BOOTP协议获取。
请在以太网接口视图下进行下列配置。
表4-1 配置以太网接口通过BOOTP协议获取IP地址
操作 |
命令 |
配置以太网接口通过BOOTP协议获取IP地址 |
ip address bootp-alloc |
取消以太网接口通过BOOTP协议获取IP地址 |
undo ip address bootp-alloc |
缺省情况下,以太网接口不通过BOOTP协议获取IP地址。
在完成上述配置后,在任意视图下执行display命令可以显示配置后的BOOTP客户端,通过查看显示信息验证配置的效果。
表4-2 BOOTP客户端的显示及调试
操作 |
命令 |
显示BOOTP客户端的相关信息 |
display bootp client [ interface interface-type interface-number ] |
随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况。动态主机配置协议DHCP(Dynamic Host Configuration Protocol)就是为满足这些需求而发展起来的。
与BOOTP相比,DHCP也采用客户/服务器通信模式,由客户端向服务器提出配置申请(包括分配的IP地址、子网掩码、缺省网关等参数),服务器根据策略返回相应配置信息,两种协议的报文都采用UDP进行封装,并使用基本相同的报文结构。
BOOTP运行在相对静态(每台主机都有固定的网络连接)的环境中,管理员为每台主机配置专门的BOOTP参数文件,该文件会在相当长的时间内保持不变。
DHCP从两方面对BOOTP进行了扩展:DHCP可使计算机仅用一个消息就获取它所需要的所有配置信息;DHCP允许计算机快速、动态地获取IP地址,而不是静态为每台主机指定地址。
(1) IP地址分配策略
对于IP地址的占用时间,不同主机有不同的需求:对于服务器,可能需要长期使用固定的IP地址;对于某些主机,可能需要长期使用某个动态分配的IP地址;而某些个人则可能只在需要时分配一个临时的IP地址就可以了。
针对这些不同的需求,DHCP服务器提供三种IP地址分配策略:
l 手工分配地址:由管理员为少数特定主机(如WWW服务器等)配置固定的IP地址。
l 自动分配地址:为首次连接到网络的某些主机分配固定IP地址,该地址将长期由该主机使用。
l 动态分配地址:以“租借”的方式将某个地址分配给客户端主机,使用期限到期后,客户端需要重新申请地址。大多数客户端主机得到的是这种动态分配的地址。
(2) IP地址分配的优先次序
DHCP服务器按照如下次序为客户端选择IP地址:
l DHCP服务器的数据库中与客户端MAC地址静态绑定的IP地址;
l 客户端以前曾经使用过的IP地址,即客户端发送的DHCP-REQUEST报文中请求IP地址选项(Requested IP Addr Option)的地址;
l 在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址;
l 如果未找到可用的IP地址,则依次查询超过租期、发生冲突的IP地址,如果找到则进行分配,否则报告错误。
在以下场合通常利用DHCP服务器来完成IP地址分配:
l 网络规模较大,手工配置需要很大的工作量,并难以对整个网络进行集中管理。
l 网络中主机数目大于该网络支持的IP地址数量,无法给每个主机分配一个固定的IP地址。大量用户必须通过DHCP服务动态获得自己的IP地址,而且,对并发用户的数目也有限制。
l 网络中具有固定IP地址的主机比较少,大部分主机可以不使用固定的IP地址。
在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和便携机),如下图所示:
图5-1 DHCP服务器典型组网应用
DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式:
(1) DHCP客户端首次登录网络
DHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务器建立联系。
l 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP_Discover报文,只有DHCP服务器才会进行响应。
l 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP_Discover报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其它设置的DHCP_Offer报文。服务器在发送DHCP_Offer报文之前,会以广播的方式发送ARP报文进行地址探测,以保证发送给客户端的IP地址的唯一性。
l 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP_Offer报文,客户端只接受第一个收到的DHCP_Offer报文,然后以广播方式向各DHCP服务器回应DHCP_Request报文,该信息中包含DHCP服务器在DHCP_Offer报文中分配的IP地址。
l 确认阶段,即DHCP客户端确认所提供IP地址的阶段。客户端收到DHCP_ACK确认报文后,广播ARP报文,目的地址是被分配的IP地址。如果在规定的时间内没有收到回应,客户端才使用此地址。
l 除DHCP客户端选中的服务器外,其它DHCP服务器本次未分配出的IP地址仍可用于其它客户端的IP地址申请。
(2) DHCP客户端再次登录网络
当DHCP客户端再次登录网络时,主要通过以下几个步骤与DHCP服务器建立联系。
l DHCP客户端首次正确登录网络后,以后再登录网络时,只需要广播包含上次分配IP地址的DHCP_Request报文即可,不需要再次发送DHCP_Discover报文。
l DHCP服务器收到DHCP_Request报文后,如果客户端申请的地址没有被分配,则返回DHCP_ACK确认报文,通知该DHCP客户端继续使用原来的IP地址。
l 如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端),DHCP服务器将返回DHCP_NAK报文。客户端收到后,重新发送DHCP_Discover报文请求新的IP地址。
(3) DHCP客户端延长IP地址的租用有效期
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约(如延长IP地址租约)。
实际使用中,在DHCP客户端启动或IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCP_Request报文,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCP_ACK报文,通知DHCP客户端已经获得新IP租约。
(4) 在PC机上的配置(以Window XP操作系统为例)
在用户PC机(即DHCP客户端)的DOS环境下使用ipconfig /release命令主动释放IP地址,此时,用户PC机向DHCP服务器发送DHCP_Release报文。然后,在用户PC机的DOS环境下使用ipconfig /renew命令申请新的IP地址,此时,用户PC机向DHCP服务器发送DHCP_Discover报文。
在用户PC机(DHCP客户端)上也可以使用ipconfig /renew命令来更新其IP地址租约。
上述几个过程在下面的DHCP客户端状态迁移图中有完整体现:
图5-2 DHCP客户端状态迁移图
DHCP Accounting又称为DHCP计费,是指DHCP服务器在分配和释放租约时,通知RADIUS服务器开始计费或停止计费。DHCP服务器与RADIUS服务器配合使用,实现了网络计费功能,同时也在一定程度上保障了网络的安全性。
在DHCP服务器与RADIUS服务器进行交互主要是通过发送Accounting start和Accounting stop请求报文来进行的,这两种报文结构的结构大致相同,只是在Attribute字段稍有差别,报文结构如下:
图5-3 Accounting报文结构
l Code:Code字段在报文中占用一个字节,用来表示RADIUS报文的类型。当收到的报文的Code字段非法时,该报文将会被丢弃。Code值为4时表示是Accounting start报文,为5时表示是Accounting stop报文。
l Identifier:Identifier字段在报文中占用一个字节,用来匹配请求和回应报文,RADIUS服务器可以通过这个字段来检测从同一个客户端的相同IP地址和UDP端口发来的重复请求。
l Length:Length字段在报文中占用两个字节,标识了整个Accounting报文的长度。
l Authenticator:Authenticator字段在报文中占用16个字节。用来识别客户端和RADIUS计费服务器之间的信息。
在运行DHCP Server功能的路由器上配置好AAA认证和RADIUS,则DHCP Server作为RADIUS的客户端。对于DHCP Server作为RADIUS客户端的认证过程,请参考本手册的“安全”部分,这里将指介绍DHCP Server与RADIUS Server的计费交互过程。
l DHCP服务器通过DHCP ACK报文将IP配置信息发送给DHCP客户端后,会发送Accounting start请求报文给指定的RADIUS服务器,RADIUS服务器将对Accounting start请求进行相应的处理,并进行记录。同时RADIUS 服务器给DHCP服务器发送回应报文。
l 当由于某种原因,DHCP服务器的租约被释放后,DHCP服务器将立刻发送Accounting stop请求报文通知RADIUS服务器停止记录,然后RADIUS服务器对Accounting stop报文进行相应的处理并停止记录。同时RADIUS服务器给DHCP服务器发送回应报文。释放租约的原因有:租约过期、收到用户的release请求、手工删除租约、手工删除地址池等。
若由于种种原因,指定域的RADIUS服务器不可达,则Accounting start报文将在一定的时间间隔发送三次,若三次后仍没有收到正确的相应报文,则不再发送Accounting start报文。
DHCP服务器支持BIMS option是指DHCP服务器在给DHCP客户端分配IP地址的同时将BIMS(Branch Intelligent Management System)服务器的信息也同时告知DHCP客户端,使DHCP客户端在得到IP地址后能够通过BIMS服务器进行软件备份和升级。BIMS option的option号为217。
BIMS option是在DHCP服务器给DHCP客户端的回应报文的options字段中添加的。由于不同厂商的DHCP客户端对DHCP回应报文的处理机制不同,因此DHCP服务器在DHCP_OFFER和DHCP_ACK报文中都将携带BIMS option选项。BIMS option报文结构如下:
图5-4 BIMS option(option 217)报文结构
BIMS option报文的结构与其它option报文的结构基本相同,也包含了Code和Len字段用来标识option的序号和option报文的长度。
i1~iN字段主要用来携带BIMS服务器的IP地址、协议端口号以及BIMS Server的共享密钥。在该字段由字符串组成,例如BIMS服务器的IP地址为192.168.1.1,端口号为80,共享密钥为abcdefg,则在i字段中表示为192.168.1.1.80.abcdefg。
(1) DHCP客户端向DHCP服务器发送请求报文申请IP地址以及配置参数。
(2) DHCP服务器端收到请求报文后,查看本地配置的地址池,DHCP服务器可以在全局地址池及接口地址池启动BIMS option。若将要分配地址的地址池启动了BIMS option,则DHCP服务器将在回应报文中除携带分配给客户端的IP配置信息外,还将携带BIMS服务器的IP地址、协议端口号以及共享密钥。
DHCP客户端收到服务器带有BIMS option的回应报文后解析出option中的BIMS服务器IP地址、协议端口号以及共享密钥。客户端获得BIMS服务器的信息后就向BIMS服务器定期发送连接请求,以便通过BIMS服务器进行软件的备份和升级。
option 184是RFC中规定的保留选项,用户可以自定义该选项中携带的信息。因此3COM使用该选项定义了四个私有的子选项,从而使DHCP服务器可以在回应DHCP客户端的请求时携带DHCP客户端需要的信息。option 184中包含的子选项主要是携带了语音方面的信息,其子选项号和携带的信息具体如下:
l sub-option 1:NCP-IP(Network Call Processor IP Address),网络呼叫处理器IP地址。
l sub-option 2:AS-IP(Alternate Server IP Address),备选NCP服务器的IP地址。
l sub-option 3:Voice VLAN Configuration,语音VLAN配置。
l sub-option 4:Fail-Over Call Routing,Failover呼叫路由。
(1) option 184中各子选项的含义
l NCP-IP
NCP-IP子选项携带了NCP(Network Call Processor,网络呼叫处理器)的IP地址。在option 184中若使用该子选项,必须将其作为第一个子选项(sub-option 1)。
option 184的sub-option 1子选项携带的NCP-IP地址可以标识作为网络呼叫控制源的服务器及应用程序下载服务器。
l AS-IP
AS-IP子选项携带了AS(Alternate Server,备选服务器)的IP地址,该子选项为option 184的第二个子选项(sub-option 2)。只有定义了sub-option 1,即只有定义了NCP-IP子选项,AS-IP子选项才能生效。
option 184中的sub-option 2子选项携带了备选NCP服务器的IP地址,用来作为NCP-IP的备份。当NCP-IP中携带的地址不可达或不合法时,才使用该选项指定的NCP服务器。
l Voice VLAN Configuration
Voice VLAN Configuration子选项携带了语音VLAN是否使能的标记以及VLAN ID,该子选项为option 184的第三个子选项(sub-option 3)。
option 184的sub-option 3子选项共由两部分组成:一部分携带了语音VLAN识别是否使能的标记,另一部分携带了语音VLAN的ID信息。当语音VLAN使能域标记为0时,则表示没有使能语音VLAN识别功能,即使VLAN ID域中指定了语音VLAN ID,也将忽略该VLAN ID信息;当语音VLAN使能域标记为1时,表示使能语音VLAN识别功能。
(2) Fail-Over Call Routing
Fail-Over Call Routing子选项携带了Failover呼叫路由的IP地址及其关联的拨号串,该子选项为option 184的第四个子选项(sub-option 4)。
option 184的sub-option 4子选项中的Fail-Over呼叫路由的IP地址和拨号串就是SIP(Session Initiation Protocol,会话初始化协议)用户之间互相通信时对端的IP地址和呼叫号码。当NCP服务器不可达时,SIP用户可以使用已配置的对端IP地址及呼叫号码直接与对端SIP用户建立连接并通信。
& 说明:
DHCP服务器添加option 184的sub-option时,添加sub-option 2、sub-option 3或sub-option 4前必须先添加sub-option 1子选项,否则后面的子选项将无效。
(3) DHCP服务器支持option 184的工作机制
DHCP服务器携带的option 184信息是添加在服务器给DHCP客户端的回应报文中。下面假设DHCP客户端与DHCP服务器在同一网段,DHCP服务器支持option 184的工作机制如下:
l DHCP客户端向DHCP服务器发送请求报文,请求报文中携带option 184选项,该选项中指明了请求option 184的配置参数。
l DHCP服务器查看请求报文中的请求列表,然后在回应报文的options字段中添加option 184及相应的sub-option后返回给DHCP客户端。
& 说明:
只有DHCP客户端在请求报文的option 55选项中指明要求回应option 184选项,DHCP服务器才会回应option 184。
早期的DHCP协议只适用于DHCP客户端和服务器处于同一个子网内的情况,不能跨网段。因此,为进行动态主机配置,需要在所有网段上都设置一个DHCP服务器,这显然是很不经济的。
DHCP中继功能(DHCP Relay)的引入解决了这一难题:局域网内的客户端可以通过DHCP中继与其它子网的DHCP服务器通信,最终取得合法的IP地址。这样,多个网络上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于进行集中管理。
一般来说,DHCP中继可以是主机,也可以是路由器,只要对它启动DHCP中继代理的服务程序即可。
下图是DHCP中继的典型应用示意图。
图5-5 DHCP中继的典型组网应用
工作原理如下:
l 当DHCP客户端启动并进行DHCP初始化时,它在本地网络广播配置请求报文。
l 如果本地网络存在DHCP服务器,则可以直接进行DHCP配置,不需要DHCP中继;
l 如果本地网络没有DHCP服务器,则与本网络相连的、带DHCP中继功能的网络设备收到该广播报文后,进行适当处理并转发给指定的、其它网络上的DHCP服务器。
l DHCP服务器根据客户端提供的信息进行相应的配置,并通过DHCP中继将配置信息发送给客户端,完成对客户端的动态配置。事实上,从开始配置到最终完成配置,可能存在多次这样的交互过程。
DHCP中继提供了对DHCP广播报文的透明传输功能,能够把DHCP客户端(或服务器)的广播报文透明地传送到其它网段的DHCP服务器(或客户端)上。
在实际网络环境中,DHCP中继功能一般是在路由器某个具体的接口上实现的。这时需要为该接口配置IP中继地址,用来指定DHCP服务器。
DHCP的公共配置是指对于DHCP服务器和DHCP中继功能都适用的配置,包括:
l 使能/禁止DHCP服务
l 配置伪DHCP服务器检测功能
对于DHCP服务器和DHCP中继,在进行DHCP配置之前,都需要先使能DHCP服务。只有启动该服务后,其它相关的DHCP配置才能生效。
请在系统视图下进行下列配置。
表5-1 使能/禁止DHCP服务
操作 |
命令 |
使能DHCP服务 |
dhcp enable |
禁止DHCP服务 |
undo dhcp enable |
缺省情况下,使能DHCP服务。
& 说明:
在正确配置系统时钟后,DHCP才会正常运行。
在网络中,如果有私自架设的DHCP服务器,当其它用户申请IP地址时,这台DHCP服务器就会与DHCP客户端进行交互,导致用户获得错误的IP地址,无法正常上网,这种私设的DHCP服务器称为伪DHCP服务器。
可以配置伪DHCP服务器检测功能,记录DHCP服务器的IP地址和接口等信息,以便管理员及时发现并处理伪DHCP服务器。
请在系统视图下进行下列配置。
表5-2 配置伪DHCP服务器检测功能
操作 |
命令 |
使能伪DHCP服务器检测功能 |
dhcp server detect |
禁止伪DHCP服务器检测功能 |
undo dhcp server detect |
缺省情况下,禁止伪DHCP服务器检测功能。
DHCP服务器配置包括:
l 配置接口工作在DHCP服务器模式
l 创建DHCP地址池
l 配置DHCP地址池的地址分配
l 配置DHCP地址池中不参与自动分配的IP地址
l 配置DHCP地址池的IP地址租用有效期限
l 配置DHCP客户端的域名
l 配置DHCP客户端的DNS服务器的IP地址
l 配置DHCP客户端的NetBIOS服务器的IP地址
l 配置DHCP客户端的NetBIOS节点类型
l 配置DHCP自定义选项
l 配置DHCP客户端的出口网关
l 配置DHCP服务器的ping包发送
l 配置DHCP服务器计费
l DHCP服务器支持BIMS option配置
l 配置DHCP服务器支持option184
l 清除DHCP相关信息
& 说明:
全局地址池与接口地址池:
l 全局地址池是通过系统视图下的dhcp server ip-pool命令创建的,在本路由器范围内有效。
l 接口地址池是在为以太网接口配置了合法的单播IP地址后自动创建的,它的地址段范围就是此以太网接口所在的网段,并且只在此接口下有效。
当收到DHCP客户端发出的、目的地址是本机的DHCP报文时,可以通过配置决定如何处理这些报文。如果配置为服务器模式,则将报文转给本地DHCP服务器;如果配置为中继模式,则将报文转给指定的外部DHCP服务器。
如果配置当前接口工作在服务器模式,请在接口视图下进行下列配置。
表5-3 配置当前接口工作在DHCP服务器模式
操作 |
命令 |
将DHCP报文发送到本地DHCP服务器,从全局地址池分配地址 |
dhcp select global [ subaddress ] |
将DHCP报文发送到本地DHCP服务器,从接口地址池分配地址 |
dhcp select interface |
恢复缺省设置 |
undo dhcp select |
如果同时配置多个接口工作在服务器模式,请在系统视图下进行下列配置。
操作 |
命令 |
将DHCP报文发送到本地DHCP服务器,从全局地址池分配地址 |
dhcp select global [ subaddress ] { interface gigabitethernet-subinterface-range | all } |
将DHCP报文发送到本地DHCP服务器,从接口地址池分配地址 |
dhcp select interface { interface gigabitethernet-subinterface-range | all } |
恢复缺省设置 |
undo dhcp select { interface gigabitethernet-subinterface-range | all } |
缺省情况下,对DHCP报文的处理模式为服务器模式(global)。
& 说明:
l 如果需要使用接口地址池,必须将对DHCP报文的处理模式设置为interface。
l subaddress表示使能DHCP Server从地址分配功能,即服务器分配给客户端的IP地址为服务器上以太网口从地址网段的IP地址,该地址从全局地址池中分配。此时服务器端以太网接口下也要配置从IP地址,且要求全局地址池的网段与接口下从IP地址在同一网段。
l 当配置了subaddress从地址分配功能后,只有在接口的主IP地址对应的地址池中无可分配的地址后,才会使用从地址对应的地址池分配地址。当接口下配置了多个从地址时,系统将会按照从地址的配置顺序查找地址池并分配地址。即当第一个从地址对应的地址池中无可分配的地址时,才会使用第二个从地址对应的地址池进行分配。
DHCP服务器通过地址池给用户分配IP地址。当客户端向服务器发出DHCP请求时,DHCP服务器选择合适的地址池,并从中挑选一个空闲的IP地址与其它相关参数(如DNS服务器地址、地址租用期限等)一起传送给客户端。每个DHCP服务器可以配置多个地址池,Comware目前支持128个全局地址池。
DHCP服务器中的地址池采用树状结构:树根是自然网段地址,分支是该网段的子网地址,叶节点是手工绑定的客户端地址。这种树状结构实现了配置的继承性,即子网(子节点)配置继承自然网段(父节点)的配置,客户端(孙子节点)的配置继承子网(子节点)的配置。这样,对于一些通用参数(如域名),只需要在自然网段或者子网上配置即可。地址池的树状结构可以通过命令display dhcp server tree查看,同一级别地址池的顺序由配置的先后决定。
请在系统视图下进行下列配置。
表5-5 创建DHCP全局地址池
操作 |
命令 |
创建DHCP地址池或进入DHCP地址池视图 |
dhcp server ip-pool pool-name |
删除DHCP地址池 |
undo dhcp server ip-pool pool-name |
缺省情况下,没有创建任何DHCP全局地址池。
根据客户端的实际需要,可以选择采用静态地址绑定方式或动态地址分配方式,但不能对同一个DHCP地址池同时配置这两种方式。
动态地址分配需要指定用于分配的地址范围,而静态地址绑定则可以看做是只包含一个地址的特殊的DHCP地址池。
某些客户端可能需要固定的IP地址,即将客户端的MAC地址或identifier与某个IP地址绑定。当此MAC地址或identifier的客户端申请DHCP地址时,服务器根据客户端MAC地址或identifier寻找到对应的固定IP地址分配给客户端。
请在DHCP地址池视图下进行下列配置。
操作 |
命令 |
配置静态绑定的IP地址 |
static-bind ip-address ip-address [ mask netmask ] |
删除静态绑定的IP地址 |
undo static-bind ip-address |
配置静态绑定的客户端MAC地址 |
static-bind { mac-address mac-address | client-identifier client-identifier } |
删除静态绑定的客户端MAC地址 |
undo static-bind { mac-address | client-identifier } |
缺省情况下,未配置DHCP客户端IP地址与MAC地址或identifier绑定。客户端的MAC地址或identifier类型缺省为以太。
& 说明:
l 命令static-bind ip-address和static-bind { mac-address mac-address | client-identifier client-identifier }必须配合使用,并且,如果多次执行,新的配置会覆盖已有配置。
l 当路由器作为DHCP客户端动态获取IP地址时,由于路由器发送的DHCP Client报文中带有identifier字段,所以在DHCP服务器端设置静态绑定时应该使用identifier与IP地址绑定,并非使用接口的MAC地址与IP地址绑定。
l 每个MAC地址或identifier只能与一个IP地址进行绑定。
请在接口视图下进行下列配置。
命令 |
|
配置当前接口的接口地址池中的静态地址绑定 |
dhcp server static-bind ip-address ip-address { mac-address mac-address | client-identifier client-identifier } |
删除配置的静态地址绑定 |
undo dhcp server static-bind { ip-address ip-address | mac-address mac-address | client-identifier client-identifier } |
对于动态分配给客户端的地址(包括永久的和租用期有限的动态地址),都需要配置地址池范围。目前,同一地址池中只能配置一个地址段,通过掩码设定地址范围的大小。
请在DHCP地址池视图下进行下列配置。
表5-8 配置动态分配的IP地址范围
操作 |
命令 |
配置动态分配的IP地址范围 |
network ip-address [ mask netmask ] |
删除动态分配的IP地址范围 |
undo network |
缺省情况下,未配置DHCP地址池,即没有可供分配的地址。
多次执行network命令,新的配置会覆盖已有配置。
DHCP服务器在分配地址时,需要排除已经被占用的某些IP地址(如网关、FTP服务器等),否则,同一地址分配给两台主机会造成IP地址冲突。
请在系统视图下进行下列配置。
表5-9 配置DHCP地址池中不参与自动分配的IP地址
操作 |
命令 |
配置DHCP地址池中不参与自动分配的IP地址 |
dhcp server forbidden-ip low-ip-address [ high-ip-address ] |
删除DHCP地址池中不参与自动分配的IP地址 |
undo dhcp server forbidden-ip low-ip-address [ high-ip-address ] |
缺省情况下,DHCP地址池中的所有IP地址都参与自动分配。
多次执行本命令,可以配置多个不参与自动分配的IP地址段。
对于不同的地址池,DHCP服务器可以指定不同的地址租用期限,但同一DHCP地址池中的地址都具有相同的期限。
地址租用有效期限不具有继承关系。
为方便用户,系统提供不同范围的地址租用有效期限配置方式。
请在DHCP地址池视图下进行下列配置。
表5-10 配置全局DHCP地址池的IP地址租用有效期限
操作 |
命令 |
配置动态分配的IP地址租用有效期限 |
expired { day day [ hour hour [ minute minute ] ] | unlimited } |
恢复缺省的IP地址租用有效期限 |
undo expired |
请在接口视图下进行下列配置。
表5-11 配置接口DHCP地址池的IP地址租用有效期限
操作 |
命令 |
配置动态分配的IP地址租用有效期限 |
dhcp server expired { day day [ hour hour [ minute minute ] ] | unlimited } |
恢复缺省的IP地址租用有效期限 |
undo dhcp server expired |
系统提供对指定范围的多个以太网子接口的DHCP地址池同时进行配置的功能,以减少某些应用中的重复配置工作。
请在系统视图下进行下列配置。
表5-12 配置多个接口的DHCP地址池IP地址租用有效期限
操作 |
命令 |
配置动态分配的IP地址租用有效期限 |
dhcp server expired { day day [ hour hour [ minute minute ] ] | unlimited } { interface gigabitethernet-subinterface-range | all } |
恢复缺省的IP地址租用有效期限 |
undo dhcp server expired { interface gigabitethernet-subinterface-range | all } |
缺省情况下,IP地址租用有效期限为1天。
& 说明:
为方便用户,对某些DHCP配置选项,系统提供不同范围的DHCP地址池的配置方式。用户可以分别对全局DHCP地址池、接口DHCP地址池或指定接口范围的多个以太网子接口的接口DHCP地址池进行配置,最后一种配置方式对于减少某些应用中的重复配置尤其有用。
这类配置任务包括:配置DHCP客户端的域名、DHCP客户端的DNS服务器的IP地址、DHCP客户端的NetBIOS服务器的IP地址、DHCP客户端的NetBIOS节点类型以及DHCP自定义选项。
在DHCP服务器上,可以为每个地址池分别指定客户端使用的域名。
如果配置全局DHCP地址池,请在DHCP地址池视图下进行下列配置。
表5-13 配置全局DHCP地址池的DHCP客户端域名
操作 |
命令 |
配置分配给DHCP客户端的域名 |
domain-name domain-name |
删除分配给DHCP客户端的域名 |
undo domain-name |
如果配置接口DHCP地址池,请在接口视图下进行下列配置。
表5-14 配置接口DHCP地址池的DHCP客户端域名
操作 |
命令 |
配置分配给DHCP客户端的域名 |
dhcp server domain-name domain-name |
删除分配给DHCP客户端的域名 |
undo dhcp server domain-name |
如果配置多个接口的DHCP地址池,请在系统视图下进行下列配置。
表5-15 配置多个接口的DHCP地址池的DHCP客户端域名
操作 |
命令 |
配置分配给DHCP客户端的域名 |
dhcp server domain-name domain-name { interface gigabitethernet-subinterface-range | all } |
删除分配给DHCP客户端的域名 |
undo dhcp server domain-name { interface gigabitethernet-subinterface-range | all } |
缺省情况下,未配置分给DHCP客户端的域名。
主机通过域名访问Internet时,需要将域名解析为IP地址,这是通过域名系统DNS(Domain Name System)实现的。因此,为了使DHCP客户端成功接入Internet,DHCP服务器应在为客户端分配IP地址的同时指定DNS服务器地址。
在目前的实现中,每个DHCP地址池最多可以配置8个DNS服务器地址。
如果配置全局DHCP地址池,请在DHCP地址池视图下进行下列配置。
表5-16 配置全局DHCP地址池的DNS服务器地址
操作 |
命令 |
配置DHCP客户端的DNS服务器的IP地址 |
dns-list ip-address [ ip-address ] |
删除DHCP客户端的DNS服务器的IP地址 |
undo dns-list { ip-address | all } |
如果配置接口DHCP地址池,请在接口视图下进行下列配置。
表5-17 配置接口DHCP地址池的DNS服务器地址
操作 |
命令 |
配置DHCP客户端的DNS服务器的IP地址 |
dhcp server dns-list ip-address [ ip-address ] |
删除DHCP客户端的DNS服务器的IP地址 |
undo dhcp server dns-list { ip-address | all } |
如果配置多个接口的DHCP地址池,请在系统视图下进行下列配置。
表5-18 配置多个接口的DHCP地址池的DNS服务器地址
操作 |
命令 |
配置DHCP客户端的DNS服务器的IP地址 |
dhcp server dns-list ip-address [ ip-address ] { interface gigabitethernet-subinterface-range | all } |
删除DHCP客户端的DNS服务器的IP地址 |
undo dhcp server dns-list { ip-address | all } { interface gigabitethernet-subinterface-range | all } |
缺省情况下,未配置DNS服务器的IP地址。
对于使用Microsoft操作系统的客户端,由WINS(Windows Internet Naming Service)服务器为通过NetBIOS协议通信的主机提供主机名到IP地址的解析。所以,大部分Windows网络客户端需要进行WINS的设置。
在目前的实现中,每个DHCP地址池最多可以配置8个NetBIOS地址。
如果配置全局DHCP地址池,请在DHCP地址池视图下进行下列配置。
表5-19 配置全局DHCP地址池客户端的NetBIOS服务器地址
操作 |
命令 |
配置DHCP客户端的NetBIOS服务器地址 |
nbns-list ip-address [ ip-address ] |
删除DHCP客户端的NetBIOS服务器地址 |
undo nbns-list { ip-address | all } |
如果配置接口DHCP地址池,请在接口视图下进行下列配置。
表5-20 配置接口DHCP地址池客户端的NetBIOS服务器地址
操作 |
命令 |
配置DHCP客户端的NetBIOS服务器地址 |
dhcp server nbns-list ip-address [ ip-address ] |
删除DHCP客户端的NetBIOS服务器地址 |
undo dhcp server nbns-list { ip-address | all } |
如果配置多个接口的DHCP地址池,请在系统视图下进行下列配置。
表5-21 配置多个接口的DHCP地址池客户端的NetBIOS服务器地址
操作 |
命令 |
配置DHCP客户端的NetBIOS服务器地址 |
dhcp server nbns-list ip-address [ ip-address ] { interface gigabitethernet-subinterface-range | all } |
删除DHCP客户端的NetBIOS服务器地址 |
undo dhcp server nbns-list { ip-address | all } { interface gigabitethernet-subinterface-range | all } |
缺省情况下,未配置NetBIOS服务器的IP地址。
DHCP客户端在广域网上使用NetBIOS协议通信时,需要在主机名和IP地址之间建立映射关系。根据获取映射关系的方式不同,NetBIOS节点分为四种:
l b类节点(b-node):“b”代表广播(broadcast),即,此类节点采用广播的方式获取映射关系。
l p类节点(p-node):“p”代表端到端(peer-to-peer),即,此类节点采用与NetBIOS服务器通信的方式获取映射关系。
l m类节点(m-node):“m”代表混合(mixed),是具有部分广播特性的p类节点。
l h类节点(h-node):“h”代表混合(hybrid),是具备“端对端”通信机制的b类节点。
如果配置全局DHCP地址池,请在DHCP地址池视图下进行下列配置。
表5-22 配置全局DHCP地址池的客户端NetBIOS节点类型
操作 |
命令 |
配置DHCP客户端的NetBIOS节点类型 |
netbios-type { b-node | h-node | m-node | p-node } |
恢复DHCP客户端的缺省NetBIOS节点类型 |
undo netbios-type |
如果配置接口DHCP地址池,请在接口视图下进行下列配置。
表5-23 配置接口DHCP服务器的客户端的NetBIOS节点类型
操作 |
命令 |
配置DHCP客户端的NetBIOS节点类型 |
dhcp server netbios-type { b-node | h-node | m-node | p-node } |
恢复DHCP客户端的缺省NetBIOS节点类型 |
undo dhcp server netbios-type |
如果配置多个接口的DHCP地址池,请在系统视图下进行下列配置。
表5-24 配置多个接口的DHCP地址池客户端的NetBIOS节点类型
操作 |
命令 |
配置DHCP客户端的NetBIOS节点类型 |
dhcp server netbios-type { b-node | h-node | m-node | p-node } { interface gigabitethernet-subinterface-range | all } |
恢复DHCP客户端的缺省NetBIOS节点类型 |
undo dhcp server netbios-type { interface gigabitethernet-subinterface-range | all } |
缺省情况下,客户端采用h类节点(h-node)。
随着DHCP的不断发展,新的可选配置项会陆续出现,为了支持这些新的选项,可以通过手工定义的方式将新选项添加到DHCP服务器的属性列表中。
如果配置全局DHCP地址池,请在DHCP地址池视图下进行下列配置。
表5-25 配置全局DHCP地址池的自定义选项
操作 |
命令 |
配置DHCP自定义选项 |
option code { ascii ascii-string | hex hex-string | ip-address ip-address } |
删除DHCP自定义选项 |
undo option code |
如果配置接口DHCP地址池,请在接口视图下进行下列配置。
表5-26 配置接口DHCP服务器的自定义选项
操作 |
命令 |
配置DHCP自定义选项 |
dhcp server option code { ascii ascii-string | hex hex-string | ip-address ip-address } |
删除DHCP自定义选项 |
undo dhcp server option code |
如果配置多个接口的DHCP地址池,请在系统视图下进行下列配置。
表5-27 配置多个接口的DHCP自定义选项
操作 |
命令 |
配置DHCP自定义选项 |
dhcp server option code { ascii ascii-string | hex hex-string | ip-address ip-address } { interface gigabitethernet-subinterface-range | all } |
删除DHCP自定义选项 |
undo dhcp server option code { interface gigabitethernet-subinterface-range | all } |
code为合法的option号,范围为2~254之间,其中3、6、15、44、46、50~55、57~61、184和217被系统保留使用。
DHCP客户端访问本网段以外的服务器或主机时,数据必须通过出口网关进行收发。
请在DHCP地址池视图下进行下列配置。
表5-28 配置DHCP客户端的出口网关
操作 |
命令 |
配置DHCP客户端的出口网关 |
gateway-list ip-address [ ip-address ] |
删除DHCP客户端的出口网关 |
undo gateway-list { ip-address | all } |
缺省情况下,未配置DHCP客户端的出口网关地址。
在目前的实现中,每个DHCP地址池最多可以配置8个出口网关地址。
& 说明:
当指定多个出口网关地址时,需要多个ip-address参数。
为防止IP地址重复分配导致地址冲突,DHCP服务器为客户端分配地址前,需要先对该地址进行探测。
地址探测是通过ping命令实现的,检测是否能在指定时间内得到ping应答。如果没有得到应答,则继续发送ping报文,直到发送ping包数量达到最大值;如果仍然超时,则可以认为本网段内没有设备使用该IP地址,从而确保客户端被分得的IP地址唯一。
请在系统视图下进行下列配置。
表5-29 配置DHCP服务器的ping包发送
操作 |
命令 |
配置DHCP服务器发送ping包的最大数量 |
dhcp server ping packets number |
恢复DHCP服务器发送ping包的缺省最大数量 |
undo dhcp server ping packets |
配置DHCP服务器发送ping包的最长等待响应时间 |
dhcp server ping timeout milliseconds |
恢复DHCP服务器发送ping包的缺省最长等待响应时间 |
undo dhcp server ping timeout |
缺省情况下,发送ping包的最大数量为2,等待ping响应的最长时间为500毫秒。
DHCP服务器通过ping包的发送检测是否发生地址冲突,而DHCP客户端则通过ARP报文检测是否发生地址冲突。
DHCP服务器计费功能用于DHCP服务器在分配和释放租约时,向指定域的RADIUS模式的计费服务器发送计费报文。
配置了DHCP服务器计费功能后,当用户申请IP地址时,DHCP服务器会给用户分配带有IP地址、租约期限和其它配置信息的租约,成功分配租约后,会立刻通知指定域的RADIUS计费服务器,发送一个RADIUS START计费请求报文;当由于某种原因,DHCP Server的租约被释放(释放租约的原因可能有租约过期,收到用户的release请求,手工删除租约,手工删除地址池等),那么DHCP服务器会立刻通知指定域的RADIUS计费服务器,发送一个RADIUS STOP计费结束报文。
此时RADIUS服务器只是记录了用户使用IP地址的情况,并不真正进行计费。
在DHCP服务器上,可以为每个地址池指定计费所使用的域。
如果配置全局DHCP地址池,请在DHCP地址池视图下进行下列配置。
表5-30 配置全局DHCP地址池中计费所使用的域
操作 |
命令 |
配置DHCP服务器计费所使用的域 |
accounting domain domain-name |
删除DHCP服务器计费功能 |
undo accounting domain |
如果配置接口DHCP地址池,请在接口视图下进行下列配置。
表5-31 配置接口DHCP地址池中计费所使用的域
操作 |
命令 |
配置DHCP服务器计费所使用的域 |
dhcp server accounting domain domain-name |
删除DHCP服务器计费功能 |
undo dhcp server accounting domain |
如果配置多个接口的DHCP地址池,请在系统视图下进行下列配置。
表5-32 配置多个接口的DHCP地址池中计费所使用的域
操作 |
命令 |
配置DHCP服务器计费所使用的域 |
dhcp server accounting domain domain-name { interface gigabitethernet-subinterface-range | all } |
删除DHCP服务器计费功能 |
undo dhcp server accounting domain { interface gigabitethernet-subinterface-range | all } |
缺省情况下,未启动DHCP服务器计费功能。
有关于RADIUS服务器及domain的配置,请参见本手册的“安全”部分。
在配置DHCP服务器支持BIMS option前应先进行如下配置:
l 在路由器上启动DHCP Server服务器并配置地址池
l 配置DHCP客户端
l 保证DHCP客户端、DHCP服务器以及BIMS服务器之间网络可达
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动并配置BIMS option |
dhcp server bims-server ip ip-address port port-number sharekey key { interface interface-type interface-number to interface-type interface-number | all } |
必选 该配置与下面的在DHCP全局地址池视图下配置BIMS option在实际应用中二者选其一 |
进入DHCP全局地址池并启动并配置BIMS option |
dhcp server ip-pool pool-name |
- |
bims-server ip ip-address port port-number sharekey key |
必选 该配置与上面的在系统视图下配置BIMS option在实际应用中二者选其一 |
& 说明:
若在全局地址池中配置了BIMS option,则DHCP服务器从全局地址池分配IP地址给客户端时将携带BIMS option。若在指定接口上配置了BIMS option,则DHCP服务器从接口地址池中分配IP地址时携带BIMS option。若在dhcp server bims-server ip命令中使用all关键字,则DHCP服务器从所有接口地址池中分配IP地址时都将携带BIMS option。
DHCP服务器支持在系统视图、接口视图或在DHCP地址池视图下分别配置option 184的各sub-option。无论是在系统视图下还是在接口视图下配置option 184,都要在相应的接口上配置接口地址池。
在配置DHCP服务器支持option184特性前需要先进行下列配置:
l 配置DHCP服务器的网络参数、地址池及地址分配租期等分配策略
l 配置DHCP服务器与DHCP客户端网络可达
上述详细配置请参考本手册“网络层协议”的DHCP部分。
表5-34 系统视图下配置DHCP服务器支持option 184
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置接口工作在DHCP服务器模式,并从指定接口地址池中分配地址 |
dhcp select interface { all | interface interface-type interface-number [ to interface-type interface-number ] } |
必选 |
配置option 184的子选项NCP-IP |
dhcp server voice-config ncp-ip ip-address { all | interface interface-type interface-number [ to interface-type interface-number ] } |
必选 |
配置option 184的子选项AS-IP |
dhcp server voice-config as-ip ip-address { all | interface interface-type interface-number [ to interface-type interface-number ] } |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
配置option 184的子选项Voice VLAN Configuration |
dhcp server voice-config voice-vlan vlan-id { enable | disable } { all | interface interface-type interface-number [ to interface-type interface-number ] } |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
配置option 184的子选项Fail-Over Routing |
dhcp server voice-config fail-over ip-address dialer-string { all | interface interface-type interface-number [ to interface-type interface-number ] } |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
进入相应接口视图 |
interface interface-type interface-number |
应对上面命令涉及的接口配置IP地址,才能创建接口地址池 |
配置接口IP地址 |
ip address ip-address net-mask |
& 说明:
该方式适用于从接口地址池中给客户端分配IP地址的情况。
这种配置方式可以配置接口范围,所以可以同时在多个接口上配置DHCP支持option 184功能。
表5-35 接口视图下配置DHCP服务器支持option 184
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口IP地址 |
ip address ip-address net-mask |
- |
配置接口工作在DHCP服务器模式,并从接口地址池中分配地址 |
dhcp select interface |
必选 |
配置option 184的子选项NCP-IP |
dhcp server voice-config ncp-ip ip-address |
必选 |
配置option 184的子选项AS-IP |
dhcp server voice-config as-ip ip-address |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
配置option 184的子选项Voice VLAN Configuration |
dhcp server voice-config voice-vlan vlan-id { enable | disable } |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
配置option 184的子选项Fail-Over Routing |
dhcp server voice-config fail-over ip-address dialer-string |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
& 说明:
该方式适用于从接口地址池中给客户端分配IP地址的情况。
这种配置方式是在接口视图下配置DHCP支持option 184功能的,适用于配置单个接口支持option 184功能。
表5-36 DHCP全局地址池视图下配置DHCP服务器支持option 184
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置指定接口工作在DHCP服务器模式,并从DHCP全局地址池中分配地址 |
dhcp select global [ subaddress ] { all | interface interface-type interface-number [ to interface-type interface-number ]} |
必选 |
进入DHCP地址池视图 |
dhcp server ip pool pool-name |
- |
配置动态分配的IP地址范围 |
network ip-address [ mask netmask ] |
- |
配置option 184 的子选项NCP-IP |
voice-config ncp-ip ip-address |
必选 |
配置option 184的子选项AS-IP |
voice-config as-ip ip-address |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
配置option 184的子选项Voice VLAN Configuration |
voice-config voice-vlan vlan-id { enable | disable } |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
配置option 184的子选项Fail-Over Routing |
voice-config fail-over ip-address dialer-string |
可选 只有配置了NCP-IP子选项才能配置该子选项 |
& 说明:
该方式适用于从DHCP全局地址池中给客户端分配IP地址的情况。
在任意视图下执行display dhcp server ip-in-use命令可以查看到地址池的动态地址绑定信息,这些信息也可以通过命令清除。
在任意视图下执行display dhcp server conflict命令可以查看到DHCP地址冲突的统计信息,这些信息也可以通过命令清除。
在任意视图下执行display dhcp server statistics命令可以查看到DHCP服务器的统计信息,这些信息也可以通过命令清除。
请在用户视图下进行下列配置。
表5-37 清除DHCP相关信息
操作 |
命令 |
清除指定IP地址的绑定信息 |
reset dhcp server ip-in-use ip ip-address |
清除全局地址池的动态地址绑定信息 |
reset dhcp server ip-in-use pool [ pool-name ] |
清除接口地址池的动态地址绑定信息 |
reset dhcp server ip-in-use interface [ interface-type interface-number ] |
清除所有地址池的地址绑定信息 |
reset dhcp server ip-in-use all |
清除指定IP地址的冲突统计信息 |
reset dhcp server conflict ip ip-address |
清除所有地址池的地址冲突统计信息 |
reset dhcp server conflict all |
清除DHCP服务器的统计信息 |
reset dhcp server statistics |
DHCP客户端的配置很简单,仅包括下面一条配置命令:
l 配置以太网接口通过DHCP方式获取地址;
请在以太网接口(包括子接口)视图下进行下列配置。
表5-38 配置静态绑定的IP地址和MAC地址
操作 |
命令 |
配置接口通过DHCP方式获取IP地址 |
ip address dhcp-alloc |
取消接口通过DHCP方式获取IP地址 |
undo ip address dhcp-alloc |
缺省情况下,以太网接口未配置通过DHCP方式获取IP地址。
& 说明:
l 接口在配置DHCP动态获取IP地址后不再允许配置从IP地址,即命令ip address dhcp-alloc与命令ip address ip-address mask sub不能同时配置在一个以太网接口下,两者只能取其一。
l 若在DHCP Server上配置了gateway-list命令,那么路由器在获得接口IP地址且接口UP后其路由表中会出现一条下一跳为指定网关的缺省路由。若路由器通过DHCP Server获得了多个网关地址,那么路由器在获得接口IP地址且接口UP后,将会使用第一个网关地址创建一条缺省路由,如下:
[H3C] display ip routing-table
Routing Table: public net
Destination/Mask Protocol Pre Cost Nexthop Interface
0.0.0.0/0 DHCPDEF 255 0 23.23.0.2 GigabitEthernet1/0
该缺省路由的优先级为255、花费为0。
DHCP中继配置包括:
l 配置接口工作在DHCP中继模式
l 配置DHCP中继指定的外部服务器地址
l 通过DHCP中继配置DHCP服务器负载分担
l 通过DHCP中继释放客户端的IP地址
l 清除DHCP中继的统计信息
当收到DHCP客户端发出的、目的地址是本机的DHCP报文时,可以通过配置决定如何处理这些报文。如果配置为服务器模式,则将报文转给本地DHCP服务器;如果配置为中继模式,则将报文转给指定的外部DHCP服务器。
如果配置当前接口工作在中继模式,请在接口视图下进行下列配置。
操作 |
命令 |
将DHCP报文通过中继发送给外部DHCP服务器,由外部DHCP服务器分配地址 |
dhcp select relay |
恢复缺省设置 |
undo dhcp select |
如果同时配置多个接口工作在中继模式,请在系统视图下进行下列配置。
操作 |
命令 |
将DHCP报文通过中继发送给外部DHCP服务器,由外部DHCP服务器分配地址 |
dhcp select relay { interface gigabitethernet-subinterface-range | all } |
恢复缺省设置 |
undo dhcp select { interface gigabitthernet-subinterface-range | all } |
缺省情况下,对DHCP报文的处理模式为服务器模式(global)。
& 说明:
以太网子接口支持DHCP Relay时,只能是子接口对子接口,也就是说客户端也必须使用子接口(此时如果是PC作为客户端则无法得到IP地址)。
当配置DHCP中继功能时,从接口上收到的DHCP广播报文将被送到指定的外部DHCP服务器。
如果只需要在当前接口上指定外部DHCP服务器地址,请在接口视图下进行下列配置。
表5-41 配置当前接口的外部DHCP服务器地址
操作 |
命令 |
配置当前接口的外部DHCP服务器地址 |
ip relay-address ip-address |
删除当前接口的外部DHCP服务器地址 |
undo ip relay address { ip-address | all } |
如果在指定范围的多个接口上指定外部DHCP服务器地址,请在系统视图下进行下列配置。
表5-42 配置指定范围的多个接口上的外部DHCP服务器地址
操作 |
命令 |
配置指定范围的多个接口上的外部DHCP服务器地址 |
ip relay address ip-address { interface gigabitethernet-subinterface-range | all } |
删除指定范围的多个接口上的外部DHCP服务器地址 |
undo ip relay address { ip-address | all } { interface gigabitethernet-subinterface-range | all } |
& 说明:
由于DHCP客户端在DHCP的某些阶段发送的报文为广播报文,因此相应接口应当支持广播方式。
每个接口最多可以支持20个外部DHCP服务器地址。
使用DHCP中继功能可以配置多个DHCP服务器,并可以配置它们之间进行负载分担。
如果配置了多个DHCP服务器,DHCP中继可以通过负载分担的方式将DHCP客户端的请求按HASH算法分给不同的DHCP服务器进行处理,实现多个DHCP服务器的负载分担。
请在系统视图下进行下列配置。
表5-43 配置DHCP服务器的负载分担
操作 |
命令 |
配置DHCP服务器的负载分担 |
ip relay address cycle |
取消DHCP服务器的负载分担 |
undo ip relay address cycle |
缺省情况下,DHCP服务器之间不进行负载分担。
在某些情况下,可能需要通过DHCP中继手工释放客户端申请到的IP地址。
请在接口视图或系统视图下进行下列配置。
表5-44 通过DHCP中继释放客户端的IP地址
操作 |
命令 |
向DHCP服务器请求释放客户端申请到的IP地址 |
dhcp relay release client-ip mac-address |
向指定的DHCP服务器请求释放客户端申请到的IP地址 |
dhcp relay release client-ip mac-address server-ip |
当不指定DHCP服务器时,如果在系统视图下,则向所有DHCP服务器发送释放申请,如果在接口视图下,向该接口下的所有中继地址发送释放申请。
& 说明:
在DHCP Relay中配置手工释放IP地址后,会通知DHCP Server释放DHCP ip-in-use地址池中的地址,该IP地址在释放后会放入过期队列,一般情况下不会马上被分配出去;此时仅仅释放的是DHCP ip-in-use地址池中的地址,Client端主机是无法真正释放该地址的,所以Client端主机会使用该地址直到租约超时。
在任意视图下执行display dhcp relay statistics命令可以查看到DHCP中继的统计信息,这些信息也可以通过命令清除。
请在用户视图下进行下列配置。
表5-45 清除DHCP中继的统计信息
操作 |
命令 |
清除DHCP中继的统计信息 |
reset dhcp relay statistics |
在完成上述配置后,可在任意视图下执行display命令显示配置后DHCP的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行debugging命令可对DHCP进行调试。
表5-46 DHCP服务器的显示和调试
操作 |
命令 |
查看DHCP地址池的空闲地址信息 |
display dhcp server free-ip |
查看DHCP的地址冲突统计信息 |
display dhcp server conflict { ip ip-address | all } |
查看DHCP地址池中超期的租约 |
display dhcp server expired { ip ip-address | pool [ pool-name ] | interface [ interface-type interface-number ] | all } |
查看DHCP的地址绑定信息 |
display dhcp server ip-in-use { all | ip ip-address | pool [ pool-name ] | interface [ interface-type interface-number ] } |
查看DHCP服务器的统计信息 |
display dhcp server statistics |
查看DHCP地址池的树状结构信息 |
display dhcp server tree { pool [ pool-name ] | interface [ interface-type interface-number ] | all } |
打开DHCP服务器的调试开关 |
debugging dhcp server { error | event | packet | all } |
关闭DHCP服务器的调试开关 |
undo debugging dhcp server { event | packet | error | all } |
清除DHCP动态地址绑定信息。 |
reset dhcp server ip-in-use { ip ip-address | pool [ pool-name ] | interface [interface-type interface-num ] | all } |
清除DHCP地址冲突的统计信息 |
reset dhcp server conflict { ip ip-address | all } |
清除DHCP服务器的统计信息 |
reset dhcp server statistics |
& 说明:
DHCP服务器的租约信息不会在执行save命令时保存到flash中,故系统重启或用reset dhcp server ip-in-use命令清除租约后配置文件中没有任何租约的信息,此时客户端如果发出续约请求将会被拒绝,系统会让客户端重新申请IP地址。
表5-47 DHCP中继的显示和调试
操作 |
命令 |
查看DHCP中继的IP信息 |
display ip interface [ interface-type interface-number ] |
查看DHCP中继的相关统计信息 |
display dhcp relay statistics |
查看接口的DHCP中继地址配置 |
display dhcp relay address { interface internace-name | all } |
打开DHCP中继调试开关 |
debugging dhcp relay { all | error | event | packet [ client mac mac-address ] } |
关闭DHCP中继调试开关 |
undo debugging dhcp relay { all | error | event | packet [ client mac mac-address ] } |
表5-48 DHCP客户端的显示和调试
操作 |
命令 |
显示DHCP客户端统计信息 |
display dhcp client [ verbose ] |
打开DHCP客户端的调试开关 |
debugging dhcp client { error| event | packet | all } |
关闭DHCP客户端的调试开关 |
undo debugging dhcp client { error| event | packet | all } |
常见的DHCP组网方式可分为两类:一种是DHCP服务器和客户端都在一个子网内,直接进行DHCP协议的交互;第二种是DHCP服务器和客户端分别处于不同的子网中,则必须通过DHCP中继代理实现IP地址的分配。无论那种情况下,DHCP的配置都是相同的。
DHCP服务器为同一网段中的客户端动态分配IP地址,地址池网段10.1.1.0/24分为两个网段:10.1.1.0/25和10.1.1.128/25。DHCP服务器两个GigabitEthernet接口地址分别为10.1.1.1/25和10.1.1.129/25。
网段10.1.1.0/25内的地址租用期限为10天12小时,域名为www.h3c.com,DNS地址为10.1.1.2,无NetBIOS地址,出口路由器地址为10.1.1.126;网段10.1.1.128/25网段内的地址租用期限为5天,DNS地址为10.1.1.2,NetBIOS地址为10.1.1.4,出口路由器的地址为10.1.1.254。
图5-6 DHCP服务器与客户端在同一网络中
# 启动DHCP服务。
[H3C] dhcp enable
# 配置不参与自动分配的IP地址(DNS、NetBIOS和出口网关地址)。
[H3C] dhcp server forbidden-ip 10.1.1.2
[H3C] dhcp server forbidden-ip 10.1.1.4
[H3C] dhcp server forbidden-ip 10.1.1.126
[H3C] dhcp server forbidden-ip 10.1.1.254
# 配置DHCP地址池0的共有属性(地址池范围、DNS地址)。
[H3C] dhcp server ip-pool 0
[H3C-dhcp-0] network 10.1.1.0 mask 255.255.255.0
[H3C-dhcp-0] dns-list 10.1.1.2
# 配置DHCP地址池1的属性(地址池范围、域名、出口网关、地址租用期限)。
[H3C] dhcp server ip-pool 1
[H3C-dhcp-1] network 10.1.1.0 mask 255.255.255.128
[H3C-dhcp-1] domain-name www.h3c.com
[H3C-dhcp-1] gateway-list 10.1.1.126
[H3C-dhcp-1] expired day 10 hour 12
# 配置DHCP地址池2的属性(地址池范围、出口网关、NetBIOS地址、地址租用期限)。
[H3C] dhcp server ip-pool 2
[H3C-dhcp-2] network 10.1.1.128 mask 255.255.255.128
[H3C-dhcp-2] gateway-list 10.1.1.254
[H3C-dhcp-2] nbns-list 10.1.1.4
[H3C-dhcp-2] expired day 5
DHCP客户端所在的网段为10.110.0.0,而DHCP服务器所在的网段为202.38.0.0。需要通过带DHCP中继功能的路由器中继DHCP报文,使得DHCP客户端可以从DHCP服务器上申请到IP地址等相关配置信息。
DHCP服务器应当分配一个10.110.0.0网段的IP地址池,以便将适当的IP地址分配给该网段上的DHCP客户端,并且DHCP服务器上应当配置有到10.110.0.0网段的路由。
图5-7 DHCP中继配置
配置路由器:
# 使能DHCP服务
[H3C] dhcp enable
# 进入要实现DHCP中继功能的接口,为其配置IP地址和地址掩码以使其和DHCP客户端属于同一个网段
[H3C] interface gigabitethernet 1/0
[H3C-GigabitEthernet1/0] ip address 10.110.1.1 255.255.0.0
# 为该接口配置IP中继地址以指明DHCP服务器的位置
[H3C-GigabitEthernet1/0] dhcp select relay
[H3C-GigabitEthernet1/0] ip relay address 202.38.1.2
DHCP服务器的配置略。
介绍两种DHCP客户端典型配置:一种是以太网主接口动态获取IP地址;第二种是以太网子接口动态获取IP地址(支持VLAN)。
(1) 组网需求
RouterA的以太口GigabitEthernet1/0、GigabitEthernet2/0分别接入LAN1、LAN2中,在两个LAN中分别有DHCP服务器server1、server2(都是路由器)。LAN1所在网段为200.254.0.0/16,LAN2所在网段为172.10.0.0/16,要求配置RouterA的上述两个以太口通过DHCP的方式获取地址。
(2) 组网图
(3) 配置步骤
以下同时列出DHCP服务器和客户端的配置过程。
# 配置server1。
[H3C] dhcp enable
[H3C] interface gigabitethernet1/0
[H3C–GigabitEthernet1/0] ip address 200.254.0.1 16
[H3C] dhcp server ip-pool 1
[H3C -dhcp1] network 200.254.0.0 mask 255.255.0.0
# 配置server2。
[H3C] dhcp enable
[H3C] interface gigabitethernet1/0
[H3C-GigabitEthernet1/0] ip address 172.10.0.1 16
[H3C] dhcp server ip-pool 2
[H3C-dhcp2] network 172.10.0.0 mask 255.255.0.0
# 配置RouterA的GigabitEthernet1/0通过DHCP动态获取地址。
[H3C] interface gigabitethernet1/0
[H3C-GigabitEthernet1/0] ip address dhcp-alloc
# 配置RouterA的GigabitEthernet2/0通过DHCP动态获取地址。
[H3C] interface gigabitethernet2/0
[H3C-GigabitEthernet2/0] ip address dhcp-alloc
(1) 组网需求
DHCP服务器1和2分别接在不同的VLAN中,server1在VLAN10,server2在VLAN20,要求在RouterA(DHCP client)的以太口GigabitEthernet1/0上创建子接口,并分别从上述两个DHCP服务器中动态获取IP地址。
(2) 组网图
(3) 配置步骤
LANSWITCH的配置不在这里列出,但要保证sever1接入到VLAN10中,server2接入到VLAN20中,在路由器上的作为DHCP client的端口配置为TRUNK端口,并能透传vlan id为10和20的报文。
DHCP服务器server1、server2的配置过程同上例,以下仅列出DHCP客户端的配置过程。
# 配置从server1获取地址的子接口
[H3C] interface gigabitethernet1/0.1
[H3C-GigabitEthernet1/0.1] vlan-type dot1q vid 10
[H3C-GigabitEthernet1/0.1] ip addr dhcp-alloc
# 配置从server2获取地址的子接口
[H3C] interface gigabitethernet1/0.2
[H3C-GigabitEthernet1/0.2] vlan-type dot1q vid 20
[H3C-GigabitEthernet1/0.2] ip addr dhcp-alloc
l DHCP Server通过GigabitEthernet1/0和GigabitEthernet2/0分别连接DHCP Client及RADIUS Server。
l RADIUS Server的IP地址为10.1.2.2/24。
l DHCP Server启动了DHCP Accounting功能。DHCP全局地址池为10.1.1.0,DHCP Server作为RADIUS Client采用AAA方式进行认证
图5-10 DHCP Accounting配置举例组网图
# 配置DHCP Server的网络参数
<H3C> system-view
[H3C] interface gigabitethernet 1/0
[H3C-GigabitEthernet1/0] ip address 10.1.1.1 255.255.255.0
[H3C-GigabitEthernet1/0] quit
[H3C] interface gigabitethernet 2/0
[H3C-GigabitEthernet2/0] ip address 10.1.2.1 255.255.255.0
[H3C-GigabitEthernet2/0] quit
# 配置Domain、创建RADIUS方案并配置Domain和RADIUS关联
[H3C] radius scheme 123
[H3C-radius-123] primary authentication 10.1.2.2
[H3C-radius-123] primary accounting 10.1.2.2
[H3C] domain 123
[H3C-isp-123] scheme radius-scheme 123
[H3C-isp-123] quit
# 配置DHCP server的地址池
[H3C] dhcp server ip-pool test
[H3C-dhcp-pool-test] network 10.1.1.0 mask 255.255.255.0
# 配置DHCP Accounting
[H3C-dhcp-pool-test] accounting domain 123
3COM VCX设备作为DHCP客户端从DHCP服务器请求option 184的所有子选项配置,H3C路由器作为DHCP服务器,并在全局地址池下配置支持option 184功能。其中NCP-IP地址为3.3.3.3;Alternate Server IP地址为2.2.2.2;使能语音VLAN,且语音VLAN ID为1。Fail-Over IP地址为1.1.1.1,呼叫号码为99*。
(1) DHCP客户端配置
作为DHCP客户端的3COM VCX使能DHCP Client功能,并配置请求option 184的所有子选项,配置过程略。
(2) DHCP服务器配置
<H3C> system-view
[H3C] dhcp select global interface gigabitethernet 1/0
[H3C] dhcp server ip-pool 123
[H3C-dhcp-pool-123] network 10.1.1.1 mask 255.255.255.0
[H3C-dhcp-pool-123] voice-config as-ip 2.2.2.2
[H3C-dhcp-pool-123] voice-config ncp-ip 3.3.3.3
[H3C-dhcp-pool-123] voice-config voice-vlan 1 enable
[H3C-dhcp-pool-123] voice-config fail-over 1.1.1.1 99*
[H3C-dhcp-pool-voice] quit
接口最大传输单元决定了在该接口上的报文是否需要分片。
请在接口视图下进行下列操作。
操作 |
命令 |
配置接口最大传输单元 |
mtu mtu-size |
恢复接口最大传输单元的缺省值 |
undo mtu |
接口最大传输单元的缺省值为1500字节。
该命令用来配置TCP最大报文分片的长度,这个长度决定了该接口上的TCP报文是否需要分片。
请在接口视图下进行下列操作。
表6-2 配置TCP报文分片
操作 |
命令 |
配置TCP报文分片 |
tcp mss value |
取消TCP报文分片 |
undo tcp mss |
缺省情况下,TCP报文不分片。
可以配置的TCP属性包括:
l synwait定时器:当发送syn报文时,TCP启动synwait定时器,若synwait超时前未收到回应报文,则TCP连接将被终止。synwait定时器的超时时间取值范围为2~600秒,缺省值为75秒。
l finwait定时器:当TCP的连接状态由FIN_WAIT_1变为FIN_WAIT_2时启动finwait定时器,若finwait定时器超时前仍未收到FIN报文,则TCP连接被终止。finwait的取值范围为76~3600秒,finwait的缺省值为675秒。
l 面向连接Socket的接收和发送缓冲区的大小:范围为1~32K字节,缺省值为8K字节。
请在系统视图下进行下列配置。
操作 |
命令 |
配置TCP连接建立synwait定时器时间 |
tcp timer syn-timeout time-value |
恢复TCP连接建立synwait定时器时间为缺省值 |
undo tcp timer syn-timeout |
配置TCP的FIN_WAIT_2定时器时间 |
tcp timer fin-timeout time-value |
恢复TCP的FIN_WAIT_2定时器时间为缺省值 |
undo tcp timer fin-timeout |
配置TCP的Socket接收和发送缓冲区的大小 |
tcp window window-size |
恢复TCP的Socket接收和发送缓冲区的大小为缺省值 |
undo tcp window |
缺省情况下,TCP finwait定时器缺省为675秒,TCP synwait定时器缺省值为75秒,面向连接Socket的收发缓冲区大小缺省为8K字节。
图6-1 配置ICMP发送重定向报文示意图
如上图示连接情况,PC要发送报文到Router,会先将报文发送到网关,再由网关转发给Router。这种情况下可以在网关上使能ICMP发送重定向报文功能,这样网关会发送重定向报文给PC,使PC直接将报文发送给Router。
请在系统视图下进行下列配置。
表6-4 配置ICMP发送重定向报文
操作 |
命令 |
打开ICMP发送重定向报文功能 |
icmp redirect send |
关闭ICMP发送重定向报文功能 |
undo icmp redirect send |
缺省情况下,打开ICMP发送重定向报文功能。
在完成上述配置后,在任意视图下执行display命令可以显示IP性能配置后的运行情况,通过查看显示信息验证配置的效果。
执行reset命令可以清除该运行情况的统计信息。
在用户视图下,执行debugging命令可以对IP性能进行调试。
表6-5 IP性能显示和调试
操作 |
命令 |
显示TCP连接状态 |
display tcp status |
显示TCP流量统计信息 |
display tcp statistics |
显示UDP流量统计信息 |
display udp statistics |
显示系统当前所有的套接口信息 |
display ip socket [ socktype sock_type ] [ task_id socket_id ] |
显示IP层接口表信息 |
display ip interface [ interface-type interface-number ] |
显示接口板的FIB表 |
display fib |
据正则表达式输出缓冲区中与包含字符串text相关的行 |
display fib | { begin | include | exclude } text |
过滤显示FIB信息 |
display fib acl acl-number |
按照目的地址进行匹配显示FIB表项 |
display fib dest-addr1 [ dest-mask1 ] [ longer ] |
显示目的地址在输入的dest-addr1 dest-mask1到dest-addr2 dest-mask2范围内的FIB表项 |
display fib dest-addr1 dest-mask1 dest-addr2 dest-mask2 |
根据所输入的ip-prefix名字,把通过了该过滤规则的FIB表项按照一定格式显示出来 |
display fib ip-prefix listname |
显示FIB表项的总数目 |
display fib statistics |
打开IP报文调试信息开关 |
debugging ip packet [ acl acl-number ] |
关闭IP报文调试信息开关 |
undo debugging ip packet |
打开ICMP调试信息开关 |
debugging ip icmp |
关闭ICMP调试信息开关 |
undo debugging ip icmp |
打开TCP报文调试信息开关 |
debugging tcp packet [ task_id socket_id ] |
关闭TCP报文调试信息开关 |
undo debugging tcp packet [ task_id socket_id ] |
打开UDP报文的调试信息开关 |
debugging udp packet [ task_id socket_id ] |
关闭UDP报文的调试信息开关 |
undo debugging udp packet [ task_id socket_id ] |
打开TCP事件的调试开关 |
debugging tcp event [ task_id socket_id ] |
关闭TCP事件的调试开关 |
undo debugging tcp event [ task_id socket_id ] |
打开TCP连接的MD5认证调试开关 |
debugging tcp md5 |
关闭TCP连接的MD5认证调试开关 |
undo debugging tcp md5 |
清除IP统计信息 |
reset ip statistics |
清除TCP流量统计信息 |
reset tcp statistics |
清除UDP流量统计信息 |
reset udp statistics |
& 说明:
当前版本尚不支持共同使用多种过滤方式查看FIB的信息。
报文转发效率是衡量路由器性能的一项关键指标。按照常规流程,路由器在一个报文到达后,将它从接口存储器拷贝至主CPU中,CPU从IP地址中确定网络号,查找路由表以确定一条最佳的路径将报文转发出去,同时还为报文建立合适输出的MAC帧。建好后的MAC帧通过DMA(直接内存访问)拷贝到输出队列中,这个过程两次经过主系统总线。每一个报文的转发都要重复这个过程。
快速转发是采用高速缓存来处理报文,采用了基于数据流的技术。我们知道在Internet网上的数据基本上都是基于数据流的。一个数据流就是指在网上两个特定主机之间的一次特定的应用,比如一次FTP操作传输一个文件。我们一般用一个5元组描述一个数据流:源IP地址、源端口号、目的IP地址、目的端口号、协议号。当一个数据流的第一个报文通过查找路由表转发后,在高速缓存中生成相应的交换信息,后续相同的报文的转发,就可以通过直接查找高速缓存来实现转发。这样便大大缩减了IP报文的排队流程,减少路由查找时间,提高IP报文的转发吞吐量。由于高速缓存中的转发表已经做过优化,因此查找速度将大大提高。
Comware实现的快速转发,具有下列特性:
l 支持在各类高速链路接口上(包括子接口)提供快速转发,包括以太网、同步PPP、帧中继、HDLC等。
l 支持在配置了普通防火墙的情况下,提供快速转发的功能。
l 支持在配置了ASPF防火墙的情况下,提供快速转发的功能。
l 支持在配置了地址转换的情况下,提供快速转发的功能。
l 支持在配置了GRE的情况下,提供快速转发的功能
l 能大幅度提高报文的转发效率。
快速转发的性能有时会受到某些特性的影响,比如报文的队列管理,报文头压缩等。另外,快速转发能处理已经分片的IP报文,但不支持对IP报文的再分片。
用户可根据需要禁止快速转发,如对报文转发要求使用负载分担时,要在相应方向上禁止接口进行快速转发。
表6-6 允许/禁止接口进行快速转发
操作 |
命令 |
允许接口双向进行快速转发 |
ip fast-forwarding |
允许在入接口方向上进行快速转发 |
ip fast-forwarding inbound |
允许在出接口方向上进行快速转发 |
ip fast-forwarding outbound |
禁止接口进行快速转发 |
undo ip fast-forwarding [ inbound | outbound ] |
缺省情况下,接口在入/出的双向上都使能快速转发。
注意:
l 如果要求对报文转发使用负载分担,必须在相应方向上禁止接口进行快速转发。
l 在接口上配置了快速转发后,该接口将不再发送ICMP重定向报文。
l 在接口上配置了快速转发后,该接口上的IP报文的调试信息将不再输出,即命令debugging ip packet不起作用。
表6-7 快速转发的显示和调试
操作 |
命令 |
显示快速转发表信息 |
display ip fast-forwarding cache [ ip-address ] |
清除快速转发缓冲区中的内容 |
reset ip fast-forwarding cache |
故障之一:TCP和UDP协议不能正常工作。
故障排除:可以打开相应的调试开关,查看调试信息。
l 用debugging udp packet命令打开UDP调试开关,跟踪UDP的数据包。当路由器发送或接收到UDP数据包,就可以实时显示出数据报的内容格式。根据数据报的内容,来发现问题之所在。
以下为UDP数据报的格式:
*0.377770-SOCKET-8-UDP:
1043494431: Output: task = ROUT(6), socketid = 3,
src = 1.1.1.1:520, dst = 255.255.255.255:520, datalen = 24
l 用debugging tcp packet命令打开TCP调试开关,跟踪TCP的数据包。TCP可以有两种数据报的格式供选择。一种是调试跟踪所有以本设备为一端的TCP连接的TCP报文收发。操作如下:
[H3C] info-center enable
[H3C] quit
<H3C> debugging tcp packet
即可实时查看接收或发送的TCP报文,其具体报文格式如下:
*0.100070-SOCKET-8-TCP PACKET:
1043204051: Input: Co0(5) socketId = 2, state = SYN_SENT,
src = 127.0.0.1:1025, dst = 2.2.2.2:23,
seq = 11084380, ack = 0, optlen = 4, flag = SYN ,
window = 8192
另外一种是调试跟踪其中SYN、FIN或RST置位的报文。
操作如下:
[H3C] info-center enable
[H3C] quit
<H3C> debugging tcp event
这样即可实时查看接收或发送的TCP报文,其具体报文格式同上。
与单纯依照IP报文的目的地址查找路由表进行转发不同,策略路由是一种依据用户制定的策略进行路由选择的机制。本系统的策略路由支持基于到达报文的源地址、地址长度等信息,灵活地指定路由。
本系统的策略路由配置需要做两方面的工作,一是定义那些需要使用策略路由的报文,二是为这些报文指定路由,这可以通过对一个route-policy的定义来实现。route-policy的配置在用作策略路由的定义时,if-match子句定义了那些需要使用策略路由的报文,当报文满足route-policy中的if-match子句时,则执行策略中的apply子句,以完成报文的转发。
一个route-policy由若干节点组成,每一节点由一些if-match子句和apply子句组成。if-match子句定义该节点的匹配规则,apply子句定义通过该节点过滤后进行的动作。
节点的if-match子句之间的过滤关系是“与”的关系,即报文必须满足该节点的所有if-match子句,才会执行apply子句。目前route-policy提供了两种if-match子句,分别为if-match packet-length和if-match acl;提供了5种route-policy的apply子句:apply ip-precedence,apply output-interface,apply ip-address next-hop,apply default output-interface,apply ip-address default next-hop。
在满足所有if-match子句的情况下,apply子句执行情况如下:
l 配置优先级:apply ip-precedence,只要配置了该子句,该子句就一定会执行;
l 配置出接口和下一跳:apply output-interface和apply ip-address next-hop,其中apply output-interface命令的优先级高于apply ip-address next-hop。当两条命令同时配置并且都有效时,系统只会执行apply output-interface命令;
l 配置缺省出接口和下一跳:apply default output-interface和apply ip-address default next-hop,同样,apply default output-interface命令的优先级高于apply ip-address default next-hop。当两条命令同时配置并且都有效时,系统只会执行apply default output-interface命令。执行缺省出接口和下一跳命令的前提是,在策略路由中报文没有配置出接口或者下一跳,或者配置的出接口和下一跳无效,并且报文在路由表中没有查找到相应的路由,这时才会使用策略路由配置的缺省下一跳或者出接口。
本系统提供的策略路由可以分为接口策略路由和本地策略路由。前者在接口视图下配置(应用于报文到达的接口上),作用于到达该接口的报文;后者在系统视图下配置,对本机产生的报文进行策略路由。对于一般转发和安全等方面的使用需求,大多数情况下使用的是接口策略路由。
策略路由可应用于安全、负载分担等目的。
IP单播策略路由配置包括:
l 创建策略
l 定义Route-policy的if-match子句
l 定义Route-policy的apply子句
l 使能/禁止本地策略路由
l 使能/禁止接口策略路由
由策略名称指定的策略可以包含若干策略点,每个策略点由sequence-num来指定,sequence-num的值越小优先级越高,其定义的策略会被先执行。该策略可以用来引入路由以及对IP报文转发进行策略路由。该策略的具体内容由if-match和apply子句来指定。
请在系统视图下进行下列配置。
操作 |
命令 |
创建策略或一个策略节点 |
route-policy policy-name { permit | deny } node sequence-number |
删除策略或一个策略节点 |
undo route-policy policy-name [ permit | deny | node sequence-number ] |
permit表示满足匹配条件的报文进行策略路由;deny表示满足匹配条件的报文不进行策略路由。
缺省情况下,没有route-policy和相关的节点设置被定义。
if-match子句用来匹配需要使用策略路由的报文。IP单播策略路由提供两种if-match子句,if-match packet-length子句和if-match acl子句。一条策略节点中可以包含多条if-match子句,子句之间是“与”的关系。
请在route-policy视图下进行下列配置。
表7-2 设置Route-policy的if-match子句
操作 |
命令 |
设置IP报文长度匹配条件 |
if-match packet-length min-len max-len |
设置IP地址匹配条件 |
if-match acl acl-number |
缺省情况下,没有if-match子句被定义。
请在route-policy视图下进行下列配置。
IP策略路由提供五种apply子句:apply ip-precedence,apply output-interface,apply ip-address next-hop,apply default output-interface,apply ip-address default next-hop。一条策略节点中可以包含多条apply子句,系统按配置顺序执行apply子句(无效的子句会跳过,继续去执行下一个子句);当执行了一条有效的子句后,该策略即实施完毕。
表7-3 设置Route-policy的apply子句
操作 |
命令 |
设置报文的优先级 |
apply ip-precedence precedence |
设置报文的发送接口 |
apply output-interface interface-type interface-number [interface-type interface-number ] |
设置报文的下一跳 |
apply ip-address next-hop ip-address [ ip address ] |
设置报文缺省发送接口 |
apply default output-interface interface-type interface-number [ interface-type interface-number ] |
设置报文缺省下一跳 |
apply ip-address default next-hop ip-address [ ip address ] |
用户可指定多个下一跳或者设置多个出接口,此时,报文的转发将在多个合法参数中负载分担,即轮流在每一个下一跳或者出接口上发送一个报文。以上叙述只对于同种配置的多个参数有效,如果同时配置了出接口和下一跳,仅在出接口的设置中进行负载分担。
缺省情况下,没有apply子句被定义。
& 说明:
配置策略路由的apply子句时,对于点到点接口(如虚拟点对点Tunnel接口和封装了PPP协议的Dialer接口),既可以设置报文的发送接口也可以设置下一跳;对于广播类型或NBMA类型的接口(如GigabitEthernet接口),支持点到多点,则必须设置报文的下一跳地址。
在系统视图下使能/禁止本地策略路由。最多只能配置一条本地策略。
表7-4 使能/禁止本地策略路由
操作 |
命令 |
使能本地策略路由 |
ip local policy route-policy policy-name |
禁止本地策略路由 |
undo ip local policy route-policy policy-name |
缺省情况下,禁止本地策略路由。
在指定接口上使能/禁止策略路由。每个接口最多配置一个策略。
请在接口视图下进行下列配置。
表7-5 使能/禁止接口策略路由
操作 |
命令 |
使能接口策略路由 |
ip policy route-policy policy-name |
禁止接口策略路由 |
undo ip policy route-policy policy-name |
缺省情况下,禁止接口策略路由。
在完成上述配置后,在任意视图下 执行display命令可以显示IP单播策略路由配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行debugging命令可以对IP单播策略路由进行调试。
表7-6 表IP单播策略路由显示和调试
操作 |
命令 |
显示本地和接口设置的策略路由的策略 |
display ip policy |
显示本地策略路由的设置情况 |
display ip policy setup local |
显示接口策略路由的设置情况 |
display ip policy setup interface interface-type interface-number |
显示本地策略路由报文的统计信息 |
display ip policy statistic local |
显示接口策略路由报文的统计信息 |
display ip policy statistic interface interface-type interface-number |
打开策略路由的调试开关 |
debugging ip policy |
定义名为aaa的策略,控制所有从以太网口GigabitEthernet2/0接收的TCP报文,使用接口GigabitEthernet1/0发送,对其它报文,仍然按照查找路由表的方式进行转发。
l 5号节点,表示匹配ACL 3101的以太网报文将被发往下一跳地址1.1.1.2;
l 10号节点,表示匹配ACL 3102的任何报文不做策略路由处理;
来自GigabitEthernet3/0的报文将依次试图匹配5、10号节点的if-match子句。如果匹配了permit语句的节点,执行相应的apply子句;如果匹配了deny语句的节点,退出策略路由处理。
# 定义访问控制列表。
[H3C] acl number 3101
[H3C-acl-adv-3101] rule permit tcp
[H3C-acl-adv-3101] quit
[H3C] acl number 3102
[H3C-acl-adv-3102] rule permit ip
[H3C-acl-adv-3102] quit
# 定义5号节点,使匹配ACL 3101的任何TCP报文被发往下一跳地址1.1.1.2。
[H3C] route-policy aaa permit node 5
[H3C-route-policy] if-match acl 3101
[H3C-route-policy] apply ip-address next-hop 1.1.1.2
[H3C-route-policy] quit
# 定义10号节点,表示匹配ACL 3102的报文不做策略路由处理。
[H3C] route-policy aaa deny node 10
[H3C-route-policy] if-match acl 3102
[H3C-route-policy] quit
# 在以太网口上应用策略aaa。
[H3C] interface gigabitethernet 2/0
[H3C-GigabitEthernet2/0] ip policy route-policy aaa
RouterA将大小为64~100字节的报文从GigabitEthernet 2/0发送;而将大小为101~1000字节的报文从GigabitEthernet 3/0发送;所有其它长度的报文均按正常方式路由。
在RouterA的GigabitEthernet1/0接口上应用IP策略路由lab1。这个策略将将大小为64~100字节的报文设置150.1.1.2作为下一转发IP地址;而将大小为101~1000字节的报文设置151.1.1.2作为下一转发IP地址。所有其它长度的报文都按基于目的地址的路由方法路由。
# 配置Router A
[H3C] interface gigabitethernet 1/0
[H3C-GigabitEthernet1/0] ip address 192.1.1.1 255.255.255.0
[H3C-GigabitEthernet1/0] ip policy route-policy lab1
[H3C] interface gigabitethernet 2/0
[H3C-GigabitEthernet2/0] ip address 150.1.1.1 255.255.255.0
[H3C] interface gigabitethernet 3/0
[H3C-GigabitEthernet2/1] ip address 151.1.1.1 255.255.255.0
[H3C] rip
[H3C-rip] network 192.1.1.0
[H3C-rip] network 150.1.0.0
[H3C-rip] network 151.1.0.0
[H3C] route-policy lab1 permit node 10
[H3C-route-policy] if-match packet-length 64 100
[H3C-route-policy] apply ip-address next-hop 150.1.1.2
[H3C] route-policy lab1 permit node 20
[H3C-route-policy] if-match packet-length 101 1000
[H3C-route-policy] apply ip-address next-hop 151.1.1.2
# 配置Router B
[H3C] interface gigabitethernet 1/0
[H3C-GigabitEthernet1/0] ip address 150.1.1.2 255.255.255.0
[H3C] interface gigabitethernet 2/0
[H3C-GigabitEthernet1/1] ip address 151.1.1.2 255.255.255.0
[H3C] rip
[H3C-rip] network 150.1.0.0
[H3C-rip] network 151.1.0.0
在RouterA用debugging ip policy命令监视策略路由。注意64字节的报文与路由策略lab1的序号为10的入口项匹配,因此向150.1.1.2转发。
<H3C> debugging ip policy
*0.483448-POLICY-8-POLICY-ROUTING:IP Policy routing success : next-hop : 150.1.1.2
在RouterA,改变报文长为101字节,再用debugging ip policy命令监视策略路由。注意101字节的报文与路由策略lab1的序号为20的入口项匹配,从而向151.1.1.2转发。
<H3C> debugging ip policy
*0.483448-POLICY-8-POLICY-ROUTING:IP Policy routing success : next-hop : 151.1.1.2
在RouterA,改变报文长为1001字节,再用debugging ip policy命令监视策略路由。注意这个报文不匹配lab1中的任何入口项,所以按正常方式转发,策略路由没有输出转发报文的调试信息。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!