搭建DHCP服务
DHCP服务流程
1、DHCP客户端初次接入网络时,会发送DHCP发现报文(DHCP Discover),用于查找和定位DHCP服务器。
2、DHCP服务器在接收到DHCP发现报文后,发送DHCP提供报文(DHCP Offer),此报文中包含ID地址等配置信息。
3、在DHCP客户端接收到服务器发送的DHCP提供报文后,会发送DHCP请求报文(DHCP Request),另外在DHCP客户端获取IP地址并重启后,同样会发送DHCP请求报文,用于确认分配的IP地址等配置信息。DHCP客户端获取的IP地址租期快要到期时,也发送DHCP请求报文向服务器申请延长IP地址租期。
4、收到DHCP客户端发送的DHCP请求报文后,DHCP服务器会回复DHCP确认报文(DHCP ACK)。客户端接收到DHCP确认报文后,会将获取的IP地址等信息进行配置和使用。
5、如果DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租约记录,则发送DHCP-NAK报文作为应答,告知DHCP客户端无法配合使用IP地址。
6、DHCP客户端通过发送DHCP释放报文(DHCP Release)来释放IP地址。收到DHCP释放报文后,DHCP服务器可以把该IP地址分配给其他DHCP客户端。
Linux部署DHCP服务
一、部署环境:
1、CentOS Linux release 7.5.1804 (Core)
2、dhcp-4.2.5-77.el7.centos.x86_64
二、安装dhcp服务端
# yum -y install dhcp
三、修改配置文件
默认的配置文件/etc/dhcp/dhcpd.conf为空,可参考安装dhcp包时的模板文件
/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
dhcpd.conf大致可以分为3段
1、全局地址分配属性:
option router X.X.X.X;
option domain-name-servers 202.106.0.20,8.8.8.8; #全局DNS服务器
default-lease-time 86400; #默认租期,单位为秒
2、子网配置:
通常每个作用域通过一个subnet定义,此处以10.10.10.0/24网段为例
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.100 10.10.10.150; #可分配出去的IP地址池
option routers 10.10.10.1; #网关,此处配置的优先级比全局的高
}
3、主机配置:
通常为某特定MAC地址固定分配一个地址,
host 'host222' { # host222自定义的名字
hardware ethernet 08:00:07:26:c0:05; # 绑定主机的MAC地址
fixed-address 10.10.10.222; # 绑定主机可分配的IP地址
}
四、启动服务
# systemctl start dhcpd
五、查看ip分配情况
# cat /var/lib/dhcpd/dhcpd.leases
最新文章
- 【分布式】Zookeeper的Leader选举
- [协议]ICMP协议剖析
- SAP CRM 使用Javascript触发SAP Server Event
- PHPStorm技巧篇 -- 观感优化
- Python 之路 Day5 - 常用模块学习
- Vector和Stack(已过时,不建议使用)
- 弹出层js让DIV居中
- 助手系列之连接mysql数据库
- python 字符串复制
- Handlebars的使用方法文档整理(Handlebars.js)
- MongoDB命令模式下的条件过滤总结
- .Net有许多Office,PDF,Email,HTML的控件
- Spring 加载静态资源
- Hive drop table卡住的问题
- springboot 学习之路 8 (整合websocket(1))
- 20175208 实验二 《Java面向对象程序设计》实验报告
- Restful下的token认证方案
- ScriptOJ-unique#89
- codeforces736b Taxes (Codeforces Round #382 (Div. 1))
- IDEA快捷键--与Eclipse快捷键的对比--IDEA快捷键设置成Eclipse默认快捷键
热门文章
- 01-Spring的概述
- [蓝桥杯][基础训练]2n皇后问题
- netty笔记-:Channel与ChannelHandlerContext执行write方法的区别
- dropna fillna
- Chrome浏览器切页快捷键
- 传奇gee引擎,智能假人,假人脚本,geeM2假人
- P1598
- python编程出现:expected an indented block错误。
- 刷题15. 3Sum
- pair node stack vector string priority_queue