a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 55|回复: 0

[综合] 思科认证备考辅导:CISCODHCP技术相关

[复制链接]
发表于 2012-8-3 20:03:30 | 显示全部楼层 |阅读模式
思科认证备考辅导:CISCO DHCP技术相关
  F5 j" D$ Z) ~" gDHCP基本知识点/ Y7 n# f: ~- W( U% l
1 DHCP协议在RFC2131种定义,使用udp协议进行数据报传递,使用的端口是67以及68。3 P6 G4 ]' ^/ j) O5 Q- c
2 DHCP最常见的应用是,自动给终端设备分配ip地址,掩码,默认网关,但是DHCP也同样可以给终端设备自动配置其他options,比如DNS server, 域名(比如 net130.com),time zones, NTP servers 以及其他的配置内容,更有些厂家,利用自己开发的第3放软件,把自己的一些配置信息,利用dhcp协议来实现对终端设备的自动配置。
4 L9 `& V' d# r% n7 i3 DHCP服务的系统最基本的构架是 client/server模式,并且如果client 和server不再同一个2层网络内(即广播可以到达的网络范围),则必须要有能够透过广播报文的中继设备,或者能把广播报文转化成单播报文的设备(cisco的ios就引经了这种功能)' Q2 t, h. Y! I0 J+ E5 c6 Z5 D
There are three distinct element types in a DHCP network. There must be a client and a server. If these two elements are not on the same Layer 2 network, there also must be a proxy, which usually runs on the router. The proxy is needed because the client device initially doesn‘t know its own IP address, so it must send out a Layer 2 broadcast to find a server that has this information. The router must relay these broadcasts to the DHCP server, then forward the responses back to the correct Layer 2 address so that the right end device gets the right configuration information.
: a2 k/ _" r: V+ \& g4 CISCO的路由器(IOS12.0 T1以后),可以配置为dhcp的中继设备,DHCP的客户端设备,也可以配置为DHCP的服务器。, h+ w3 _9 l: h: H2 b( x4 Q6 ?
5 同一个网段DHCP服务器可以有多个,这不会影响终端设备从服务器获取配置信息,终端设备以接受到的第一组配置信息为准。以后又服务器段返回的DHCP配置信息被抛弃。$ f( K2 }1 w4 i5 a  `
。 Most DHCP networks of any size include two or more DHCP servers for redundancy. The end devices typically just need to talk to a DHCP server at startup time, but they will not work at all without it. So redundancy is important. This also means that it is not unusual for an end device to see several responses to a DHCP request. It will generally just use the first response. However, this also underscores the importance of ensuring that all of the DHCP servers distribute the same information. Their databases of end device configuration parameters must be synchronized.9 [/ P5 \, C8 z. E+ d  B
6 DHCP 服务器往往遵守先来先服务的规则(first-come, first-served),或者说他能够建立一个IP地址和终端设备MAC地址之间的映射表(或者叫做database),由此可以保证特定的终端(也就是特定的MAC)每次开机后都能够获得此相同的ip地址。# o; I" u: o7 M' Y
.The server can allocate IP addresses from a pool on a first-come, first-served basis, or it can associate IP addresses with end device MAC addresses to ensure that a particular client always receives the same address.
0 d# r) a+ h0 K7 E4 B, R用 IP Helper Addresses 命令配置DHCP中继服务
$ s  ], H* D& y; x* E6 U) @- ~1 d+ j* ?$ c# }
( m3 Y. p! E+ U. n4 E- |5 N
1典型配置命令
9 b; E. [7 i2 J2 ]: G- nThe ip helper-address configuration command allows the router to forward local DHCP requests to one or more centralized DHCP servers:# @* N0 S. k$ Y. ?3 @# y
Router1#configure terminal2 r/ ~3 h  t# s( I
Enter configuration commands, one per line. End with CNTL/Z.
, C3 I9 ~6 C, a" V5 wRouter1(config)#interface Ethernet0- {$ N6 W# A# M; f( [! g1 q
Router1(config-if)#ip helper-address 172.25.1.1 /*指定dhcp服务器的地址,表示通过Ethernet0向该服务器发送DHCP请求包*/" n# A) C7 [- D7 Y
Router1(config-if)#ip helper-address 172.25.10.7 /*作用同上*/  [, u0 B: `; y; H0 Q0 E8 z  ~
Router1(config-if)#end! p5 S7 @' r: G8 s  j
Router1#" D0 F6 @# O" w* ^
关于以上配置的讨论
% b& f* d) y+ ]9 c1 在客户端设备和DHCP服务器不再同一广播域内的时候,中间设备即路有器(路有功能的设备)必须要能够转发这种广播包,具体到cisco的设备上,则启用ip helper-address命令,来实现这种中继。
3 Y" g: v6 L7 T6 |3 _2 DHCP服务器要给终端设备分配地址则需要掌握两个重要的信息,第一,该客户端设备所在网络的子网掩码,DHCP服务器依据子网掩码的信息来判断,服务器该分配哪个IP地址,以使得该ip地址在那个子网内,第二,DHCP服务器必须知道客户端的MAC地址,以维护DHCP服务器的ip 地址和MAC之间的映射关系,由此保证同样一台客户机,每次启动后能获得和前一次相同的ip地址。. V1 P; ^/ E, n4 `# h
3 配置了ip helper-address命令之后的路由器在中继DHCP请求时的工作过程如下
' T! |$ O' j4 O9 ^) Ka,DHCP客户端发送请求,由于没有ip地址,所以自己的源IP地址为0.0.0.0,而且也不知道目的DHCP 服务器的地址,所以为广播255.255.255.255。该数据报中当然还包含其他信息,比如二层的信息,源mac地址,和目的mac地址 FFFFFFFFFFFF。
% Z) {# C0 Q) c$ R7 H3 h2 w/ rb,当路由器接收到该数据报的时候,他就用自己的接口地址(接收到数据报的接口)来取代源地址0.0.0.0,并且用ip help-address 命令中指定的地址(上例中为172.25.1.1以及172.25.10.7)来取代目的地址255.255.255.255
; e/ j  |( v2 W6 }+ D! x0 mThe router must replace the source address with its own IP address, for the interface that received the request. And it replaces the destination address with the address specified in the ip helper-address command. The client device’s MAC address is included in the payload of the original DHCP request packet, so the router doesn‘t need to do anything to ensure that the server receives this information.  `( C( k8 z, I( a
c 当DHCP服务器接收到路有器转发过来的DHCP请求包时,他有了足够的信息,(由源IP地址中的地址,确定客户机所在的子网掩马,由此分配相应地址池中的空闲地址,并且知道了客户记得MAC地址,把它写入自己的数据库,建立IP地址和MAC的映射关系)然后DHCP服务器做出响应,并且由路有器把数据报转发会客户端。(整个过程应该在客户机和服务器之间还有一次会话,由于这不是路由器DHCP配置的讨论重点,这里不谈)
; t5 g' F! _8 `' y4 例子中配置了两个DHCP服务器,我们必须分别用ip helper-address 命令指明,路有器会转发DHCP请求包到所有的DHCP服务器上。很多企业的做法都是至少有两台DHCP服务器,有提高冗余和可靠性的作用。此时,如果客户端受到几个来自不同DHCP服务器的应答,则只选择最先接收到的应答数据报。; ~! }0 ~* A1 P% b- x: a
5 必须要注意的是;ip helper-address 命令不仅仅是只转发DHCP请求包,事实上,在默认情况下,他还转发其他的UDP报(比如DNS请求)到ip helper-address命令所指定的服务器上,所以这种额外的数据流量可能会增加DHCP服务器链路的负担以及服务器CPU负担,可能会引起问题,关于解决办法,将在后面讨论。
2 r$ ?0 C* y2 V; Y最后 用show ip interface 显示相关的ip help-address配置信息:$ y6 m' s! I: I5 Z* J
Router1#show ip interface Ethernet0
! E4 @3 D8 N: d% V1 R1 dEthernet0 is up, line protocol is up
# Q5 n9 \# i. s2 ^7 c. m! Q  Y5 S0 EInternet address is 192.168.30.1/24
9 X7 w3 Z6 b- ~# z4 J7 C( m% vBroadcast address is 255.255.255.255! H, h' N! b+ V0 o' A3 Q
Address determined by setup command
0 w8 u+ E, E9 }: c, }9 yMTU is 1500 bytes/ z, Q$ T2 a6 D1 l
Helper addresses are 172.25.1.37 J2 [) o9 ]0 ?1 m4 ~
172.25.1.1' B1 \0 e" i; e& C+ P
Directed broadcast forwarding is disabled4 n) w: r/ w% z+ W4 `
Router1#9 L5 ]7 q- h, G" f
在配置了dhcp中继的路由器上,禁止无意义udp广播报的转发# K+ p# g4 S* g+ \3 I
, {5 e& j" U  \

. I4 A' Z- Y8 _3 i0 f; v问题的提出:  ?4 w  ^( g6 X
正如前面章节说描述的那样,路由器上配置IP helper addresses命令后,默认情况下路由器不仅转发dhcp请求,同时也转发其他的udp报,这样很可能会增加DHCP 服务器所在链路的负担,同时也增加了DHCP 服务器的CPU利用率,这可能会引起很严重的网络通信问题。. y% _- {3 Q  Y" b- j: u. w
所以cisco 的ios 提供了限制ip helpe-address 命令所带来的负面影响的方法。
. `5 t% R3 A) M* M- ]' O解决实例;
0 O9 k) D5 p" D* W# Z5 I  a$ c& QCISCO路由器允许用no ip forward-protocol udp 命令来禁止对所无意义的UDP`数据报的转发
% L+ B+ A9 x+ g5 gRouter1#configure terminal" @$ w* A+ K' I5 F( v# y2 g" A
Enter configuration commands, one per line. End with CNTL/Z.6 N3 Y6 R2 D$ Y
Router1(config)#no ip forward-protocol udp tftp2 U2 V' l$ m8 t5 I& R& Q8 [+ ?7 }
//禁止转发tftp请求数据报文
  a) s7 R, o1 Q  m6 iRouter1(config)#no ip forward-protocol udp nameserver/ ]1 L7 j$ U5 k- M1 G- H
