数学建模社区-数学中国

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

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

作者:蓝色烟火 转自黑基bbs原创作品版7 |: [( l. H# y- \7 E4 [# Q 版权归黑客基地所有, 转载请注明出处

# m! }1 b: t1 z3 Z) ?

网络简介 ; w, j1 o4 j) Q# E ( a7 z, c) m9 a" \1 n" p+ _ , l. F- }9 ?' k. r5 E+ m; @" x  作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 3 g% U- Q5 P' K 2 k6 _8 U' ]9 y' C- S* V! I- ] 6 U1 r$ K8 v* i! X7 ? L# X6 U, B+ w$ I: P- T9 r; u% P- H   问题的提出 / S$ L) | G" ], a 6 C( _) I* A; K7 F! Y3 M5 k8 {) Z. i2 `+ Q   我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。 ; u# _: q* a0 L2 h# V2 l2 h * ?7 e/ O6 x$ H& s# A2 }4 { 6 b- K0 ]+ [& M ! G7 `$ n# U9 e% E( H   分析原因 8 _% y, {1 @: U" |) k$ z$ m & X. u* q! G6 Z- Z 9 h8 A; W" X+ G$ c+ K/ d . @& x) U1 a2 g7 H   出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 $ h8 f! [$ @3 m, {$ q# u. _( l& `- B # t) q, Y$ |' y3 P6 i / w' R" K( x$ h. c' e( u5 K  1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。 0 d0 `) _2 _4 j5 c7 ?8 w/ v* D ) L- k. T1 l% g; p4 Z. a; ^ & A. T7 R2 D' z7 l, K ; ~- @* p' o" F! C   解决方法 . ~% d& N4 G# _- R7 U7 F9 L 4 t4 t3 d4 i. |& q% p * |7 e& ^1 y: j9 f: E8 \ % a! U0 r$ u1 f4 l. |   接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 ' l# ^4 y: V- F ^# Q0 P0 _8 `! c K; a( x) E( k U: S# }* N5 k; v& @) E) A, ~" {& P m8 \4 A/ U/ G   首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 # A0 X0 T9 ?+ c % ]4 |2 r5 [/ { ) m2 f4 d" I% U9 X 8 P' d& x3 `3 L' I. O3 t' F0 i; T   C:\WIDOWS\〉ping 10.119.40.40 / h4 u0 O( B2 Z' O/ [ C$ Z 9 n0 r& \6 o. `( m9 i2 _9 j 2 \7 q8 V/ N3 V 2 g- }( P7 N4 Q' n% m& W3 Q  Request timed out 2 z; Z0 v7 E8 r6 p+ @* z1 L1 D 1 ?3 v/ d0 V# Q4 W8 k2 c% [* X ; T4 c1 q( g4 o5 Z( O w* A+ g; ~% i# E0 N2 p; _+ g2 W   Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 ) o4 p7 C# _0 S S! y) _7 C 6 c' O/ _: ^2 S0 q9 `3 H U- G& S: s 0 z$ E b* z" s   我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。 0 `. g0 D) d' x, b" Q) D5 `' j; h$ f7 f- a" F S+ y- d: O ! P& G# H: |2 ]* R! j* }9 J $ \$ ^( W0 [. `, N" P   C:\WIDOWS\〉arp -a & g( s* r r( k) _" H- {) T6 ?) ?1 [ J4 c# i 7 H2 t: ?- C5 R1 b5 F 1 z) x3 D" Y L: S2 \  Interface: ...... on Inerface ...... 2 l+ D( z& \3 l3 Z; x2 f r! x8 Y ; j$ `* w4 L& x Y# M3 N5 `% a O& u - \$ v+ w9 P- g( x j/ `- y  Internet Address/Physical Address/Type 9 [- [4 r4 Q" m1 h3 D7 L i 8 R9 R" ~9 _ Z0 a, A' N " }7 w9 i2 g* z g 4 a9 B9 |0 {$ J( t X: r  10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 + Y$ y; [$ {# f + G! l5 M$ j1 q3 r8 O0 t ( K( D) C6 }. _2 c5 A$ @ 9 Y7 n+ {3 r9 [( w" n$ Y% ^3 R, W) `+ ~  以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。 . N& @. a2 r+ m; h5 z ; c& _$ O$ G5 j( S+ b+ k2 s , G$ ]) j# M. s- d' p2 N, p6 s/ H . n% b7 b) r# z( ~  网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。 ; b! a' J- x9 \# m, S ( h2 O: e) t W+ u% Y; g& q g2 i n- j 6 p0 ?# S% _! @0 c0 x- Y" e, X2 c7 ~+ n3 k0 P7 s, T. [   在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 F1 G, R9 r; g% [* Z$ ^% s( {, j* ?0 N9 x. Q. r: X1 n $ J" p+ s/ {8 z! K$ M ' p* B: f4 M7 x) e  * 在网管员的机器上启动浏览器 0 V* A1 _. J' k ' O" r2 g, e, p. p( H9 s ' b( x, K0 y4 x" J 8 k% M2 X2 E. F4 M( j8 n  * 键入交换机的IP地址 " z: ^* I! B5 e. X/ z' M( U ' Q$ r* r& J/ `8 y! @ ! a/ l* Y* k' l, ^ . }! P" ^+ S' Q% s  * 提示登陆信息后输入用户名和密码 ( a$ m2 c3 R) X1 g: r' |) a+ x0 S, Q% @2 c ; w+ u5 y- ]& K& V6 g0 t8 O ?: S% g2 e   * 进入“MAC Address Table”选项 8 P! ^) Y: D0 a5 q' J" ^! X; g* G7 T3 j$ Q 2 m9 Q9 R: H# l. o* L; a : A) n9 M$ g: l5 t: V  显示表格如下: ; F) h1 n0 @1 _ 5 f8 P) ~% m# F) A! v# q+ V& b: u 7 e. k y6 R0 g% q* F2 I " F, _6 t7 w7 q: F: T6 [ Index/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 1 : F0 K6 t) @6 L& |* e8 l0 J6 d 2 q% u7 @4 n g9 K7 ]" ?00:00:21:34:63:56 $ }/ P, ~6 J- t+ L/ T3 k5 e" Y, n d. W$ d- ?" B( ]" F! C 13 : H: Q9 F* s) B9 E6 f: M+ K$ u' J7 I! l/ G Dynamic' f$ O' R$ X5 o1 ], `5 Q. h0 x * h, U8 D4 G r+ d) N( ^ No 2 x; S, a& F( O+ }" |3 G' q / ^& p5 \5 H# o1 f2 ?6 T! B$ J5 O5 W7 {' f1 Y$ x + N1 V% |! d% ~7 s1 }! y" O: K% b7 |2: r' {. x4 t c2 E! J ) D* [$ z3 Y v1 t( c; t 00:00:81:65:c3:a0 . t2 c) z" q+ Q$ ]% I) M# d2 O* o+ O) t0 _1 w; Y8 ] N/A ; A. a/ N o5 L- Y & b: {" E& g/ a. i) tStatic1 d3 ^8 J0 S7 c9 S 2 l, Z! O& [% B, Y; X) ?- P# P. p5 KNo8 g/ D# A$ E2 H" J8 W ' V* ~' |# G0 @! F% G1 B. c / v! G- W2 `+ W8 e! E$ I) O4 P$ @, J# n& e, A- j$ ? 32 s+ E* R( e$ [8 z5 g - q8 G* n( c; d$ L: n7 n) S 00:00:a2:f7:c3:e4 ' I$ ]3 B Z7 i* l# {" P# L5 V- ~. Q* d 25 $ R/ i6 u) {% i7 Q: Q$ _& C" t ) k& Z( A/ G- u9 K8 R. yDynamic8 @5 M% z' t* n O: E7 o ; N3 `# W+ x$ K3 T1 i( U No, A5 @$ K# ^2 x8 M: {: x 2 b5 N, D8 Q' A% D2 i9 ]- ], H' b8 Q - Q7 r3 }4 C+ b/ W" W4& l3 S- S2 O" U5 d ; X4 t/ Z5 D% p$ s$ q 00:00:21:34:63:56 7 m0 S8 x0 I, Y( L " u5 c/ o# Y- X2' w# L1 t7 M& j; S w" G$ y: h. r # n! ?0 ~6 s- U% _Dynamic 1 \/ |* `- F/ a. s - l) V# P. Y# D% |6 e) G8 TNo 8 o# ~7 E( Q+ M% p" p7 n# u5 g 2 Q5 i+ g7 Q& p* k8 Q9 S7 H 1 k0 x. |1 v" [) j" U+ {8 v ( h: j9 n" s' n v3 |/ l 7 H0 ~( h- c. G* J% i9 {% T& c- [+ n) f1 } 以下略。 M$ d: D) Z- H+ x# m& h" B6 R R   此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。 : ], N: \+ E) {5 S2 _; E 3 b; G3 Q; J' C3 f+ c" d * t4 X2 }5 v/ @* a 9 |4 R7 |5 k. ]4 V7 S  对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 8 N% O! Y4 p) @; ]: J* H! D, }3 ~( I# b5 I% {& ], n 1 v, O9 Q! }/ x' T1 a6 z # \5 h9 [& ]+ S2 \3 P" ?4 W6 E   管理策略 . S. A r' Z1 l: z4 s8 x0 M: W : l/ X, g' w* l# h% Q, v" @. A0 H2 y' z- U t 8 @6 k* c$ O% T$ m$ R- |   对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 ) D6 K/ E* |! j/ L; p % R& q# ~5 U: T( j Z" @3 t b5 I, n2 N8 ` A' } d( D6 } # s- O4 G% k: N& D8 w c$ N  用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 " V1 ~' m3 z- e% c7 M8 a5 t $ C: @) j. L* Q6 l. e 5 p$ c: S6 d/ \ 9 g4 B+ S$ L; S; O# t  使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 ( @4 K/ L0 |: J, a* w8 V / c, R- L4 W; F7 U7 P $ p. h' w7 [8 h! \: [: N! C" w: Y- w ! S. N) ?( N5 Z0 a0 X: ]1 Z- N  在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。0 U x N- T: X# e4 F! E! x9 K) r/ m

$ A7 [5 L0 c( \ n" i

编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论 " {* u* C1 ~" k2 b8 h. F学习, 交流, 进步才是最重要的!






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