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 启动中继服务