一.DHCP的基本概念
1.DHCP的定义
DHCP:(Dynamic Host Configuration Protocol )动态主机配置协议,是TCP/IP协议集所提供的一种实现自动分配IP配置信息的子协议,基于UDP协议实现。
2.DHCP的功能
① 动态分配(每个IP地址都具备租约)
② 分配网关、WINS、DNS系统信息
③ 与DNS相结合实现动态更新
④ 保留IP地址给指定主机linux
3.DHCP的体系结构vim
DHCP服务器:运行DHCP服务软件包和DHCP协议的主机
DHCP客户机:运行DHCP协议能够发送DHCP请求的主机
4.分配IP地址过程
① CLIENT发送广播DHCPDISCOVER寻找DCHP服务器。
② 服务器发送广播DHCPOFFER响应CLIENT的请求。
③ CLIENT会检查获得的IP信息是否完整而且发送广播DHCPREQUEST通知DHCP服务器已得到IP地址。
④ SERVER发送广播DHCPACK确认客户机的请求,表示分配成功。
过程即:DHCP Discovery->DHCP Offer->DHCP Request->DHCP ACKnowledge
5.更新租约
① 每次DHCP客户端从新启动时, 都会自动利用广播的方式,给DHCP服务器发送DHCPREQUEST更新信息,要求继续租用原来的IP地址
② 50%时,CLIENT以点到点方式发送DHCPREQUEST请求服务器的更新租约。
③ 87.5%时,CLIENT发送广播DHCPREQUEST寻找其余DHCP服务器,若是更新成功的话,DHCP服务器向CLIENT发送DHCPACK;若是不成功的话则发送DHCPNACK。
二. DHCP服务的配置
1.安装DHCP的服务软件包
dhcp-3.0.5-21.e15.i386.rpm
2.相关文件和目录:
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd,/usr/sbin/dhcrelay
服务脚本:/etc/init.d/dhcpd,/etc/init.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
DHCP中继配置:/etc/sysconfig/dhcrelaywindows
3.配置文件服务器
vim /etc/dhcpd.conf网络
第一次打开主配置文件,可能没有配置信息,此时须要dom
(1) 声明
subnet 网络号 netmask 子网掩码 { ……..}
功能:定义子网 (定义做用域 )
注意:网络号必须与服务器的网络号相同,若是服务器有多块网卡时,必须为每个网卡都创建一个相同网络号的子网,可是不用分配地址的子网能够不定义地址范围
(2) shared-network 名称 {………..}
功能:设置DHCP服务器多个IP子网共享同一个物理网络,即超级做用域
注意:一般用于包含多个subnet声明
(3) range 起始IP地址 终止IP地址;
功能:定义做用域范围tcp
(4)mac地址绑定ide
hardware ethernet 须要绑定的mac地址this
fixed-address 绑定的IP地址spa
三.案例实现
案例一:设置dhcpd.conf文件,达到如下要求:
(1) 不支持dns动态更新,且忽略客户机的更新
(2) 服务器的默认地址租约时间为3600秒,最大地址租约时间为7200秒
(3) 全部做用域的客户机后缀域名为abc.com,DNS服务器地址为192.168.0.254
(4) 全部做用域的客户机默认网关地址192.168.0.1
(5) 定义做用域192.168.0.0子网,地址掩码为255.255.255.0,地址范围为192.168.0.2-----192.168.0.150
(6) 保留192.168.0.0子网中的192.168.0.8给以太网卡物理地址为00:E0:4C:70:33:65的客户机DHCP服务:
1.安装DHCP服务:yum install dhcp -y
(或者 rpm -ivh dhcp-3.0.5-21.e15.i386.rpm)
2.修改主配置文件
vim /etc/dhcpd.conf
ddns-update-style none;
ignore client-updates;
default-lease-time 3600;
max-lease-time 7200;
option routers 192.168.0.1;
option domain-name “abc.com”;
option domain-name-servers 192.168.0.254;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.150;
host c1 {
hardware ethernet 00:E0:4C:70:33:65;
fixed-address 192.168.0.8;
}
}
3.启动服务:service dhcpd start
开机自启:chkconfig dhcpd on
4,.实验效果验证:
对于linux客户端:
1)设置网卡采用dhcp启动协议,自动获取ip地址信息
vim /etc/sysconfig/network-scripts/ifcfg-ethX(X能够0,1,2……)
修改BOOTPROTO为:BOOTPROTO=dhcp
2) 获取IP地址
ifdown ethX ;
ifup ethX:
对于windows客户端:
(1) 右击网上邻居----属性------双击tcp/ip协议----选择“自动获动IP地址”
(2)开始->运行->cmd
输入:ipconfig/release 释放IP地址
ipconfig/renew 从新获取IP地址
案例二:DHCP实现中继代理
①对于dhcrelay主机,先安装yum install dhcp,须要两个网卡:eth0用来跟服务器主机相连,eth1用来跟客户端主机相连
开启路由功能:echo 1 > /proc/sys/net/ipv4/ip_forward
selinux: setenforce 0
vim /etc/syscofig/network-scripts/ifcfg-eth0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
vim /etc/syscofig/network-scripts/ifcfg-eth1
IPADDR=192.168.2.1
NETMASK=255.255.255.0
vim /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.1.2"
service dhcrelay start
②对于服务器主机:subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name "fan.com";
option subnet-mask 255.255.255.0;
range 192.168.1.10 192.168.1.200;
}
③service dhcpd start
添加网关:route add default gw dhcrelay 192.168.1.2
进行实验效果验证。