DHCP服务简介及Linux配置实例

目录

一、DHCP

1.DHCP简介

2.DHCP优点

3.DHCP自动获取ip地址工作原理

二、Linux配置DHCP服务器

实验一:客户端动态获取DHCP服务器ip地址

实验二:DHCP服务器为单机分配固定ip


一、DHCP

1.DHCP简介

DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

DHCP服务对应传输层UDP协议,是C/S架构,所以服务端端口号是67,客户端端口号是68。

DHCP服务器可以设置在路由器或主机上。

2.DHCP优点

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免IP地址冲突
  • 当更改IP地址段时,不需要重新配置每个用户的IP地址
  • 提高了IP地址的利用率
  • 方便客户端的配置

3.DHCP自动获取ip地址工作原理

获取ip过程

第一步:客户机向局域网中所有DHCP服务器发送DHCP discovery报文,来请求DHCP服务器下发ip地址。

第二步:局域网中所有DHCP服务器回复DHCP offer报文,为客户机提供一个尚未分配的ip地址。

(华为的服务器使用的是单播)。

第三步:客户机选择第一台DHCP服务器回复的ip地址,并且要发送DHCP request报文,通告给局域网中所有的DHCP服务器,它选择了哪个ip和哪个DHCP(发送DHCP request的原因有两层,第一层是通告所有DHCP,让未被选中的服务器,把未使用的地址收回,第二层是通告给被选中的服务器,这个IP地址客户机要使用了)。

第四步:被选中的DHCP服务器收到DHCP request消息后,会给DHCP客户机回复一个DHCP Ack,告知客户端此ip地址可以被使用了,并包含ip地址的租期信息客户机将此ip与自己的MAC地址绑定,方便下次使用,而其他DHCP服务器将收回分配给该客户机的ip地址。

获取后过程

第五步:之后客户端每次登录网络时,不需要再发送DHCP discover报文,而是直接发送包含前一次分配的ip地址的DHCP request请求。

第六步:当DHCP服务器向客户端出租的ip地址租期达到50%时,就需要更新租约。客户机直接向DHCP服务器发送DHCP request报文,请求续约。

DHCP服务简介及Linux配置实例插图

二、Linux配置DHCP服务器

实验一:客户端动态获取DHCP服务器ip地址

1.关闭防火墙和selinux

[root@localhost ~]#systemctl stop firewalld [root@localhost ~]#setenforce 0 

2.安装DHCP服务并查看相关配置文件

[root@localhost ~]#yum install -y dhcp [root@localhost ~]#cat /etc/dhcp/dhcpd.conf # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # 可以看到这个配置文件是空的,但是上面提示了模板配置文件

3.将虚拟机网络连接模式改为仅主机模式

DHCP服务简介及Linux配置实例插图1 DHCP服务简介及Linux配置实例插图2

4.设置DHCP服务端的ip地址等配置

//设置DHCP服务的ip地址等信息 [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="0b9122cc-f871-4b9b-8ca5-51dc7e0b9fb4" DEVICE="ens33" ONBOOT="yes" IPADDR=192.168.192.20 --设置ip,与仅主机模式在同一网段网段 NETMASK=255.255.255.0 --子网掩码 GATEWAY=192.168.192.2 --网关 //重启网卡 [root@localhost ~]#systemctl restart network //ip设置成功 [root@localhost ~]#ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.192.20 netmask 255.255.255.0 broadcast 192.168.192.255 inet6 fe80::6fa1:2a57:eb7:f714 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:fc:cd:08 txqueuelen 1000 (Ethernet) RX packets 167 bytes 12741 (12.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 264 bytes 21137 (20.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

5.拷贝模板配置文件并修改

关键字段解释

//设置全局配置参数
default-lease-time 21600; –默认租约为6小时,单位为秒
max-lease-time 43200; –最大租约为12小时,单位为秒
option domain-name "benet.com"; –指定默认域名
option domain-name-servers 202.106.0.20,202.106.148.1; –指定DNS服务器地址
ddns-update-style none; –禁用DNS动态更新

//subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.100.0 netmask 255.255.255.o { –声明要分配的网段地址
range 192.168.100.128 192.168.100.200; –设置地址池
option routers 192.168.100.1; –指定默认网关地址

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf //在命令模式输入以下代码,拷贝配置文件内容 :.! cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example //我们在这里只展示关键需要修改的配置,其他的内容可以注释或删除 //设置全局配置 14 default-lease-time 21600; --设置租约时间为6小时 15 max-lease-time 43200; --设置最大租约时间为12小时 36 subnet 192.168.192.0 netmask 255.255.255.0 { --指定要分配的网段地址 37 range 192.168.192.100 192.168.192.200; --设置地址池 38 option routers 192.168.192.2; --指定默认网关地址 39 } [root@localhost ~]#systemctl restart dhcpd.service [root@localhost ~]#systemctl is-active dhcpd.service active 

6.测试DHCP服务是否可用

首先将测试客户端也设置为仅主机模式,再修改配置文件

//设置客户端dhcp动态获取ip [root@localhostmain ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" 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="d762dea5-cf23-4074-837a-1b1a7cd72ded" DEVICE="ens33" ONBOOT="yes" //重启网卡 [root@localhost ~]#systemctl restart network //客户端获取到了DHCP服务端ip地址池的其中一个ip [root@localhost ~]#ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.192.101 netmask 255.255.255.0 broadcast 192.168.192.255 inet6 fe80::7791:1d06:d2da:af8e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:3b:4b:c3 txqueuelen 1000 (Ethernet) RX packets 219 bytes 47706 (46.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 338 bytes 37742 (36.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

实验二:DHCP服务器为单机分配固定ip

1.打开win10虚拟机,打开cmd命令界面,输入ipconfig /all,查看本机MAC地址

DHCP服务简介及Linux配置实例插图3

2.在第一个实验的DHCP服务器dhcp.conf文件中增加host配置

//host主机声明(给单机分配固定的IP地址)
host hgstname{ –指定需要分配固定IP地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81; –指定该主机的MAC地址
fixed-address 192.168.4.100; –指定保留给该主机的IP地址

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf host myboss { --指定主机名,名字无要求 hardware ethernet 00:0C:29:39:8B:5A; --客户机的MAC地址,从第一步获取 fixed-address 192.168.192.188; --DHCP服务端指定分配给单客户机的ip地址 } //重启dhcp服务 [root@localhost ~]#systemctl restart dhcpd 

3.客户机cmd命令界面,先输入ipconfig /release,再输入ipconfig /renew ,发现客户机已经获取到了DHCP服务端提供的ip地址:192.168.192.188

DHCP服务简介及Linux配置实例插图4

原文链接:https://blog.csdn.net/weixin_58544496/article/details/126296776?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168449620216800192212275%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168449620216800192212275&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-5-126296776-null-null.blog_rank_default&utm_term=NAS%E3%80%81%E7%BE%A4%E6%99%96%E3%80%81%E9%98%BF%E9%87%8C%E4%BA%91%E3%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E3%80%81ipv6%E3%80%81ddns%E3%80%81%E8%BD%BB%E9%87%8F%E7%BA%A7%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E9%93%81%E5%A8%81%E9%A9%AC%E3%80%81%E5%A8%81%E8%81%94%E9%80%9A%E3%80%81DSM%E3%80%81DSM6.0%E3%80%81%E7%BE%A4%E6%99%96nas%E3%80%81%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85%E3%80%81%E9%BB%91%E7%BE%A4%E6%99%96%E3%80%81docker%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C%E3%80%81%E5%AE%9D%E5%A1%94%E3%80%81%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E3%80%81nginx%E3%80%81frp%E3%80%81%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享