第二章、DHCP原理与配置
一、了解DHCP服务
1DHCP概述:
DHCP (动态主机配置协议) 提供了即插即用的连网方式,用户不再需要手动配置 IP 地址等信息。
DHCP 配置的内容不仅是 IP 地址,还包括子网掩码、网关 IP 地址
专门用于为TCP/IP网络中的计算机分配TCP/IP参数的协议
2DHCP好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改lP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
3DHCP的分配方式
- 自动分配:分配到一个IP地址后永久使用
- 手动分配:由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其它客户机使用
二、DHCP工作过程
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程分为四个步骤:
1.客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理。
2.DHCP 服务器收到 Discover 报文之后,发送 Offer 报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提供的信息,因此客户端需要进行选择。
3.如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器。
4.DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。
DHCP租约过程
重新登陆:DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
更新租约:
●当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约; ●客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。
三、使用 DHCP动态配置主机地址
1DHCP服务优点
●为大量客户机自动分配地址,提供集中管理
●减轻管理和维护成本、提高网络配置效率
2可分配的地址信息主要包括
●网卡的IP地址、子网掩码
●对应的网络地址、广播地址
●默认网关地址 ●DNS服务器地址
实验
DHCP一般用于局域网当中或公司的内网
自动分配地址
关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install dhcp -y #安装DHCP服务
#调整网卡仅主机模式
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=bc7b7720-ad1c-4c2e-b9c8-bff796f4ebf4
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.100 #修改IP地址和网关和DNS
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
#DNS1=8.8.8.8
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ping 192.168.100.1
重新连接xshell
[root@localhost ~]# rpm -q dhcp
dhcp-4.2.5-83.el7.centos.1.x86_64
[root@localhost ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# cd /etc/dhcp/
[root@localhost dhcp]# ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@localhost dhcp]# cat dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
[root@localhost dhcp]# cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd
[root@localhost dhcp]# cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost dhcp]# cd /etc/dhcp/
[root@localhost dhcp]# ls
dhclient.d dhclient-exit-hooks.d dhcpd dhcpd6.conf dhcpd.conf scripts
[root@localhost dhcp]# vim dhcpd.conf
option domain-name-servers 8.8.8.8;
# DHCP server to understand the network topology.
subnet 192.168.100.0 netmask 255.255.255.0 { 网段 子网掩码
range 192.168.100.20 192.168.100.70; 要分配的地址范围
option routers 192.168.91.1; 网关地址
option domain-name-servers 114.114.114.114dns 服务器
[root@localhost dhcp]# systemctl restart dhcpd #重启服务
Failed to restart dhcp.service: Unit not found.
[root@localhost dhcp]# systemctl restart dhcpd
Job for dhcpd.service failed because the control process exited with error code. See "systemctl status dhcpd.service" and "journalctl -xe" for details.
[root@localhost dhcp]# vim dhcpd.conf
[root@localhost dhcp]# systemctl restart dhcpd 重新启动
[root@localhost dhcp]# systemctl start dhcpd 启动
[root@localhost dhcp]# systemctl status dhcpd 检查服务状态
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: active (running) since 四 2022-03-17 02:56:44 CST; 2min 43s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
Main PID: 7450 (dhcpd)
Status: "Dispatching packets..."
CGroup: /system.slice/dhcpd.service
└─7450 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: No subnet declaration for virbr0 (192.168.122.1).
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: ** Ignoring requests on virbr0. If this is not what
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: you want, please write a subnet declaration
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: in your dhcpd.conf file for the network segment
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: to which interface virbr0 is attached. **
3月 17 02:56:44 localhost.localdomain dhcpd[7450]:
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: Listening on LPF/ens33/00:0c:29:45:26:e0/192.168.100.0/24
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: Sending on LPF/ens33/00:0c:29:45:26:e0/192.168.100.0/24
3月 17 02:56:44 localhost.localdomain dhcpd[7450]: Sending on Socket/fallback/fallback-net
3月 17 02:56:44 localhost.localdomain systemd[1]: Started DHCPv4 Server Daemon.
安装DHCP服务


修改IP地址和网关和DNS

修改VM1的地址


复制配置文件

修改配置文件

重新重启服务

ipconfig /release 释放地址

ipconfig /renew 重新获取地址



注意事项
#windows设置虚拟网卡为仅主机模式
#虚拟网络编辑器里也设置成仅主机模式,一定要把使用本地DHCP选项勾掉
#改一下windows虚拟机的网卡配置
#在windows系统的cmd里测试是否能ping通dhcp服务器,然后释放并重启一下网络
ping 192.168.100.100 ping 一下dhcp服务器,看是否可以ping通
ipconfig 查看网卡信息
ipconfig /release 释放地址
ipconfig /renew 重新获取地址
ipconfig /all 可以看到详情信息,
手动分配固定地址
[root@localhost dhcp]# vim dhcpd.conf
# Fixed IP addresses can also be specified for hosts. These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP. Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
host fantasia {
hardware ethernet 00:0C:29:B3:34:14; #物理地址
fixed-address 192.168.100.222; #设置的ip地址
[root@localhost dhcp]# systemctl restart dhcpd




DHCP中继配置



配置二层交换机SW2
[Huawei]vlan batch 10 20 100
[Huawei]display vlan
[Huawei]int e0/0/2
[Huawei-Ethernet0/0/2]port link-type access
[Huawei-Ethernet0/0/2]port default vlan 10
[Huawei-Ethernet0/0/2]int e0/0/3
[Huawei-Ethernet0/0/3]port link-type acces
[Huawei-Ethernet0/0/3]port default vlan 20
[Huawei-Ethernet0/0/3]display th
[Huawei-Ethernet0/0/3]int e0/0/4
[Huawei-Ethernet0/0/4]port link-type acces
[Huawei-Ethernet0/0/4]port default vlan 100
[Huawei-Ethernet0/0/4]int e0/0/1
[Huawei-Ethernet0/0/1]port link-type trunk
[Huawei-Ethernet0/0/1]port trunk allow-pass vlan all
配置三层交换
[Huawei]vlan batch 10 20 100
[Huawei]dhcp enable 打开DHCP功能
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]dis th
[Huawei-GigabitEthernet0/0/1]int vlan 10
[Huawei-Vlanif10]ip add 192.168.10.1 24
[Huawei-Vlanif10]dhcp select relay
[Huawei-Vlanif10]dhcp relay server-ip 192.168.100.100
[Huawei-Vlanif10]dis th
[Huawei-Vlanif10]int vlan 20
[Huawei-Vlanif20]ip add 192.168.20.1 24
[Huawei-Vlanif20]dhcp select relay
[Huawei-Vlanif20]dhcp relay server 192.168.100.100
[Huawei-Vlanif20]int vlan 100
[Huawei-Vlanif100]ip add 192.168.100.10 24
[Huawei-Vlanif100]dhcp select relay
[Huawei-Vlanif100]dhcp relay server-ip 192.168.100.100
[Huawei-Vlanif100]ping 192.168.20.1
PING 192.168.20.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.20.1: bytes=56 Sequence=1 ttl=255 time=20 ms
[Huawei-Vlanif100]ping 192.168.10.1
PING 192.168.10.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.10.1: bytes=56 Sequence=1 ttl=255 time=30 ms
# vim dhcpd.conf
# DHCP server to understand the network topology.
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.20 192.168.100.70;
option routers 192.168.100.10;
option domain-name-servers 114.114.114.114;
}
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.20 192.168.10.70;
option routers 192.168.10.1;
option domain-name-servers 114.114.114.114;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.20 192.168.20.70;
option routers 192.168.20.1;
option domain-name-servers 114.114.114.114;
}
[root@localhost dhcp]# systemctl restart dhcpd




