Linux从入门到精通系列之DHCP

首先呢先讲下dhcp的简介:

对于那些不太了解网路技术的人来说,配置TCP/IP可能是一件非常复杂的工作,对那些将PC连接到局域网的用户来说只能将配置集中到服务器端,这样可以简化用户端的工作复杂度。当然,这将在一定程度上,增加管理员的工作量,但是从整体考虑,这样是最优的。
     本章我将向大家介绍如何配置动态IP分配以及管理,并用通俗易懂的语言解释它是如何工作的,希望大家通过阅读本章,迅速成为一名合格的网络管理员。DHCP的全称是动态主机配置协议(Dynamic Host Configuration Protocol),由IETF(Internet 网络工程师任务小组)设计,详尽的协议内容在RFC文档rfc2131和rfc1541里。目的就是为了减轻TCP/IP网络的规划、管理和维护的负担,解决IP地址空间缺乏问题。运行DHCP的服务器把TCP/IP网络设置集中起来,动态处理工作站IP地址的配置,用DHCP租约和预置的IP地址相联系,DHCP租约提供了自动在TCP/IP网络上安全地分配和租用IP地址的机制,实现IP地址的集中式管理,基本上不需要网络管理人员的人为干预。而且,DHCP本身被设计成BOOTP(自举协议)的扩展,支持需要网络配置信息的无盘工作站,对需要固定IP的系统也提供了相应支持。

下面呢说下所需资源:
安装包呢,我这里用的是系统自带的dhcp-2.0-5.i386.rpm当然可以自己去下源码包,也可以yum安装随意。系统呢我这里使用的是centos的。

配置文件放在 /etc/dhcpd.conf 系统自带,管理员配置
            /var/state/dhcp/dhcpd.leases 系统没有,管理员创建

下面开始配置dhcp服务:

1./etc/dhcpd.conf

  说明:dhcp主配置文件
  源文件:
  subnet 192.168.0.0 netmask 255.255.255.0 { # 指定网段和子网掩码
   option routers 192.168.0.1; # 指定默认路由
   option subnet-mask 255.255.255.0; # 指定dhcp的子网掩码
   option domain-name "weboa.com.cn"; # 指定域名
   option domain-name-servers 192.168.0.1; # 默认DNS服务器
   range dynamic-bootp 192.168.0.10 192.168.0.250; # IP分配范围
   default-lease-time 1200; #如果客户端不能请求一个指定的租用期,就使
   用该参数来定义该地址租用的时间长度
   max-lease-time 87600; # 用来指定租用的最长时间,尽管租用的
   时间长度是根据客户端的请求决定的。
  # we want the nameserver to appear at a fixed address
  # host ns {
  # next-server marvin.redhat.com;
  # hardware ethernet 12:34:56:78:AB:CD;
  # fixed-address 207.175.42.254;
  # }
   }
   # 以上被注释的部分用来给客户机分配一个永久的IP,也就是可以利用它
   来做网卡和IP的绑定

   2. /var/state/dhcp/dhcpd.leases

   说明:IP分配记录文件
   通过执行 touch /var/state/dhcp/dhcpd.leases生成
   源文件:
   空

测试及管理方法:

测试方法;

    1.管理员修改完配置文件之后需要执行/etc/rc.d/init.d/dhcpd restart
   来使更改生效。
    2.在Windows 98的客户端,用户需要将TCP/IP配置成为自动搜索IP。
    3.在Windows 98的客户端可以运行winipcfg来动态申请IP。
    4.管理员可以通过查看/var/state/dhcp/dhcpd.leases文件来监督IP资源的分配情况。

管理方法:

   1.可以通过执行 tail –f /var/state/dhcp/dhcpd.leases来监视IP的分配情况。

小结:

通过学习本章,各位一定有一个感觉,就是DHCP的配置十分的简单。在一定程度上是这样的,因为我向大家介绍的是一台主服务器带一个子网,这是最简单的一种网络拓扑结构,要是更加复杂的多子网情况,那配置起来就要更加麻烦一点,这就需要为每个子网配置一个中继代理(dhcrelay),它的文档在Linux中都可以找到,一看就能明白了。