*思维导图
一、概述
1、DHCP:自动主机配置协议
端口号是:
ipv4对应的是udp67、68
ipv6对应的是udp546、547
2、作用:实现向主机自动分配IP、默认网关、DNS等地址信息
3、好处:
减少管理员的工作量
避免输入错误
避免IP冲突
方便客户端配置
提高IP地址利用率
4、分配方式:
自动分配:分配到一个IP地址永久使用
手动分配:由DHCP管理员专门指定IP地址
动态分配:使用完后释放该IP,供其他客户机使用
5、为什么要使用服务器搭建DHCP
专一,稳定性高
二、DHCP租约过程(像租房)
1、租约过程:
1)客户端发送DHCP discover广播包,寻找DHCP服务器
客户端源ip用的是0.0.0.0,源mac是自己本机的mac。
2)服务器回应DHCP offer包
提供可用的ip,租约信息等
3)客户端发送DHCP request
宣告自己所选择的DHCP服务器
发送arp广播确认IP地址是否没有被占用
4)服务器发送ACK确认
这个ack包里包含了给客户端分配的所有的网络参数
2、客户端重启后:
1)发送带有IP地址的DHCP Request请求包
2)若IP地址没有分配使用,则DHCP服务器响应ACK确认信息,客户端继续使用该IP
3)若IP地址被其他人占用,则DHCP服务器响应NACK包,告知客户端IP已被占用。这时客户端会重新发送Discover广播包
3、更新租约:
1)IP地址租期到达50%后,须重新更新租期
2)客户端直接向服务器发送DHCP Request包来更新租期
三、DHCP服务器配置
1、相关文件
服务名:dhcpd、dhcrelay(中继服务)
主配置文件:/etc/dhcp/dhcpd.conf
模版文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
中继配置文件:/etc/sysconfig/dhcrelay
2、主配置文件相关参数解释
#全局配置:
option domain-name #设置DNS域
option domain-name servers #设置DNS服务器IP地址
default-lease-time #默认租约时间
max-lease-time #最大租约时间
#子网选项:
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.100 172.16.1.200;
option domain-name-servers 114.114.114.114,223.5.5.5;
option routers 172.16.1.1;
default-lease-time 600;
max-lease-time 7200;
}
#subnet 表示当前DHCP要分配的网段。注意该DHCP服务器一定要位于这个网段里
#range 表示分配的地址范围
#option domain-name-servers 表示分配的DNS地址
#option routers 表示分配的网关地址
#保留地址选项:
#有时我们需要为某一个主机配置固定IP地址,而host选项选项满足了这一需求。
host server2 {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address 172.16.1.166;
}
#hardware ethernet 为指定主机的mac
#fixed-address 为该主机分配到的特定IP地址
3、dhcp服务器配置流程
1)拷贝模版文件
由于默认的主配置文件/etc/dhcp/dhcpd.conf里没有任何内容(除了注释),不方便配置。所以需要把模版文件拷贝并改名覆盖主配置文件
2)修改主配置文件
添加subnet,把模版中没用的subnet删掉
如果有保留地址,则在host选项中添加相关配置
3)开启dhcp服务
service dhcpd start #启动dhcp服务
netstat -anpu | grep dhcp #查看dhcp状态
注意:如果有报错启动失败,查看/var/log/messages日志,看报错原因,进行排错
4)查看租约信息
服务器端租约文件:/var/lib/dhcpd/dhcpd.leases
客户端租约文件:/var/lib/dhclient/dhclient-eth0.leases
4、dhcp中继配置流程
1)在dhcp服务器上的主配置文件/etc/dhcp/dhcpd.conf中添加需要中继的subnet并重启dhcp服务
2)在中继服务器上开启包转发功能
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
#更新配置文件
3)在中继服务器上的配置文件/etc/sysconfig/dhcrelay中添加参数
[root@localhost ~]# vim /etc/sysconfig/dhcrelay
INTERFACES=“eth0 ehth1” #声明你要使用哪几块网卡中继
DHCPSERVERS=“172.16.1.201” #指定dhcp服务器
4)在中继服务器上启动中继服务
service dhcrelay start
本文出自 “华哥在路上” 博客,请务必保留此出处http://wshstc.blog.51cto.com/10676059/1694283
原文地址:http://wshstc.blog.51cto.com/10676059/1694283