轻松搭建DHCP服务器

DHCP(Dynamic Host Configuration Protocol)动态主机配置协议

DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。
DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。

DHCP的实现

轻松搭建DHCP服务器

第一步:Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCP Server。
第二步:可用的DHCP Server接收到Discover包之后,通过发送DHCP Offer包给予Client端应答,意在告诉Client端它可以提供IP地址。
第三步:Client端接收到Offer包之后,发送DHCP Request包请求分配IP。
第四步:DHCP Server发送ACK数据包,确认信息

一、DHCP服务的配置
  • 安装好yum源
  • 在yum源中查找并安装DHCP服务
[root@foundation79 ~]# yum search dhcp

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
============================== N/S matched: dhcp ===============================
dhcp-common.x86_64 : Common files used by ISC dhcp client and server
dhcp-libs.i686 : Shared libraries used by ISC dhcp client and server
dhcp-libs.x86_64 : Shared libraries used by ISC dhcp client and server
dhclient.x86_64 : Provides the ISC DHCP client daemon and dhclient-script
dhcp.x86_64 : Dynamic host configuration protocol software
dnsmasq.x86_64 : A lightweight DHCP/caching DNS server
  Name and summary matches only, use "search all" for everything.

yum 源安装dhcp:

[root@localhost ~]# yum install dhcp.x86_64 -y
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.2.5-27.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================
 Package                Arch                     Version                              Repository                  Size
=======================================================================================================================
Installing:
 dhcp                   x86_64                   12:4.2.5-27.el7                      rhel_dvd                   506 k
Transaction Summary
=======================================================================================================================
Install  1 Package

Total download size: 506 k
Installed size: 1.4 M
Downloading packages:
dhcp-4.2.5-27.el7.x86_64.rpm                                                                    | 506 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 12:dhcp-4.2.5-27.el7.x86_64                                                                         1/1 
  Verifying  : 12:dhcp-4.2.5-27.el7.x86_64                                                                         1/1 

Installed:
  dhcp.x86_64 12:4.2.5-27.el7                                                                                          

Complete!
2.更改DHCP配置文件

因为每台主机需要DHCp分配的IP范围和DNS不同,所以这些都需要用户在配置文件中进行添加。

[root@foundation79 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y

[root@foundation79 ~]# vim /etc/dhcp/dhcpd.conf
轻松搭建DHCP服务器

3.启动DHCP程序

[root@foundation79 ~]# systemctl start dhcpd
[root@foundation79 ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
重启网络:
[root@foundation79 ~]# systemctl restart network

重置server进行检测:

[root@foundation79 ~]# rht-vmctl reset server 
Are you sure you want to reset server? (y/n) y
Resetting server.
Powering off server..
Creating virtual machine disk overlay for rh124-server-vda
Creating virtual machine disk overlay for rh124-server-vdb
Starting server.

[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.25.254.188  netmask 255.255.255.0  broadcast 172.25.254.255
        inet6 fe80::5054:ff:fe00:4f0b  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:00:4f:0b  txqueuelen 1000  (Ethernet)
        RX packets 50  bytes 8215 (8.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 306  bytes 23261 (22.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

查看dhcp租约文件中的租约记录

[root@localhost ~]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

server-duid "\000\001\000\001\"\226D\255RT\000\000O\012";

lease 172.25.254.188 {
  starts 2 2018/05/22 03:02:42;
  ends 2 2018/05/22 03:12:42;
  cltt 2 2018/05/22 03:02:42;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet  52:54:00:00:4f:0b;   #分配出的网卡地址与剩余ip
}

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10405

(0)
凯影的头像凯影
上一篇 2023年12月5日 下午5:36
下一篇 2023年12月6日 下午3:58

相关推荐

  • SonarQube支持Gitlab授权登录

    背景 部署好SonarQube之后,由于我们内部使用的是自建的Gitlab仓库,即每个开发同学都有Gitlab账号,SonarQube我们就可以使用上Gitlab登录,这样就不需要再维护一套用户体系了。 环境: SonarQube8.9.2 社区版 GitLab Enterprise Edition 11.10.4-ee 具体配置: Gitlab 配置: 在…

    2023年1月20日
    59700
  • centos7 shell 支持中文显示

    其实很简单,让 shell 支持 utf8 即可。先使用locale命令看一下设置情况: LC_ALL没有设置,需要赋值en_US.UTF-8,很简单: 最后,不要忘了source一下bash_profile,让其生效。

    2023年3月14日
    31100
  • Centos7安装postgresql数据库

    1.更新源 2.安装postgresql 3.初始化数据库 4.启动数据库并设置开机启动 5.登录postgresql并设置密码 postgresql在安装时默认添加用户postgres 输入 psql 进入数据库是这样的 设置密码: 退出按:q 备注其他:列出所有库l 列出所有用户du 列出库下所有表d 6.重启数据库: 7 创建数据库跟用户 因为post…

    2023年4月11日
    36800
  • find命令排除某些目录或文件

    使用-prune开关。例如,如果要排除misc目录,只需将a添加-path ./misc -prune -o到您的find命令中: find . -path ./misc -prune -false -o -name ‘*.txt’ 这是带有多个目录的示例: find . -type d \( -path dir1 -o -path dir2 -o -pat…

    2023年6月16日
    53400
  • NtLmSsp攻击的解决办法

    问题描述 服务器无法连接或者服务器经常自动重启 问题排查 查看系统日志,在安全类目发现大量的登录审核失败的记录。 解决方法 进行NTLM策略控制,彻底阻止NTLM响应 修改以下2个设置: 网络安全:Lan管理器身份验证级别:仅发送 NTLMv2 响应/拒绝 LM 和 NTLM 网络安全:限制NTLM:传入NTLM流量 修改成拒绝所有账户

    2022年9月3日
    1.9K00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信