第二章、DHCP原理与配置的更多相关文章
- Linux网络服务第二章DHCP原理与配置
1.笔记 服务端端口:67 客户端端口:68 dhcliemt -r:释放IP地址 dhcliemt -d:重新获取IP地址 :.,$ s/190.168.200 / 192.168.100 /g 从 ...
- 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识
第25章 DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...
- Jenkins入门系列之——02第二章 Jenkins安装与配置
2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...
- DHCP原理于配置
DHCP原理于配置 一.DHCP服务 1)使用DHCP的好处 2)DH ...
- 第十九章 DHCP原理介绍
一.为什么使用DHCP 1.手动为局域网中大量主机配置IP地址.掩码.网关等参数的工作繁琐,容易出错 2.DHCP可以自动为局域网中主机完成TCP/IP协议配置 3.DHCP自动配置避免了IP地址冲突 ...
- DHCP原理及配置
DHCP工作原理 集中的管理.分配IP地址,使client动态的获得IP地址.Gateway地址.DNS服务器地址等信息,并能够提升地址的使用率. 简单来说,DHCP就是一个不需要账号密码登录的.自动 ...
- DHCP原理和配置
在大型网络中,会有大量的主机和设备需要获取ip地址和网络参数,为了解决手动配置的工作量大.ip冲突问题,因此需要使用DHCP(dynamic host configuration protocol). ...
- 网络初级篇之DHCP原理与配置(原理与实验)
一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...
- nginx&http 第二章 ngx 事件event配置等初始化
event事件模块,配置分为两层:ngx_events_module 事件模块 和 ngx_event_core_module 事件核心模块.ngx_events_module:模块类型NGX_COR ...
随机推荐
- 面试官:请分析一条SQL的执行
最近一直在写<手撕MySQL系列>文章,我发现自己的切入点有一些问题,虽尝试深入探究MySQL中的一些关键特性,但对于MySQL的知识掌握不太能够形成较好的体系化的知识网络.我感到在对全局 ...
- OpenHarmony 3.1 Release版本发布
OpenHarmony 3.1 Release 版本概述 当前版本在OpenHarmony 3.1 Beta的基础上,更新支持以下能力: 标准系统基础能力增强 本地基础音视频播放能力.视频硬编解码.相 ...
- Codeforces Round #753 (Div. 3), problem: (D) Blue-Red Permutation
还是看大佬的题解吧 CFRound#753(Div.3)A-E(后面的今天明天之内补) - 知乎 (zhihu.com) 传送门 Problem - D - Codeforces 题意 n个数字,n ...
- java高级用法之:在JNA中将本地方法映射到JAVA代码中
目录 简介 Library Mapping Function Mapping Invocation Mapping 防止VM崩溃 性能考虑 总结 简介 不管是JNI还是JNA,最终调用的都是nativ ...
- 2021.08.16 P1363 幻象迷宫(dfs,我感受到了出题人浓浓的恶意)
2021.08.16 P1363 幻象迷宫(dfs,我感受到了出题人浓浓的恶意) P1363 幻象迷宫 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 幻象迷宫可以认为是无限 ...
- 尤娜故事-迷雾-springboot扮酷小技巧
前情回顾 从前,有一个简单的通道系统叫尤娜-- 尤娜系统的第一次飞行中换引擎的架构垂直拆分改造 四种常用的微服务架构拆分方式 尤娜,我去面试了 正文 我回到日常的尤娜系统建设中,最近事情比较少,总有一 ...
- python实现基于smtp发送邮件
[前言] 在某些项目中,我们需要实现发送邮件的功能,比如: 爬虫结束后,发送邮件通知 定时发送邮件提醒待办事项 某项业务逻辑触发邮件通知 今天我们就分享如何基于smtp借助163邮箱来发送邮件 [实现 ...
- Windows常用cmd命令总结
cmd是command的缩写,即命令提示符. 运行操作: 使用"Win+R"快捷键召唤出运行窗口,再在运行中输入cmd即可. 1.ping 用法: 常用举例: ping www.g ...
- 一文带你读懂什么是vxlan网络
一个执着于技术的公众号 一.背景 随着云计算.虚拟化相关技术的发展,传统网络无法满足大规模.灵活性要求高的云数据中心的要求,于是便有了overlay网络的概念.overlay网络中被广泛应用的就是vx ...
- ngx-lua实现高级限流方式一
基于POST请求体中的某个参数限流 背景 电商平台有活动,活动涉及优惠券的抢券,优惠券系统对大并发支持略差,为了保护整体系统平稳,因此在入口Nginx层对抢券接口做了一层限流. 完整实现如下: lua ...