dhcp服务备忘录

早期的动态地址分配协议未bootp,地址一旦发放给客户机,就与客户机MAC永久绑定。这是为了适应早期硬件资源有限,众多客户机上无硬盘,硬盘和操做系统均位于服务器上,服务器上经过把ip和硬盘OS一一对应分配给客户机来完成工做的场景。bash

后来硬盘等硬件愈来愈便宜,客户机上也能够有本身的硬盘,不用放到服务器上集中管理,服务器只须要作分配地址的事就能够了。这时的ip地址反而成为了紧俏资源,把ip地址都与客户机永久绑定太浪费。因而在新的协议DHCP中就加入了租约的概念,即客户机能够动态获取ip地址,可是有使用期限的,超过了使用期限,分配出去的ip地址就会被服务器回收到地址池,而后又能够从新租给其余人。服务器

1.安装软件dom

dhcp-common.i686 这是dhcp的客户端包,通常会随系统一并安装
dhcp.i686        这是dhcp的服务端包,要手动安装
dhcp-devel.i686  这是dhcp的开发包,能够不用安装

安装服务包后会生成一些文件,其中有几个比较重要操作系统

/etc/dhcp/dhcpd.conf    主配置文件,但默认里面只有注释信息,没有实质内容
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  配置文件样例
/var/lib/dhcpd/dhcpd.leases  保存了租约信息

/etc/rc.d/init.d/dhcpd  服务脚本
/etc/sysconfig/dhcpd    服务脚本的配置文件

2.主配置文件日志

option domain-name "abc.com";	#定义搜索域
option domain-name-servers 172.16.0.1,8.8.8.8;	#全局域名服务器,这里指定的信息会自动写入到客户机的/etc/resolv.conf中

default-lease-time 600;#租约默认期限
max-lease-time 7200;   #租约最长期限

log-facility local7; #local7在/etc/rsyslog.conf中定义,表示记录日志文件位置

subnet 172.16.0.0 netmask 255.255.255.0 {#地址池定义,只要同时有网段/掩码/地址池就能够正常使用了
	range 172.16.0.10 172.16.0.20;		#地址池
	range dynamic-bootp 172.16.0.10 172.16.0.20;#专为bootp提供的地址池,能够没有
	option broadcast-address 172.16.0.255;	#为客户机指广播地址
	option routers 172.16.0.1;		#为客户机指定默认网关地址,网关必须能跟本地主机直接通讯,因此这个地址必须与地址池在同一个网段,不然不会应用到客户机上
}

host hahaha {#网卡绑定,名称能够随意指定。这一堆均可以没有
	hardware ethernet 08:00:07:26:c0:95;  #须要绑定ip的客户机MAC地址
	fixed-address 172.16.0.100;           #与上一行MAC地址绑定的ip地址
	filename "";                          #在自动安装系统时,用于指定kickstart文件存放位置,能够不要
}

3.启动服务code

dhcp服务端默认监听在udp的67号端口,客户端程序则默认监听在udp的68号端口。router

启动服务前必须为服务所在主机指定一个静态ip。并且服务主配置文件中,必须指定一个与本身ip同网段的地址池,不然服务会拒绝启动。server

169.254.0.0/16网段是在客户端获取动态地址失败后,客户机本身指定默认使用的网段,后面两位随机肯定。ip

只要从新启动客户机的network服务就能够自动从新从服务端请求ip。ci

在客户机上中止network服务后,能够用dhclient命令来手动获取地址(它就是客户端程序,默认监听在udp/68端口上)

dhclient eth0
相关文章
相关标签/搜索