您现在的位置是:首页 > IT基础架构 > 网络与安全 >

局域网中IP地址的切换和保护

2008-09-05 21:41:00作者:老五来源:

摘要IP地址是非常重要的网络资源,它是网络访问的基础。局域网中的网络访问虽然是基于MAC地址的,但面向用户的IP与我们的距离更近。本文将重点谈谈如何在局域网中实现基于子网、基于用户的IP自由切换,实现移动办公;另外,从DHCP的角度谈谈IP的保护。...

  一、IP自由切换,轻松实现移动办公

  1、基于不同子网的IP切换

  移动办公在局域网中是非常普遍的,我们经常会在不同的子网(部门)间进行相关的工作。拿着自己的笔记本,利用网卡接口连入局域网,马上就可以进入工作状态,大大提高了工作效率。但是每个子网有不同的网络配置,例如IP地址、网关、DNS、DHCP等等。这样的话每到一个新的子网(部门)中,就需要员工重新进行网络设置,显得非常麻烦,而且对于有些人确实比较困难。那如何实现IP的自由切换呢?

  (1).思路

  我们可以将不同子网的的网络设置备份下来,当我们需要在某个网络环境中使用时,调用相应的备份文件即可完成网络的相关设置,这样就免去了手工设置的烦恼,非常方便快捷。

  (2).实现

  备份网络设置:先将电脑的网络设置为子网1的网络配置,然后在命令提示符(cmd.exe)窗口中敲入如下命令:netsh dump >net1.txt当然你也可以指定其他的保存位置,这样就完成了对“子网1”的网络配置的备份。同样可以将单位其他子网的网络配置备份为net*.txt(*为其他子网的序号)文件。

  图1

  图1

  设置切换:完成备份后,进行切换就比较简单了。若此时你需要设置成为“子网1”的网络配置,在命令提示符(cmd.exe)窗口中敲入如下命令:netsh exec net1.txt即可完成“子网1”的网络配置工作,若需要设置为其他子网的网络配置,将命令行中的配置文件改为net*.txt(*为其他子网的序号) 即可。

  图2

  图2

 

  (3). 简化操作

  上面对网络环境的备份和切换需要输入命令略显麻烦,并且需要员工有一定的命令行基础不宜推广。我们可以批处理然后共享给大家,当需要切换网络时只需运行相应的批处理脚本即可。具体操作方法是:将下面的代码分别保存为bf.bat和qh.bat,放在同一目录下。

  @echo off

  echo 备份网络设置

  netsh dump >net1.txt

  exit

  @echo off

  echo 恢复网络设置

  netsh exec net1.txt

  exit

  这样在备份时只需双击bf.bat即可,网络切换时也只需双击qh.bat就可以了。当然,我们也可以进行共享。做好每个子网设置的备份然后放到共享服务器上进行共享,在别人需要在某子网移动办公的时候只需调用该子网的网络配置文件(net*.txt)运行qh.bat即可完成网络配置马上投入工作。

 

  2、基于不同帐户的IP切换

  通常情况下企业中有一些公共电脑,管理员为不同用户创建不同的帐户,并赋予其不同的权限供其使用。以企业中使用最普遍的Windows客户端来说,不同的帐户可以赋予不同的权限,但是网络环境是统一的。在有些情况下我们需要不同的帐户有不同的网络配置,那如何实现呢?

  (1).思路

  我们为每个用户创建一个批处理文件,通过该文件完成用户的网络设置。如何实现帐户登录自动完成网络配置呢?大家知道每个帐户都有各自的桌面环境,其中有一个“启动项”,我们可以将相应的用户网络设置批处理文件放到启动项中实现帐户登录后的网络自动配置。

  (2).实现

  创建批处理:以创建gslw用户的网络批处理文件为例,其他用户类似,将下面的代码保存为gslw.bat:

  @echo off

  netsh interface ip show address

  netsh int ip set address name="本地连接" source=static addr=192.168.1.10 mask=255.255.255.0 gateway=192.168.1.1 gwmetric=1

  netsh int ip set dns name="本地连接" source=static addr=202.100.64.68

  netsh int ip add dns name="本地连接" addr=202.100.64.68

  netsh int ip add dns name="本地连接" addr=61.178.0.93

  netsh interface ip show address

  netsh interface ip show dns

  exit

  (3).实现自动配置

  将gslw.bat文件拷贝到帐户glsw的启动菜单中,即“C:Documents and Settingsgslw「开始」菜单程序启动”中。其他帐户的实现方法类似,大家可以根据上面的示例找到对于用户的启动菜单路径。

  图3

  图3

  二、IP保护从DHCP开始

  其实,具有一定规模的企业网络,一般会部署DHCP服务器来为客户端提供网络服务,免去了手工设置IP的麻烦,大大简化了网络管理。此时,客户端连入网络后会发送DHCP请求包,DHCP服务器会应答并提供IP地址、子网掩码、网关,DNS等信息。但是,当局域网中出现了另外一台非授权的DHCP后会怎么样呢?毫无疑问,这必然导致IP的混乱。因此,我们不能忽视对DHCP的保护。

 

  1、简单防范

  (1).客户端不断请求

  既然广播包会发向网络中的所有设备,合法还是非授权服务器先应答是没有任何规律的,那么我们可以通过多次尝试广播包的发送来临时解决这个问题,直到客户机可以得到真实的地址为止。

  客户端在命令行中先敲入命令“ipconfig /release”释放非授权网络数据,然后输入命令“ipconfig /renew”尝试获得网络参数。如果还是获得错误信息则再次尝试上面两条命令,直到得到正确信息。不过这种方法治标不治本,反复尝试的次数没有保证,一般都需要十几次甚至是几十次,另外当DHCP租约到期后客户端需要再次寻找DHCP服务器获得信息,故障仍然会出现。

  (2).另类方法干扰

  在实际使用中笔者发现了一个另类的方法,该方法和上面介绍的消极防范结合起来使用效果还算不错。这个方法就是只要知道非授权的DHCP的IP,找台电脑设置和他同样的IP,能降低非授权DHCP发放的数量,这样在执行ipconfig /release和ipconfig /renew时获得合法网络信息的概率大大提高。

  2、主动出击

  (1).通过DC对DHCP授权

  一般我们使用的操作系统都是Windows,微软为我们提供了一个官方解决办法。在windows系统组建的网络中,如果非授权DHCP服务器也是用Windows系统建立的话我们可以通过“域”的方式对非授权DHCP服务器进行过滤。将合法的DHCP服务器添加到活动目录(Active Directory)中,通过这种认证方式就可以有效的制止非授权DHCP服务器了。

  原理就是没有加入域中的DHCP Server在相应请求前,会向网络中的其他DHCP Server发送DHCP INFORM查询包,如果其他DHCP Server有响应,那么这个DHCP Server就不能对客户的要求作相应,也就是说网络中加入域的DHCP服务器的优先级比没有加入域的DHCP服务器要高。这样当合法DHCP存在时非授权的就不起任何作用了。

  授权合法DHCP的过程如下:“开始→程序→管理工具→DHCP”,选择DHCP, 用鼠标右键单击选择“添加服务器”,然后浏览选择需要认证的服务器。点“添加”按钮, 输入要认证的DHCP服务器IP地址, 完成授权操作。

  图4

  图4

  这种方法效果虽然不错,但需要域的支持。要知道对于众多中小企业来说“域”对他们是大材小用,基本上使用工作组就足以应对日常的工作了。所以这个方法是微软推荐的,效果也不错,但不太适合实际情况。另外该方法只适用于非授权DHCP服务器是windows系统,对非Windows的操作系统甚至是NT4这样的系统都会有一定的问题。

  (2).在路由器/交换机上封杀

  有的路由交换设备自身功能比较强,例如具有extreme功能,他可以自动抑制非授权dhcp的数据包。如果没有extreme功能我们如何提前预防非授权DHCP服务器的接入呢?

  首先需要对DHCP数据包使用的端口有所了解,DHCP服务主要使用的是UDP的67和68端口,服务器端应答数据包使用68端口,67端口为客户机发送请求时使用。所以我们可以在路由器和交换机上通过访问控制列表来屏蔽除合法DHCP服务器以外的所有DHCP应答包,也就是说将68端口封闭。具体命令为:access-list 108 deny udp any eq 68 any

  图5

  图5

  这种方法只对于WINDOWS操作系统的DHCP服务器有效,对于在其他操作系统上建立的DHCP服务器则无法完全过滤。而且大量的ACL也会降低路由交换设备的性能,使网络速度受到一定的影响。

 

  (3).在路由器/交换机上实施屏蔽

  第一步:知道了非授权DHCP服务器的IP地址后使用ping -a ip来反向查看他的计算机主机名。根据ARP命令查询该计算机对应的MAC地址,也可以到合法DHCP服务器上查看缓存池中该IP对应的MAC地址。 知道了MAC地址后登录交换机执行show mac add显示所有MAC地址与交换机端口的对应关系。

  图6

  图6

  (提示:屏蔽非授权DHCP服务器一定要从MAC地址来入手,因为IP地址可以修改而且自动获得IP的方法很多,获得的参数也会产生变化。)

  第二步:我们就可以从显示的对应关系列表中查看到该MAC对应的端口号了,如果端口比较多还可以使用“sh mac address add 0180.c200.0005”这样的格式来查询0180.c200.0005这个MAC地址对应的端口。

  图7

  图7

  第三步:找到对应的端口后通过int命令进入该接口,然后使用shutdown关闭该接口,从而阻断了该计算机与外界的联系。

  利用这种方式屏蔽非授权DHCP服务器当使用的是集线器连接下方设备时,会在交换机上的一个端口学习到多个MAC地址,如果我们直接将该端口通过shutdown命令关闭的话,则集线器连接的所有设备都无法使用网络了。遇到这种情况我们可以使用基于MAC地址的访问控制列表来控制。具体命令为:

  mac accesss-list extended gslw

  deny host 0180.c200.0005 any

  permit any any

  图8

  图8

  然后在进入非授权DHCP所在的交换机端口执行如下命令:mac access-group gslw in设置完毕后就阻止了MAC地址为0180.c200.0005的计算机对外网的访问,而又不影响连接到同一台集线器上的其他设备。

  总结:本文重点谈了移动办公时IP地址的切换,以及从网络角度保护DHCP使其更好地提供IP服务两个方面的问题。其实,单纯从保护IP地址来说可以通过地址绑定、子网隔离、制度规范等方面来实施。作为网络管理人员大家都明白,技术不能解决所有的问题,只有技术和制度相结合才能最大可能地防范诸如IP欺骗等网络攻击行为。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们