数学建模社区-数学中国

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

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

作者:蓝色烟火 转自黑基bbs原创作品版 9 R5 _9 R- V1 H( ?) y3 H版权归黑客基地所有, 转载请注明出处

- q& i8 a& O% ~- `& E) W

网络简介 . S) |7 ~9 L- e - j+ o+ P) n- k9 k0 C ' K9 v: h2 p4 @8 Q, ]( F9 y. D8 p& g  作为典型的企业网架构,本单位网络拓扑结构大致分为三级,并全部采用北电产品。第一级由ATM交换机组成,网络服务器、多媒体工作站等工作在主干网络上,第二级由大量的以太网交换机构成,对第三级桌面提供高密度端口。并根据划分出的VLAN(Vitual Local Area Network)提供实际的VLAN端口。网络协议采用TCP/IP,IP地址规划使用静态IP地址分配,由网管员统一规划。 + x0 V$ Q, a$ t; U. w: R' i) ^ 4 F* s) T# C Y: l- g9 p$ B: g$ G4 a' j$ ^ 1 |' ^9 A: B" c  问题的提出 $ y7 ~5 b P P9 o( V 5 k+ R3 U/ D6 g' R z& D$ l1 A/ ?1 M& j( H   我们知道,对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯。随着网络应用大力推广,网络客户急剧膨胀,由于静态IP地址分配,IP地址冲突的麻烦相继而来。IP地址冲突造成了很坏的影响,首先,网络客户不能正常工作,只要网络上存在冲突的机器,只要电源打开,在客户机上都会频繁出现地址冲突的提示:“如果网络上某项应用的安全策略(诸如访问权限,存取控制等)是基于IP地址进行的,这种非法的IP用户会对应用系统的安全造成了严重威胁。 ( r: c( k; r/ y : a W8 `& E& G) h: X& m2 C# r7 O( m* P# _' x 0 j; @3 J" i! @5 v   分析原因 ; u" l+ a% l& U% }6 o @3 W7 ]2 o) ]. E( ~$ H+ Z% r 1 E/ G& I& g0 `- B" H9 W, N$ {/ Q$ p9 j( b4 Q) N/ O9 x   出现问题有时并不能及时发现,只有在相互冲突的网络客户同时都在开机状态时才能显露出问题,所以具有相当的隐蔽性。分析原因有如下几种情况可以造成IP地址冲突。 / o5 ]& B8 o2 V7 U ! E3 l0 q6 |2 B2 c% u8 E% S/ F* u# q6 e6 q - `& Y. S* G# a* _2 q- C   1、很多用户对TCP/IP并不了解,不知道“IP地址”、“子网掩码”、“默认网关”等参数如何设置,有时用户不是从管理员处得到的上述参数的信息,或者是用户无意修改了这些信息;2、管理员或用户根据管理员提供的上述参数进行设置时,由于失误造成参数输错;3、在客户机维修调试时,维修人员使用临时IP地址应用造成;4、有人窃用他人的IP地址。 5 w' f4 P, t4 r2 e1 T . O& D( M8 Y* t, R4 @+ n+ ^ 9 A/ q$ _0 W' T1 I# v$ y: H1 _+ t1 ?   解决方法 + N9 J8 X X6 T* C# y) d5 n5 H2 I! r* G5 h$ |3 }4 h' h" K 7 T3 o- o3 X# j9 q3 H$ j / v( { R8 }& b' O, @  接到冲突报告后,我们首先确定冲突发生的VLAN。通过IP规划的vlan定义,和冲突的IP地址,找到冲突地址所在的网段。这对成功地找到网卡MAC地址很关键,因为有些网络命令不能跨网段存取。 ; N2 w5 t0 V. a5 B5 Z ' B% \; X* w6 L1 Z0 y# `8 W6 P- X. R7 a9 e / P% ?! ~) B2 ]6 f0 I' F: \  首先将客户机与网络隔离,让非法的IP地址的微机在网上运行,网管员便可以设法找到它了。应用网络测试命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为10.119.40.40,在msdos窗口,命令格式如下,其中斜体部分是命令结果。 . g7 N! \; K4 s5 M4 D1 N, K4 r* w2 a) o" n4 ^ & [, n. }( `* m9 _ * m* Y( o1 `( L6 ~! C9 R  C:\WIDOWS\〉ping 10.119.40.40 9 i' u+ ]# C- \; E8 L 5 v" C2 N% V: e. E% |9 }( k8 b9 n( L- N& Y 9 B. j7 F6 _8 L$ ?. x+ u   Request timed out % p; y; E4 w, _2 @' ] 3 \8 x* s! t- [- y& j1 N: z ( v: l; X+ b5 r- R% Z {$ C- e' A' y% i# C" K- a% D   Reply from 10.119.40.40 : bytes=32 time〈1ms TTL=128 略 / Z: l" y) g, d# I ! P8 f7 p3 c" v % F7 o" \5 z5 U0 ^ & k; ^% g# X7 a7 k) b; T9 y7 V/ p  我们之所以要ping这台机器,是出于两个目的,首先我们要知道我们要找的机器确实在网络上,其次,我们要知道这台机器的网卡的MAC地址,那么我们如何知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,并不能跨路由。 * m5 d' b; ^# E+ t ' Q3 Z2 y S% W6 x3 A4 ~# H : N: h# _7 v: f' l* d ! p# n/ `9 M$ K' h: n1 ]. U" a  C:\WIDOWS\〉arp -a ( w3 r4 O3 a0 d" v, p; Z 2 Y8 w0 @7 b4 l+ A j 9 I1 O7 m I" F2 b" g% B. ]% W+ ?   Interface: ...... on Inerface ...... 0 B7 [7 Q; Z# v( Z / t6 }+ g! g* ?; z+ i7 \, ^ 8 n2 ~ u! _4 L # ~3 q$ J: O& z( Y# Q( i( c8 A  Internet Address/Physical Address/Type # P: g: p4 z7 ~$ w3 b# ^' N$ u8 O Y" M- e / {; I* `1 g1 I, [) Y- T. n( Q) S) Q5 Q2 V* f; c3 B. Z   10.119.40.40/00-00-21-34-63-56/ dynamic 以下略 ' P% Z7 e# i& J7 [! J / B, k k1 n5 x. n6 n- E# J' s5 u4 w' F( ~ $ u+ n8 I* M6 E  以上列表表示出冲突IP地址10.119.40.40 处网卡的MAC地址为00-00-21-34-63-56。接下来我们要找的是MAC地址为00-00-21-34-63-56的网卡的具体物理位置。 $ {. Z2 j! |4 ~2 n, A ( g3 Z" _5 M: P; @$ A& ` 4 H; v# C3 q* X* M# V6 {- c+ h3 j" z4 ^, C! @( Q0 M' \6 f: s# T4 [# w   网络简介中已经说明,每台客户机的网卡直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。本网络中与客户连接的设备是Bay的303/304,本文以303为例,描述如何查找某一个MAC地址所在的端口位置。Bay303的网管有多种方式,下面仅以Web浏览器方式描述查找非法MAC的方法。 4 L1 i' Q/ C4 U" F: i 9 y- }3 X& h! d6 [' f/ {" D2 g! B) a1 ]$ z# d$ v2 H+ k0 Y- ?/ n ) w, g2 F+ j% R( H; {) d   在查找之前,首先要确定VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问该交换机的网管信息。 $ X' |! s; Y" c/ o# c6 y4 f1 t1 Z2 m# J$ R- M& w8 ?4 d0 S0 \ 1 K" M. ~3 V, D# L8 D' Q. s 4 j/ C u: a: @* l  * 在网管员的机器上启动浏览器 - T- m, d2 T5 P5 u! H! p: _ 2 [- {7 E% V8 \9 q- }* Q- ^6 Z+ J) m: D/ U7 {& g, k% l - m* }" d( O! g   * 键入交换机的IP地址 : `( e# G* z4 O( {* m! f . D( ?# a, C- H8 i U T! s7 e# J ; d4 ~5 H0 g# Z) t& W1 ~$ ^: g { / G0 Y6 B. N. r- k! A  * 提示登陆信息后输入用户名和密码 2 [/ v+ Z/ ~% w" s4 I3 m: _- ^ H0 {" b1 G & p& D, A1 K2 x( o3 |% n$ P 6 D4 f# a: k5 G* p+ A   * 进入“MAC Address Table”选项 % }2 Y1 A8 f2 y( {3 U2 c4 f9 c5 } # N, c) S( t2 d! y 2 o5 x8 P; W* f2 M- K% {6 f . a6 m1 J! ^/ u* B# Y+ J1 b  显示表格如下: : M/ g9 q9 Y% `2 D 6 f; A" x- Q$ x S8 S; I5 B1 W5 b/ X - P0 L- R8 h- M3 m: L- Z; YIndex/MAC address/Learned on Port/Learning Method/Filter Packets to this Address 11 U& m) \5 ?9 K9 a+ I- z/ l9 \ ' F3 D0 B8 F# ]; n 00:00:21:34:63:56) m% g' r1 `% @3 P4 J9 c 5 f) x: ?1 h" E( q2 ?& A) W 13, r4 H+ K% l0 k& a0 Q 5 B) m& C% P6 U8 f; D Dynamic+ c6 ~3 b% I1 C2 O. h; F# ~$ a ( R5 I% N' { k& QNo0 l5 [" { N: ]5 c/ r " O: H6 T9 K/ {, {' m/ `5 J& F5 X- ] C # Y+ l9 m+ W/ w) f4 H7 j 2" H: v' _0 Z3 m, x! x8 K - t7 ]0 Z" P' B, b- U' f: n2 \2 C00:00:81:65:c3:a0- s. F: K* u" C* ~2 d : y2 R0 }: [# t% j% LN/A& X, b0 `! m( | u" g 8 d5 r7 b% _2 a, P Static# i9 H; B# |! {! Y. x 2 z% a. S; e# rNo3 _& v' n' K9 m ) L( d9 r, k, A$ x/ t; }- K 7 k* z1 |1 {( p# @ I* V: u5 y$ N, J3 U. P S8 Z6 g2 w 3 : R5 m7 \$ u4 {- |; [/ y/ } - C0 \$ o/ C) E9 b+ {! v& Z00:00:a2:f7:c3:e4 6 F9 f2 b- G: Z& |4 I6 I$ O+ v 0 ~2 K2 u- \4 g& v1 _1 i! N2 A252 _7 A2 a: d; v6 @# i 1 y* Z) J0 e: K- R% \4 T5 B1 eDynamic! @2 s; [( k; ~3 P3 O T9 `# G3 s- w3 q+ Z3 |No4 U0 H- }6 j- S/ `5 c7 X2 b( I; ^ # N* |. f/ x k$ l4 E! R- i / y# _4 W$ h. l& M, z; z ) F) l: x2 i0 P# K8 \2 N* u. }4 2 M% S- I" u/ S3 _$ n' b& [; S5 T5 A& [/ m% w+ F: K3 ` 00:00:21:34:63:56 # X3 v6 ~3 `$ z' C! V: n ; d" E! f1 C# K# M; t4 y& j26 z! m' g! m+ A( E" a& F1 G( ~ " d& n3 [$ A0 @Dynamic ' P$ L$ B5 p6 z: a( u5 E, b+ B# w, J# N No0 P; y* W% @3 {' K0 e9 s / O* _9 Q# ^: _& R# S % k, {) A* Q& E" D8 { {" R, f$ z k) n0 p, | 6 J3 |2 ~, M* p/ X6 ^; l; S8 h; F1 e 以下略。4 E1 U, Z3 m# Y6 j! i. H ! b; ^; I7 T1 J: L( |   此时你可以看到索引的第4项,它正是我们要查找的MAC地址,它的端口号为2。根据综合布线资料,可以查找出相应的信息点的物理位置,从而定位到所连接的微机位置。当然,在此是针对特有的交换机所举的例子,在实际工作中我们要查找很多台交换机,才能找到我们要找的MAC地址,当VLAN中存在大量的交换机时,我们需要在这些交换机中逐个去查找,直到找到为止,这是一个相当烦琐的事情。 ! G% K- p0 Z5 r- { : v" l# [( ]/ O7 e ( o! ]1 o' R. p5 y& m4 x9 N) R" R7 x+ D4 y9 f   对于某一交换机的端口中存在下联交换机的情况,因为交换机支持多个MAC地址,会在上级的MAC表中有下级MAC的记载,所以首先查找上级交换机MAC表,确定较具体位置后再去查找下一级交换机,这样会大幅度地缩减查找范围。 4 U% W5 Y8 b; K' E5 ~8 l, [" Z. m+ v8 m5 M" T% ^ & v3 t4 k: h# r! t1 D8 d 2 h& C. N, ~8 n$ ?8 _; r5 i  管理策略 C+ ?* r: i, d0 Z6 e$ }1 t5 Z) F- D4 z; W% _- { . k$ o2 I4 {9 f+ I% b# M2 b + z6 B1 M5 g2 p) q- F* k! d   对于局域网来讲此类IP地址冲突的问题会经常出现,用户规模越大,查找工作就越困难,所以网络管理员必须深思加以解决。目前有两种方案,一是使用动态IP地址分配(DHCP),另一种方案是使用静态地址分配,但必须加强MAC地址的管理。 - ^+ T' I% B; O- e f3 A$ }9 ^; k% v, u * p( p" T! S* K3 ^( h4 `6 N' }9 U: B" j2 R& i+ ?   用动态IP地址分配(DHCP)的最大优点是客户端网络的配置非常简单,在没有管理员的帮助和干预的情况下,用户自己便可以对网络进行连接设置。但是,因为IP地址是动态分配的,网管员不能从IP地址上鉴定客户的身份,相应的IP层管理将失去作用。而且使用动态IP地址分配需要设置额外DHCP服务器。 / p7 J, n! E4 r# ` * }) C4 C( \0 k 7 n# Y2 e8 Z. Z4 F: {; p5 J$ Q7 M/ z3 s. w( y   使用静态IP地址分配可以对各部门进行合理的IP地址规划,能够在第三层上方便地跟踪管理,如果我们通过加强对MAC地址的管理,同样也会有效地解决这一问题。 # V7 N0 x1 x' W5 C) _5 f - R% Z9 Y0 v/ C( w$ O8 `; Z1 d " R# L5 h9 B9 _8 {, ]" A" @& \) `* {" q! o! |/ w& w   在网络用户连网的同时,建立IP地址和MAC地址的信息档案,自始至终地对局域网客户执行严格的管理、登记制度,将每个用户的IP地址、MAC地址、上联端口、物理位置和用户身份等信息记录在网络管理员的数据库中。试想,在我们上述的案例中,如果知道了非法用户的MAC地址后,我们可以从管理员数据库中进行查寻,如果我们对MAC地址记录全面,我们便可以立即找到具体的使用人的信息,这会节省我们大量宝贵时间,避免大海捞针的烦恼。同时我们对于某些应用应避免使用IP地址来进行权限限制,如果我们从MAC地址上进行限制相对来说要安全的多,这样可以有效地防止有人窃取IP地址的侥幸行为。 : d# k* g4 G$ b) j" B5 g7 g

& R+ Y- }& K3 Q1 J' O: ~

编者:这篇文章发表后,关于文章中的内容, 讨论的很是热烈, 有兴趣的朋友可以去http://hackbase.org/bbs/viewthread.php?tid=38464参加讨论1 ^( Q0 A5 K" f7 { 学习, 交流, 进步才是最重要的!






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