一、什么是DHCP:
(DynamicHost Configuration Protocol) 动态主机配置协议, 是一个局域网的网络协议,使用UDP协议工作,DHCP有3个端口,
DHCPServer : 67
DHCP Client : 68
DHCPv6 Client:546
也就是自动的将网路参数正确的分配给网域中的每部电脑,让用户端的电脑可以在开机的时候就立即自动的设定好网路的参数值,
这些参数值可以包括了 IP、netmask、network、gateway与 DNS 的位址等等。
二、DHCP的工作原理:
1、寻找server ,client端向局域网发送出一个discover封包;
2、提供IP租用位址,server端收到discover封包后,选择出最前面空置IP,回应给客户端一个offer封包
3、client端收到多台server端offer封包后,挑选最先到达的哪一个offer1,并向局域网发送一个request封包,告之所有server它将指定那一台的IP地址;
4、当server收到request请求封包后,会给客户端一个ACK回应,确认ip租约生效
三、DHCP的配置:
环境介绍:Linux_DNS:192.168.200.103 -->DNS服务器
Linux_DHCP:192.168.200.101 -->DHCP服务器
Windows 7 -->测试机
客户端:端口号68->使用UDP协议
服务的:端口号67->使用UDP协议
UDP适合发送较小的数据报文,且对失效性要求较高;因为不要求三次握手
所有DHCP配置文件:/etc/dhcpd.conf
配置DHCP服务器:
dhcp的配置文档路径:/usr/share/doc/dhcp-4.2.5
[root@linuxMA ~]# yum -y install dhcp >查看安装dhcp包
[root@linuxMA ~]# cd /etc/dhcp/ ->切换到/etc/dhcp目录
[root@linuxMA dhcp]# cp -r /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y -->拷贝到配置文件
[root@linuxMA dhcp]# vim /etc/dhcp/dhcpd.conf --> 编辑配置文件
subnet 192.168.200.0 netmask 255.255.255.0 { ->子网络地址,不是本机的IP地址
option routers 192.168.200.1; ->配置网关
option subnet-mask 255.255.255.0; -->配置子网
default-lease-time 3600; ->默认租约时间
max-lease-time 7200; ->最大租约时间
option broadcast-address 192.168.200.255; ->配置广播地址
option domain-name-servers 192.168.200.103; -->配置dns地址
option domain-name "baidu.com"; -->配置后缀域名
range 192.168.200.50 192.168.200.60; -->配置dhcp分配地址段
log-facility local7; ->说明日志发向何处
#tail -f /var/log/boot.log ->通过tail查看日志变化
#ddns-update-style none; ->动态dns
}
[root@linuxMA ~]# systemctl dhcpd start ->启动dhcpd服务
[root@localhost ~]# netstat -lnptu |grep dhcp -->查看是否启动成功
udp 0 0 0.0.0.0:67 0.0.0.0:* 2371/dhcpd
[root@linuxMA ~]# ps aux|grep dhcp ->查看dhcp进程
root 717 0.0 0.2 107380 5456 ? S 14:03 0:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens37.pid -lf /var/lib/NetworkManager/dhclient-69e8b95d-22b6-3e47-946f-f5bf064e140d-ens37.lease -cf /var/lib/NetworkManager/dhclient-ens37.conf ens37
root 2315 0.0 0.2 151896 5484 pts/0 S+ 15:26 0:00 vim dhcpd.conf
dhcpd 2371 0.0 0.4 110496 8264 ? Ss 15:31 0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
root 2404 0.0 0.0 112720 984 pts/1 R+ 16:14 0:00 grep --color=auto dhcp
[root@linuxMA ~]# systemctl force-reload dhcpd --> 重新读取配置文件
[root@linuxMA ~]# systemctl restart dhcpd -->重启dhcpd服务
验证效果:
测试分配到的IP是否能使用
测试分配到的DNS是否能使用