DHCP 是 Dynamic Host Configuration Protocol(动态主机配置协议)缩写,
它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:
网络主机使用 BOOT ROM 而不是磁盘启动并连接上网络,BOOTP则可以自动
地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事
先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP
 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造
成非常严重的资源浪费。DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:
一个是服务器端,而另一个是客户端。所有的 IP 网络设定数据都由 DHCP 服务
器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从服务器分配
下来的IP环境数据。比较起 BOOTP ,DHCP 透过 "租约" 的概念,有效且动态的
分配客户端的 TCP/IP 设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP
 Client 的需求。DHCP 的分配形式 首先,必须至少有一台 DHCP 工作在网络上面
,它会监听网络的 DHCP 请求,并与客户端磋商 TCP/IP 的设定环境。它提供三种
 IP 定位方式:
 1手工 manual 工作量大 地址利用率很低
 dhcpclient ----地址
 2自动automatic
 server 地址池
 dhcpclient--ip地址 mac--ip(永久)地址利用率低

 3动态方式
 server 地址池 (起始地址 结束地址)
 dhcpclient--》ip地址  mac---ip (租期)地址利用率高
  结合着用

通常情况下 1和3 结合着用

 dhcp discover server---》》广播
 dhcpoffer        广播首选《《 -------
 dhcprequest ----》》广播
 dhcpack(ip,netmask,gatway,dns,租约文件)广播《《---

dhcp租约记录 存放文件  /var/lib/dhcpd/dhcpd.leases下
dhcp 主配置文件为 /etc/dhcpd.conf
可通过读取模版对其进行相应的配置

案例一

 


配置方法其实很简单 !! 只是大家需要注意一些问题:
  1、dhcp 服务 不能跨网段 只能用于 内网使用 不能放到外网
  2、如果用虚拟机来模拟,需要关掉虚拟的dhcp
  3、在一个网段里 不允许 有2台的 dhcp 服务器 否则会冲突 没法正常使用

 安装dhcp


#vi /etc/dhcpd.conf //使用vi修改/etc/dhcpd.conf
  #cat /etc/dhcpd.conf //显示配置文件内容
  #每行结尾是;
  ddns-update-style interim;
  ignore client-updates;
  subnet 192.168.101.2netmask 255.255.255.0 { //设置子网声明
  字串2
option routers 192.168.101.254; //为DHCP用户设置默认网关
  option broadcast-address ; //为客户设置广播地址
  option subnet-mask 255.255.255.0; //为客户设置子网掩码
  option domain-name "domain.org"; //为客户设置DNS域
1
  option domain-name-servers 222.88.88.88,222.85.85.85; //为客户设置DNS服务器地址,如果是多个用,分割
  option time-offset -18000;
  range dynamic-bootp 192.168.101.3 192.168.101.253; //设置地址池
  default-lease-time 21600; //为客户设置默认地址租期
  max-lease-time 43200; //为客户设置最大地址租期
  group{
  host greenpig { //设置主机声明
  hardware ethernet 100:0C:29:4F:20:DC; //指定客户的MAC地址
  fixed-address 192.168.101.2 //对指定的MAC地址分配固定IP地址
  }
  }
  启动DHCP服务器:
  #service dhcpd start


 客户端 2003结果如下平台

 

 

 

案例二

dhcp中继


第一步 服务器上eth0配置(linux平台)

 

 

 

 编辑  /etc/dhcpd.conf

 ddns-update-style interim;
ignore client-updates;
subnet 192.168.101.0 netmask 255.255.255.0{
        }
subnet 192.168.102.1 netmask 255.255.255.0 {
        option routers                  192.168.102.254;
        option subnet-mask              255.255.255.0;
        option domain-name              "tec.com";
        option domain-name-servers      222.88.88.88,222.85.85.85;


        range dynamic-bootp 192.168.102.1 192.168.102.253;
        default-lease-time 21600;
        max-lease-time 43200;
}
subnet 192.168.103.1 netmask 255.255.255.0 {
        option routers                  192.168.103.254;
        option subnet-mask              255.255.255.0;
        option domain-name              "mkt.com";
        option domain-name-servers      222.88.88.88,222.85.85.85;


        range dynamic-bootp 192.168.103.1 192.168.103.253;
        default-lease-time 21600;
        max-lease-time 43200;
}
# DHCP Server Configuration file.
"/etc/dhcpd.conf" 30L, 802C                                   13,2-9       椤剁?
重启服务器 service dhcpd restart
第二步 路由器配置(linux平台)

 eth0 eth1 eth2 配置如图


 

 


[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
[root@localhost Server]# vim /etc/sysconfig/dhcrelay 编辑中继配置文件

 

---vim /etc/sysctl.conf 编辑数据转发

 


---sysctl -p 重启生效   service network restart

service dhcrelay on 启动中继服务