//禁止转发nameserver请求数据报文
% Y% K, E5 T8 ~4 `' B! z7 o" _Router1(config)#no ip forward-protocol udp domain; n5 b: F% j2 w/ S* e) p' N  i; i0 a
//禁止转发domain请求数据报文: o* o. z+ Q% e& z$ [
Router1(config)#no ip forward-protocol udp time
9 H! V) X! P5 x, \* E. l3 F) q//禁止转发time请求数据报文
( q! ^4 V: u( M& P/ T  YRouter1(config)#no ip forward-protocol udp netbios-ns5 u3 x; d$ f3 f# j9 p0 E4 k
//禁止转发netbios-ns请求数据报文
" j! o- S; u+ PRouter1(config)#no ip forward-protocol udp netbios-dgm
% G" }; w3 e, y  A4 [7 [) s//禁止转发netbios-dgm请求数据报文
& h& ^6 j* s6 v# M! U+ jRouter1(config)#no ip forward-protocol udp tacacs# J; H7 m  m6 d# A/ p) e4 E; C
//禁止转发tacacs请求数据报文
4 ?2 w5 b# u/ p6 t: DRouter1(config)#end
- n7 b  V. G, y0 V) U0 x- Y' j9 w3 HRouter1#9 h4 N$ |0 a. }+ t
关于配置的相关讨论;
* h; n8 H2 T: I1 配置了DHCP中继的路由器,默认情况下也转发下列udp 广播报文。  i4 ]: G& y; x0 I. j0 D/ `
2 尤其是在windows的网络环境中,在没有配置no ip forward-protocol udp 的情况下,DHCP 服务器会接受到来自各个不同网段的大量的NetBIOS 请求报文,这通常是引起网络拥挤,阻塞的一个很大的原因,所以作为一个基本的配置准则,我们推荐你使用no ip forward-protocol udp netbios-ns 和 no ip forward-protocol udp netbios-dgm 这两条配置命令来限制路由器向DHCP服务器转发NetBIOS请求报文。) [( c* E& _, C! e' C+ k
3 上面的实例中禁止了所有不必要的协议的转发,在实际的应用中,很多大公司通常只禁止NetBIOS 请求报文的转发,这主要是因为NetBIOS 报文是引起网络问题的关键原因所在。
0 h- J. N0 S1 V3 I9 {0 t4 必须认识到,配置了udp中继(ip hlpe-address x.x.x.x.)的路由器并没有实现针对不同协议,转发到不同的(或者说指定的服务器上)的功能。她会傻傻的,一古脑儿的把所有的协议(上表中所列的协议),义无反顾的发往所有的服务器。
7 W9 B! f6 ?! L: Q  S. E) ~, i1 T& {例如,有server1 为dhcp 服务器(1.1.1.1 ) server2 为dns服务器(2.2.2.2)
' p" l% M9 _, [, A0 l9 E在路由器上 配置如下后
7 P& [, g# U- l% QRouter1#configure terminal
6 P4 Y# ~& v8 GEnter configuration commands, one per line. End with CNTL/Z.0 C5 `' n. d; @6 N9 z) E2 y
Router1(config)#interface Ethernet0
9 G+ i8 Q' t' k" lRouter1(config-if)#ip helper-address 1.1.1.1
: |) q; h8 ]: \  Q5 f5 \Router1(config-if)#ip helper-address 2.2.2.2: N: A* W1 Y9 D
Router1(config-if)#end
* w, L4 I" H: CRouter1#- g4 h. x5 T) y" O
实际效果是,不管是server1还是server2都将接收到包括dhcp请求,dns请求,以及其他udp的请求报文。
4 d1 i1 Z6 r) u7 p配置路由器为DHCP客户端,使之动态获取ip地址
4 i( S6 r) D# z. ^$ V问题的提出:, I9 t- v5 e2 `4 ~
有时候,你会希望自己的网络中的路由器动态获取ip地址(即配置路由器作为dhcp服务的客户端),这种情况通常是不多见的,我们也强烈不建议这么做,因为路由器作为网络中间设备需要有高度的可管理性以及可靠性,而动态地址是我们的路由器管理变得更加复杂和不稳定。! E( W4 |' J" G  K( l0 P
但是,有一种情况比较适合配置路由器为dhcp客户端,那就是路由器作为局域网(或者说内部网)的边界连接到isp的时候。) L0 n: K/ H7 f7 k3 V8 |9 W
解决实例;
2 c7 T- Z0 K# n用ip address dhcp client-id 命令来配置路由器为DHCP的客户端,由此动态获取ip地址$ @2 D1 B% p# n) z
Router1#configure terminal
3 o$ J* ^6 ]/ m, l$ wEnter configuration commands, one per line. End with CNTL/Z.- s1 p& ?4 C, L5 o
Router1(config)#interface Ethernet0* [, `4 Q- l" T  m
Router1(config-if)#ip address dhcp client-id Ethernet0 //开启DHCP的客户端,以使得该接口动态的从DHCP服务器端获得IP地址
) A' ^% ?3 B6 i/ k) P$ Z/ Z5 FRouter1(config-if)#end1 T' v) H- \5 P+ ^+ k- s
Router1#4 l7 Y" |5 {$ i; c
Interface Ethernet0 assigned DHCP address 172.25.1.57, mask 255.255.255.0
+ A/ A! x- I2 w7 x/ K0 lRouter1#
0 ?0 h$ [; [% V9 a  n, G' T
( f$ }% s2 _9 E1 b: j( c3 A/ V" L, g+ f; W
关于配置的相关讨论;2 i8 c* U+ G- a6 V
1 CISCO的IOS在版本12.1(2)T之后,加入了DHCP客户端以及DHCP服务器端功能,也就是说,在这之前的IOS只能配置DHCP的中继功能(ip helper-address)。) G) v0 a6 F$ K0 q  `
2 和普通的DHCP客户端一样,路由器配置为DHCP客户端后,也可以自动获得除ip地址以外的相关配置信息,例如网络掩码,默认网关,域名,DNS SERVER的ip地址。但是,要记住如果路由器本身用命令静态配置了域名,则路由器自身静态配置的域名为最终配置结果,而对于DNS SERVER 的信息,则是把动态获取的DNS SERVER ip 地址以追加的方式加入到静态配置表中去。
7 u& D3 \( p+ S9 V3 下面的输出是路由器动态获得默认路由的情况下的输出,输出显示由DHCP动态获得的路由条目为S(静态),AD(管理距离为254),这里值得注意的是 AD自动被设置为254,由此保证由DHCP获得的路由是作为最后路由被路由器选择的,也就是说只有在静态路由,以及其他动态路由协议的路由表中不存在相应的路由条目的时候才被选择。
+ S3 P9 H. ^- t2 _& _0 ?: KRouter1#show ip route
0 j: |# s8 d+ O  {& w7 n6 n% lCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP1 R" g8 v/ \( V. B8 Z, M, d) k
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area0 l) _" _- g; i& d, d, I
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
8 O0 n) v4 G% Q. I, L, }E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
+ h7 z5 G1 I7 V0 Si - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  u$ g+ L# I6 X9 q/ f+ i* - candidate default, U - per-user static route, o - ODR
6 M# p: V/ D+ m' UP - periodic downloaded static route
! Q$ ]2 Q* W9 G0 s, }. rGateway of last resort is 172.25.1.1 to network 0.0.0.0
2 G+ Q( z% A% c5 a) ?$ O172.25.0.0/24 is subnetted, 1 subnets
3 L" k  x. {1 N1 wC 172.25.1.0 is directly connected, Ethernet0
8 K$ L$ r2 t( D& oS* 0.0.0.0/0 [254/0] via 172.25.1.1
, h; x5 f7 Q" t; VRouter1#5 x* U: m8 i1 g; a
4 在ISP的解决方案中,一般都会给路由器分配域名以及DNS server地址等信息。' G5 \* m" T" |6 d) v" Q" {
可用show host命令来查看相关的信息;下面的例子显示了通过dhcp获得域名,以及DNS server地址等信息;
$ B# B, [9 b  L! R* kRouter1#show host* F  B, @% F2 |4 I4 t5 x
Default domain is oreilly.com
2 b1 W) `$ U) t& D6 LName/address lookup uses domain service
8 t; @: J. M( \# g6 R& j' Y0 ^Name servers are 255.255.255.255, 172.25.1.1( {4 o( ?: y( r7 }9 k: y5 y) O* n( X
Host Port Flags Age Type Address(es)
7 ?9 f) F$ j& F6 c  Z- uNone (temp, OK) 0 IP 192.168.22.57/ |/ ~+ o3 q5 L7 i% C: B, R
Router1#
9 O5 J9 E% h# g, m; n/ z* c5 一般可以用show ip interface命令来查看路由器通过dhcp获得的ip地址等相关信息,看下面的例子8 [' k8 A8 H6 n7 t9 ^) l. _) J1 V/ P
Router1#show ip interface
% B8 Y2 ~# C1 V4 u; S1 {Ethernet0 is up, line protocol is up' O" u. A0 t. E5 Z" n, ~' G( L- t
Internet address is 172.25.1.57/24" J" q0 k" w4 F0 i
Broadcast address is 255.255.255.255
* K* Q% S- n3 oAddress determined by DHCP/ u9 X7 u. f4 D- i7 ~( O
MTU is 1500 bytes8 f# q3 Q/ Z% M2 {1 H1 ~
6 最后,再次强调不推荐把路由器配置为dhcp的客户端。当然下面两种情况除外,- _8 O& x: }" O6 G
■ 就是当路由器作为网络边界设备连接进isp的时候,可以考虑(比如现在很流行的adsl服务,往往就采用动态获取地址,这是不是一个很迷你的应用呢?)
( n7 a2 ?. ~! I. t* n■ 作为funs的娱乐手段,如果你却是觉得这个技术很有意思,想在其中遨游一番,你不妨躲进实验室好好的享受享受。. P. {% j- X* P$ ]$ c
7 很遗憾,到现在为止cisco的路由器在配置为dhcp客户端的时候,并没有提供一种指定所要获取的信息的方法,也没有提供如何察看现有的动态获得的ip地址的所剩租期。相信,CISCO马上会在这方面有所改进。# c3 W" f0 C7 z' a9 R4 }% w
配置路由器为DHCP服务器,使之给dhcp客户端动态分配ip地址7 H; I: Z" c/ z& k
问题的提出:
, i  M; {3 X* Z9 j把路由器配置为dhcp的服务器端,以对路由器下所连接的客户工作站进行ip地址的分配。, X0 B9 }8 K! k- `% y* z) W
(这可真是一个了不起的改进!路由器从此腰身一变,看上去更加多姿多彩了)) r* w# {1 u- [+ {& k0 s
解决实例;
; D* C: s) m! \2 T2 H, s+ s3 _下面的配置命令,可以配置路由器为DHCP服务器,用以给DHCP客户端动态分配ip地址。
/ c: d" m+ B1 ?. V: YRouter1#configure terminal
9 B$ \) l$ L. }) A7 `Enter configuration commands, one per line. End with CNTL/Z.0 B% b5 K9 |# ~, l# e) D
Router1(config)#service dhcp //开启 DHCP 服务: U& A4 `: A4 C7 ~. w# w
Router1(config)#ip dhcp pool 172.25.1.0/24 //定义DHCP地址池- Y/ X) x. f) F: X" N6 b
Router1(dhcp-config)#network 172.25.1.0 255.255.255.0 // 用network 命令来定义网络地址的范围
9 D' \5 f! G& Y. l" DRouter1(dhcp-config)#default-router 172.25.1.1 //定义要分配的网关地址
0 _2 r8 y; q+ p9 P# a& L6 DRouter1(dhcp-config)#exit9 ]/ ?3 \7 U- E: O
Router1(config)#ip dhcp excluded-address 172.25.1.1 172.25.1.50 //该范围内的ip地址不能分配给客户端* X# W1 p) b% X3 H( R' M
Router1(config)#ip dhcp excluded-address 172.25.1.200 172.25.1.255 //该范围内的ip地址不能分配给客户端
6 A- ^$ G# v% S( D; oRouter1(config)#end, B1 l+ c. ?3 L5 y' [2 k
Router1#3 ~( m( t. ^# `& e+ _& R0 x
0 \. T2 D/ {, C! Z
  @: l8 V* H+ j' K, V  v
关于配置的相关讨论;7 s1 ^) S4 h1 {+ Z) T0 ~- p
1 CISCO路由器的dhcp服务器功能也是在ios 12.0(1)T.以后才出现的,这一功能的出现,使我们没有必要在专门网络的中心(或者说企业本部)另外配置一台DHCP server,从而降低了网络构建成本。
( [  `) A2 |* m+ {9 ]2 在路由器上直接配置dhcp服务器相比于传统的在专门服务器上实现dhcp有其独到的优点。
8 D  a# W5 I9 L* R( m- K+ x比如2 q; A( O7 X, _# e: h( W
A 由于传统的构建方法是,在企业的总部设立DHCP服务器,各分支机构通过路有器去获取ip地址,所以当dhcp服务器出现问题的时候,整个企业的网络都会受到影响,而如果把dhcp 服务器功能设在各个分支机构的路由器上实现,则某个分支机构的路由器DHCP出现问题,就只能影响该分支机构的网络本身,而其他分支机构则不受任何影响。从而可见,实现了问题的局部化。; H9 A9 N) L( `1 u9 M0 B
B 在各分支机构的路由器上实现DHCP服务器功能后,大量的DHCP UDP请求报文将不会通过wan link 转发到 中心机构上去,由此,相比于传统的方式,它有减少广域网负荷的优点。$ a( F' R9 E. a% W/ J% {! O% u; T/ \
C 同样的道理,在各分支机构的路由器上实现DHCP服务器功能后,如果某条广域网连路坏了,本地的局域网依然能够正常运行
- G" \& t1 M4 ~# p9 RD基于路由器的DHCP 具有很高的可管理性,它通过ios的命令界面是比较容易配置的。
  |" J! S8 K' \# q3 上边的配置例子,我们用ip dhcp exclude-address 命令来指定不能用来被分配的ip地址,这种配置往往是很需要的(甚至说是必需的,几乎所有的;路有其DHCP 服务器配置中都会有),因为往往有一些地址我们会用来作为其他的用途,比如,我们至少应该保留路有器本身的地址不被分配给dhcp客户端,还有一些比如说网络服务器,打印机等等,我们也往往会给他指定静态的地址,所以这一部分地址。我们不允许路有其分配出去,上例中的172.25.1.1 到172.25.1.50 之间,172.25.1.200 到172.25.1.255的地址就做了保留。. n6 k7 ]8 ]' y1 K
关于DHCP的租期相关讨论和配置
- b/ {: p6 f) S  X; E( e" B  y6 v& I问题的提出:: B  U: \8 J/ B0 x7 e! \' U
DHCP的租期(DHCP Lease Periods)是DHCP相关知识中,一个比较重要的该概念,这里单独列出来进行说明。
; K3 E$ Z1 }# E% e! [基本的配置如下;
1 B) G5 {% W( _% C/ E7 _8 ?$ h, j- BRouter1#configure terminal
) `- X) E. V: \" S/ B$ `2 I1 cEnter configuration commands, one per line. End with CNTL/Z.$ w8 E8 g3 Q2 ]
Router1(config)#ip dhcp pool 172.25.2.0/247 z+ _& c9 ^- B' y: k4 `9 c1 {5 [
Router1(dhcp-config)#lease 2 12 303 M0 f' U' t$ |+ W6 S- S
Router1(dhcp-config)#end
0 f( t7 G/ w" ~9 F1 ]; c$ d- WRouter1#
# t8 x$ X/ ~7 J6 }关于配置的讨论;* A- m) q, T3 W9 f6 v6 H6 C
1 lease 命令的基本格式是 lease [days] [hours] [minutes]1 ?: |, z8 g" U% s/ V' j2 b
上面的例子,表示设定DHCP租约为2天12小时30分。 你可以配置最大值为365天23小时59秒,也可以设置最小值1秒。默认的DHCP租约是1天。3 n8 s7 [5 Z. C: g4 x2 ^
2 一般的规则是,对于那种dhcp客户端数量比较大,并且客户端联入网络,断开网络比较频繁的场合,一般把租约的时间配置的比较短,这样子使得ip地址很快被收回,可以供另外的dhcp请求客户使用。比较经典的场合时比如飞机场的无线网络。但是越短的租约,也使得dhcp请求包过多,增加了网络的负担。$ r( C6 A: P; K  }0 W7 Y
3 相反的,在一个相对稳定的网络环境中,比如小型的办公室网络,由于客户端的数量往往变化不大,所以可以考虑适当的增加dhcp的租约。这样做的主要好处是,可以减少dhcp服务器的负担。; P$ X8 e: V8 X/ S3 e/ g6 R4 ]
4 记住,客户端在自己的租约还有一半的时候,就会向服务器发出更新租约的请求,如果成功,则租约从新恢复为完整的租期,如果失败,则又过剩下的一半租约后,再发出更新请求,如此规律,直到成功更新为止。- ]$ M. _- M/ X' w' D+ W
5 在很多场合,默认的一天的租约是比较合理的,一般很少作修改。& J3 t9 t  q7 j! \7 F- R
5 一种比较极端的配置是,你可以规定租约为永久,即一旦客户端获得了ip地址后,只要他不物理断网,以后就再也不会向服务器发送dhcp租约更新请求了。这种配置在现实中就更加少见了。
) H/ J3 \! b8 g- h配置命令如下;
/ \/ b$ T9 D0 B- |4 j' M# \) \+ _5 rRouter1#configure terminal
6 Z. p, i+ t5 DEnter configuration commands, one per line. End with CNTL/Z.5 }; z! ]; `9 d7 [
Router1(config)#ip dhcp pool COOKBOOK
- C* j/ i( V8 F1 l+ b3 O& {& WRouter1(dhcp-config)#lease infinite //规定租约为无限制
) b% W7 z4 @& t5 pRouter1(dhcp-config)#end5 _: @5 Z8 M) h. U
Router1#
+ G6 ?6 N+ Q& {. \3 ?: Q6 你可以用show ip dhcp binding 命令察看dhcp租约。
: W! S2 [9 ]- y, |  q7 C4 ]( [Router1#show ip dhcp binding: l3 W6 _& _8 y$ y
IP address Hardware address Lease expiration Type6 k% _" \6 N; R( @  f. @- C
172.25.1.33 0100.0103.85e9.87 Infinite Manual5 Z8 O3 K- p  D4 r2 Y8 ^$ {
172.25.1.53 0100.0103.ea1b.ed Apr 11 2003 08:58 PM Automatic
* \' Y4 m- y) |$ Y+ Y4 ^172.25.1.57 0100.6047.6c41.a4 Apr 11 2003 09:17 PM Automatic3 w9 ~" |: ^7 C/ g
Router1#: R, U# X  L5 `! Z* B& ^5 G
二、DHCP Snooping技术( N* }! _  Q* `  ^' V1 E
DHCP Snooping是一种通过建立DHCP Snooping Binding数据库,过滤非信任的DHCP消息,从而保证网络安全的特性。DHCP Snooping就像是非信任的主机和DHCP服务器之间的防火墙。通过DHCP Snooping来区分连接到末端客户的非信任接口和连接到DHCP服务器或者其他交换机的受信任接口。
+ E0 k+ D! c6 j# S3 b  M3 o* eDHCP Snooping Binding数据库包括如下信息:MAC地址、IP地址、租约时间、binding类型、VLAN ID以及来自本地非信任端口的接口信息,但不包含通过受信任端口互相连接的接口信息。在启用了DHCP Snooping的VLAN中,如果交换机收到来自非信任端口的DHCP包,交换机将对目的MAC地址和DHCP客户端的地址进行对比,如果符合则该包可以通过,否则将被丢弃掉。
3 T+ d8 o2 [( f, @  O. `: n在下述情况中,DHCP包将同样被丢弃:, R# l/ m$ d' y5 l
来自外网或者防火墙的DHCP服务器,包括DHCPOFFER、DHCPACK、DHCPNAK、DHCPLEASEQUERY。! ^# D" |$ I" U4 L* _8 C/ b
来自非信任端口,且目的MAC地址和DHCP客户端的硬件地址不匹配。
% K1 Z8 }6 ^8 ~2 Q交换机收到DHCPRELEASE或者DHCPDECLINE的广播信息,其MAC地址包含在DHCP snooping binding 数据库中,但与数据库中的接口信息不匹配
- \6 P7 G4 V; X" _1 W通过DHCP中继代理转发的包不包括在内& @) t% m! c' {" k
三、Dynamic ARP Inspection技术+ s, ?2 O4 v6 [) d9 n# ~3 g4 p
Dynamic ARP inspection是一种验证网络中ARP包的安全特性,可以阻止、记录并丢弃非法IP和MAC地址绑定的ARP包。5 t- @/ @) D0 f. M4 M% ?, S/ [+ f
Dynamic ARP inspection保证只有合法的ARP请求和响应可以传播。交换机会完成如下工作,截取所有来自非信任端口ARP请求和响应,在更新ARP缓存或传播数据包之前验证所截取的数据包IP-MAC地址绑定是否合法,丢弃非法的ARP包。
# x# ]* ?: {2 M5 b" q前面提到,DHCP Snooping会建立一个包含合法IP-MAC地址绑定信息的数据库,Dynamic ARP inspection基于该数据库检验所截取ARP包的合法性。如果ARP包来自非信任接口,那么只有合法的可以通过。如果来自受信任端口,将可以直接通过。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-16 05:01 , Processed in 0.332137 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表