Linux-DHCP安装配置流程

DHCP

介绍

DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于在局域网(LAN)中自动分配IP地址和其他网络配置信息给计算机设备。DHCP旨在简化网络管理,允许设备自动获取IP地址,无需手动配置,从而降低了网络配置的复杂性和管理工作量。

在Linux中,可以通过安装DHCP服务器软件来实现DHCP功能,常用的DHCP服务器软件有ISC DHCP Server和dnsmasq。这些DHCP服务器软件允许Linux系统充当DHCP服务器,为局域网中的设备提供IP地址和其他网络配置信息。

以下是DHCP服务器在Linux中的主要功能和工作原理:

  1. IP地址分配

    DHCP服务器负责将IP地址动态分配给局域网中的设备。当设备加入网络时,DHCP客户端软件会发送一个DHCP请求,请求分配一个IP地址。DHCP服务器接收请求后,从预先配置的地址池中选择一个可用的IP地址,并将其分配给设备。

  2. 网关和子网掩码分配

    DHCP服务器不仅分配IP地址,还分配网关和子网掩码等网络配置信息。这些信息允许设备正确地与其他网络设备进行通信,实现互联网访问。

  3. 租约管理

    DHCP服务器分配的IP地址是有限的资源,为了合理利用IP地址,DHCP服务器通过租约管理机制对分配的IP地址进行管理。每个设备被分配一个IP地址时,会与DHCP服务器建立一个租约,指定IP地址的租期。在租约到期前,设备可以继续使用该IP地址。如果租约到期后设备继续存在于网络上,它需要重新请求IP地址,否则该IP地址会被释放供其他设备使用。

  4. 动态更新

    DHCP服务器允许设备在连接网络时动态地获取IP地址和其他配置信息。这样,设备的网络配置可以根据不同的网络环境和场景进行动态更新。

DHCP服务器软件的配置文件允许管理员定义IP地址池、网关、子网掩码、租约时长和其他网络配置选项。通过正确配置DHCP服务器,可以大大简化网络管理,提高网络的可扩展性和灵活性。

linux中配置

  • 安装dhcp相关的软件包

    [root@ydh ~]# yum install dhcp -y

    [root@ydh ~]# cd /etc/dhcp/
    [root@ydh dhcp]# ls
    dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts

  • 修改配置文件

拷贝样例文件到/etc/dhcp目录

[root@ydh dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

dhcp服务器里的网关或者dns服务器配置错误,就会误导客户机上不了网

[root@ydh dhcp]# cat dhcpd.conf 
# have to hack syslog.conf to complete the redirection).
log-facility local7;#指定日志类型

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

# A slightly different configuration for an internal subnet.
subnet 192.168.2.0 netmask 255.255.255.0 { #指定分配ip地址的网段号和子网掩码
  range 192.168.2.210  192.168.2.240; #指定地址池的范围,必须是上面的网段里的ip
  option domain-name-servers 114.114.114.114; #指定dns服务器地址
  option routers 192.168.2.1; #指定网关
  default-lease-time 600; #最短租约时间600秒
  max-lease-time 7200; #最长租约时间7200秒
}
  • 启动

    [root@ydh dhcp]# service dhcpd start
    Redirecting to /bin/systemctl start dhcpd.service

看进程、看端口

[root@ydh dhcp]# ps aux|grep dhcp
dhcpd      2044  0.0  0.8 105992  8104 ?        Ss   21:13   0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
root       2048  0.0  0.0 112824   988 pts/0    S+   21:15   0:00 grep --color=auto dhcp

[root@ydh dhcp]# netstat -anplut
  • 测试使用

再开一台linux服务器做客户机,网卡类型选择nat/hostonly模式,前面的linux dhcp服务器网卡也改为nat/hostonly模式

nfs 这台linux测试机也改为nat/hostonly
要把VMware 在hostonly 网卡类型上的dhcp功能关闭,因为一个局域网里最好只有一个dhcp服务器,不然会抢生意的

nfs测试机重新获得ip

service network restart  
ifdown ens33;ifup ens33

nfs测试查看ip地址是谁分配的

dhclient -lf  /var/lib/dhclient/dhclient.leases   #保存租约信息到文件dhclient.leases

cat /var/lib/dhcpd/dhcpd.leases

dhcp服务器直接cat /var/lib/dhcpd/dhcpd.leases查看

这是一开始的

[root@ydh dhcp]# 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,U*\000\000\014)\020\"=";

可以看到dhcp已经成功分配了一个ip地址了

相关推荐
叫我龙翔4 分钟前
【计网】实现reactor反应堆模型 --- 多线程方案优化 ,OTOL方案
linux·运维·网络
mit6.8246 分钟前
[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题
linux·运维·docker·容器·架构
Z1eaf_complete9 分钟前
Docker的基础使用
运维·docker·容器·云计算
WangYaolove131424 分钟前
请解释Python中的装饰器是什么?如何使用它们?
linux·数据库·python
群联云防护小杜38 分钟前
服务器被挂马怎么办?——解决服务器被挂马的方法和步骤
运维·服务器·网络协议·tcp/ip·安全·ddos
明志致远淡泊宁静43 分钟前
记录一次服务器redis被入侵
运维·服务器·redis
Jtti43 分钟前
Jtti:服务器总是自动重启怎么办?
运维·服务器
我是黄大仙1 小时前
利用飞书多维表格自动发布版本
运维·服务器·数据库·飞书
7yewh1 小时前
嵌入式硬件实战提升篇(一)-泰山派RK3566制作多功能小手机
linux·arm开发·驱动开发·嵌入式硬件·物联网·智能手机·硬件架构
YRr YRr1 小时前
ubuntu ros 解决建完图后 保存的地图非常小的问题
linux·运维·ubuntu