数学建模社区-数学中国

标题: 如何解决局域网IP冲突问题 [打印本页]

作者: 韩冰    时间: 2004-10-4 11:58
标题: 如何解决局域网IP冲突问题

作者:蓝色烟火 转自黑基bbs原创作品版 0 D' F/ n2 H! x: a, x0 s版权归黑客基地所有, 转载请注明出处

8 e, v, l7 [) {

网络简介 - l( K ^6 q7 W 8 T5 Y$ D+ ~7 G/ v 4 [# X+ B) [4 K3 z   作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 2 _0 E8 f( [3 ]( J7 [ 1 y6 t" p+ T3 C' y5 S1 B% n5 D+ _3 z: G9 i+ e 7 `2 s, z) q% U& u7 E3 W, d4 n' [   问题的提出 # a# l/ @+ Z) P5 q- m7 R0 ?* L) W6 H. ` : K3 u9 ^; x+ K" r. s% u  我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。 - \1 q! s6 n9 O! X4 K6 v( u - M5 I- T# f7 d. k) N* q. d, I* Q: \3 Y! ?# v! @! } ( Y, F8 J1 f0 V   分析原因 5 R7 A. `1 l; F A ' ?6 k# D! ~4 M) }6 f7 D( @ ) p7 J9 d5 R% j( X3 a; a% Q2 i5 q+ Z1 P# D; c, S/ @2 l0 |% Y0 Q8 H   出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 8 ^* W4 J: p( t7 C G1 C( G+ r c3 y% |* b9 ` & q1 p1 V& d1 {2 a 6 Z" r, ~( @4 A4 w& F t  1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。 " t1 R* X! I# `/ l4 R 7 E/ x2 f2 ]1 J 3 r. L2 J: I( w3 c2 g$ {3 |$ J% j. Z7 ^+ t' r   解决方法 ! T# Z/ V3 W) e# ^4 o- V1 x* o+ q ( v8 b/ J3 u! I* F, s 7 g5 \/ E! Y6 v( r- n5 ]3 o, F; I( d * G8 A( n0 t7 Q  接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 1 A# K% g' [/ B |& P$ l- p- y2 E 4 B4 ]8 Z, o) [9 z* w, o* N* N ( B2 q' e7 U& G6 Q2 Q U! x+ A; U: d   首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 4 v9 l. F, l9 y6 ~& Q( K; \5 R2 ?2 e7 i- o( {& t2 [ ! R; X2 e4 z( e. K# Y2 ] / T! |% I' O8 H3 S0 Z  C:\WIDOWS\〉ping 10.119.40.40 . q+ `5 e3 b4 O$ W0 R3 @, ] \ 8 @: V( G3 z# z6 Y' [ . j1 I6 N" n0 X. \# j5 a/ _; q2 _$ B, p4 J1 C   Request timed out 6 x" j9 K1 ~; o+ ]% z2 Y . x, \% Q$ Z9 Z1 X# a# z4 e0 F) y- Y0 D6 \: ` 5 a; J+ B# i1 M6 n: I* e- U; c' C0 T   Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 : `, K# C% ^ ^) V; ]. K: C8 N; L/ [; R 3 p; Q, M( M, W" p' h4 } e . ?0 b7 D8 F! y; L' G   我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。 ; e2 M( }' v. C6 k1 H8 } & n/ c2 P% W n8 P2 E 8 N- u7 r' S* E' F' E S# u# d7 F   C:\WIDOWS\〉arp -a - a( T& z2 m) H. |) n/ z ) H$ J( D; L1 c1 [' G: k , D5 n3 }: O4 F: ^+ T5 [7 M. k, S. M( |8 l$ }! b- n$ s3 b C" r   Interface: ...... on Inerface ...... ) ?8 ]0 {: Z$ @" F& f/ t* @! A6 F. ~& _5 i4 ~0 X; b3 N4 _ ) i" C' _! J& [6 x% j 2 y8 `( Y, Z) D2 K6 f- j p  Internet Address/Physical Address/Type 7 `, G1 H6 r+ b- Z. m/ l6 j, u+ i! v3 R7 V' m' y8 z) y2 E " C! O& O' I/ ?& w D* \9 P& p , w, l$ \( L# d% K   10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 / D( I0 f8 |' B$ {( V3 L( P $ \! W; I. ^6 ^9 o' ~5 ^ 2 ^; V; P5 o0 Y. ~5 c, k+ s2 x% @+ |* o- w4 A5 Q8 A   以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。 6 l; I" ?5 v( ^. r! l% n' d 8 T3 L' A0 i9 u+ i) h, q# h; H6 h3 r1 c5 R a' U " D) ^+ u3 R; G6 `8 J5 J( R   网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。 - V1 ^6 X4 J* R" D / R% z- u/ y+ U$ g+ I( b& U A! p) N3 O" C; Z( q2 G' f; l - V" ^8 R# r5 S1 J: x' C2 @  在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 2 s, n: T- k1 @0 r % x6 }$ u4 b0 U5 f" B# g% I. S* _' Y% G: f* a* H. |# S) _2 B ' C& A' o& n/ s; m6 K0 B( y1 y/ H: l) W. O  * 在网管员的机器上启动浏览器 7 y N) Q$ i6 M) L; V5 }: J ( o) _& ?9 Y) }5 |; ^. f# A) a+ A5 v0 [ 4 f; b$ u5 ^' n$ |. m N  * 键入交换机的IP地址 ' Q8 C9 A$ w. Y : D" v r: T$ @1 ?$ S2 w) |1 n4 }4 K; `! ~ 2 s/ Y7 k+ N% q, K  * 提示登陆信息后输入用户名和密码 1 p# {/ E6 F- {! O * A6 C0 t, N+ _, @9 [' W g3 T7 }, h. B4 p% |) ~ $ B. Y# O) A4 y& b* c8 _6 m   * 进入“MAC Address Table”选项 ; ]4 R$ S; f; `" o4 ^ 5 `- X+ b1 x: i7 ` * u' h4 O/ l" j( P6 V' _ , a/ K5 D4 H8 t* T3 v2 U  显示表格如下: ( l# w3 W7 O# c( P/ z: N " x$ ?: I0 r: s' k( j + |! P. H2 G8 X% s6 U# w% D( \" b, Q& v& u/ U% l Index/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 1& \( w( j( R) Y% I # P* f$ p" c. n00:00:21:34:63:56 D4 q4 R+ }1 g5 \" ?: j! f+ G $ o( k- J5 R& e4 b- X* J# I13 1 R, C' H/ ~: f, Q ; {( u5 H0 E$ [8 ]. i5 |* b _8 dDynamic5 y( H0 |8 u" H/ C& B7 ^ " s, \1 d) f; sNo( T. \1 s. n) T 9 G8 d: U# E! s3 Q7 R: }: D 5 \! H1 a% ? U0 B- b. Y- F: @& Y, \. t. {7 ?, w 28 Q% T/ }; m- f, q2 o 9 b6 j! a! l) u' l, U00:00:81:65:c3:a0# p+ s+ F) `3 q8 U) y/ c4 q: ` 6 F, g) |' k) V) K0 oN/A* x" ?. T& N4 U3 ^6 |; J' U% h% x ; x8 X" W2 s0 V. MStatic 9 F; Z6 G' C. |8 ?. R1 S T9 `5 n) ^. x- J. S2 K No 8 r K2 V+ W T2 j7 E+ a8 D. y+ m4 F9 c6 O* N: P/ {7 b $ {9 s7 j% g2 l9 p* y! d / C+ ^" y# S; H7 | 30 r, t m( N; T" H a 8 D3 V' r1 P4 i; I2 e1 J 00:00:a2:f7:c3:e4* N! ^/ n: t0 M0 v. ` , l5 a9 p, C. q+ \7 h 25! e: @. N) M- S9 B% Q * n5 A9 D m& j3 I* ^! {5 FDynamic. P% o: k( [3 f3 M! p; f 5 z- F- n. [3 ]5 e8 c# @# dNo0 ~' @; G3 `9 J5 M% f; l* K' g/ U$ o # s8 K# }# o* w3 K( m! v$ n$ O . V$ |* ^8 ?( j, J 7 e2 M/ A3 W$ g& T i$ ? 41 a4 U4 q' B5 | 8 M/ @# U. S2 w" V 00:00:21:34:63:56# R8 ]% O' U* C# _- y7 j , j9 X; [. _2 S' [$ Q7 v 2 ; [7 W2 X7 ]3 a, ]: K6 `! p9 ` 9 |8 |! F7 ?/ |8 Y& S: ]- O* ~) MDynamic0 H, [& }0 p) P! Z" H# ]; t E9 `! ]# e& x$ s5 z+ e No! S( ?, B6 J2 p# ~6 W1 X ( o0 m: v. u, r9 C0 Z 9 [9 R- [! L( Z$ q5 u3 F ) ] N& Q$ k- e, ~( Z 4 j1 ~# _% w/ F* E7 f % I! u* h2 f8 G$ c0 S* s以下略。3 y7 U4 _6 X& f( \+ L ' [5 {8 {$ x# i- G' L   此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。 # L" H) M& G% ]* x$ }- \- p 6 b$ }$ K" r3 f" _4 _2 h * e& {/ u* o/ V5 ?& Z3 l& i* f, G" V! P, E, p6 m- M, E, F; s   对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 " j& ]4 i; d/ O. m2 u2 L1 s" P$ N 5 O8 j9 s0 M/ o: B; ]6 L0 U0 x, |3 s( {4 i7 E& n $ k7 k; F5 u2 B; D, w: b0 G   管理策略 j7 _) J; p8 o/ T* B 2 s% M+ k; S3 h8 k; s3 y3 ]" k$ ~4 \4 T' X0 v , v, P% X G$ v( o$ h" T$ l% Z1 G$ Z   对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 8 o+ J! S1 I8 [2 r : s8 t; S1 i- T" E 2 V) v9 K; G; t9 T4 C8 o 6 j$ v% Z# d7 P7 n `  用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 9 g) j& e4 a( }+ P4 t8 g. p9 @ 9 b& a8 d* S. R1 c . X) S, P/ ~; n+ ~ ; Z E& y+ K: q- u$ y  使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 2 }- w, o3 f* Q $ |3 r( o, O6 \8 k7 ?1 c3 j 8 V! @( c- ]# W: ^# ?, P! A V- n. _6 i   在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。: M6 w0 O% ^0 K& _) S

" ]0 K* T* v1 Y0 ]1 J

编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论 4 O2 C s4 X! e* [0 t" ~1 {5 s8 z学习, 交流, 进步才是最重要的!






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5