Linux网络DHCP原理与配置

本文详细介绍了DHCP(动态主机配置协议)的工作原理及其配置方法,包括DHCP服务器的搭建与客户端的使用,并探讨了DHCP中继的原理与配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DHCP工作原理

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

■由Internet工作任务小组设计开发

■专门用于为TCP/IP参数的协议

DHCP是应用层 用的是udp 67 和68端口

(2)了解DHCP服务

■使用DHCP的好处

●减少管理员的工作量

●避免输入错误的可能

●避免IP地址冲突

●当更改IP地址段时,不需要重新配置每个用户的IP地址

●提高IP地址的利用率

●方便客户端的配置

(3)DHCP的分配方式

●自动分配:分配到一个IP地址后永久使用

●手动分配:由DHCP服务器管理专员指定IP地址

●动态分配:使用完后释放该IP,供其他客户机使用

DHCP是C/S 模式 DHCP服务端和客户端需要保持通信的,DHCP基于UDP协议,双方都有可能会主动向对方发起通讯,因此双方都需要监听端口

server端:DHCP server(运行DHCP的服务)

UDP服务:监听端口为67(bootps)

client:DHCP client (运行DHCP的程序)

UDP服务:68监听端口68(bootpc)

典型的C/S模式

在网络中架设一台专用的dhcp服务器,负责集中分配各种网络地址的参数(主要包括:ip地址、广播地址、子网掩码、默认网关地址、DNS)其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程

(4)dhcp的租约过程

■客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

■分为四个步骤

1.客户端在网络中搜索服务器
2.服务器向客户端响应服务
3.客户端向目标服务器发出服务请求
4.服务器向客户端提供服务

(5)客户端请求ip地址

●当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址

●此时DHCP客户机以广播方式发送DHCP Discover 发现信息来寻找DHCP服务器

(6)DHCP的租约过程

●DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机

●如果有,DHCP Offer的消息中,然后广播一则DHCP Offer消息

(7)客户机选择ip地址

●DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器地址保留,这样该地址就不能再分配给另一个DHCP客户机

(8)服务器确定租约

●DHCP服务器接收到DHCP Request 消息后,以DHCP ACK消息的形式向客户机刚播的成功确认,该消息包含有IP地址的有效租约和其他配置的信息

●当客户及收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化

(9)重新登陆

●DHCP客户机每次重新登录网络是,不需要在发送DHCP Discover信息,而是直接发送包含前一次分配的IP地址的DHCP Request请求信息

(10)DHCP的租约过程

■更新租约

●当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约

●客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

2、DHCP服务器的配置

(1)使用DHCP动态配置主机地址

■DHCP服务

●DHCP服为大量客户机自动分配地址,提供集中管路

●减轻管路和维护成本、提高网络配置效率

■可分配的地址信息主要包括

●网络的IP地址、子网掩码

●对应的网络地址、广播地址

●默认网管地址

●DNS服务器地址

(2)安装DHCP服务器

■DHCP服务器软件

●CentoS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm

●DHCP软件包的主要文件
主配置文件: /etc/dhcpd.conf
执行程序: /usr/sbin/dhcpd、lusr/sbin/dhcrelay

配置.DHCP服务器lslgrep dhcp
rpm -qa l grep dhcp

yum install -y dhcpcd

ls /etc/dhcp/
查看此端口是dead状态 需要开启 systemctl enable dhcpd

less dhcpd. conf
cd /usr/ share/doc/ dhcp-4.2.5/

ls

less dhcpd.conf.example

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim /etc/ dhcp / dhcpd.conf

(3) #设置全局配置参数

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动态更新

(4)dhcpd.conf的内容构成

ddns-upadte-style interim; #全局配置参数

subnet 192.168.0.0 netmask 255.255.255.0{ #网段声明

option routers 192.168.0.1; #配置选项

default-lease-time 21600; #配置参数

host ns {

fixed-address 207.175.42.254; #主机声明

(5)全局设置作用于整个DHCP服务器

ddns-update-style none;

default-lease-time 21600;

max-lease-time 43200;

option domain-name “domain.org”;

option domain-name-servers 202.106.0.20;

(6)subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)

●range参数:设置用于分配的IP地址池

●option subnet-mask参数:设置客户机的子网掩码

●option routers 参数:设置客户机的默认网关地址

subnet 192.168.80.0 netmasky 255.255.255.0{ #声明要分配的|s段地址

range 192.168.80.10 192.168.80.20; #i设置地址池

option routers 192.168.80.254; #指定默认|X地址

(7)host主机声明(给单机分配l固定的IP地址)

●hardware ethernet 参数:指定对应主机的MAC地址

●fixed-address 参数:指定为该主机保留的IP地址

host hostname { #指定需要分配固定IP地址的客’机名称

hardware ethernet 00:c0:c3:22:46:81; #指定该主机的MAC地址I

fixed-address 192.168.4.100; #指定保留给i该主机的IP地址

#后面内容可都删除
systemctl start dhcpd(打开)

systemctl stop firewalld(关闭防火墙)

setenforce o(增强功能)

(8)启动dhcp服务

[root@localhost~]#systemctl start dhcpd

[root@localhost~]#netsat -anpu | grep “:67”

#如果DHCP服务启动失败、可以查看日志文件

tail -f /var/log/meassage

查看租约文件 /var/lib/dhcpd/dhcpd.lease

[root@localhost~]#less /var/lib/dhcpd/dhcpd.lease

3、DHCP客户端的使用

(1)使用DHCP客户端
■两种使用方式

●修改网卡配置(如ifcfg-ens33)

BOOTPROTO=DHCP

●使用dhclient命令

语法格式:dhclient [-d] [网络接口名]

在ensp中配置DHCP中继

dhcp enable #开启DHCP功能#

interface Vlanif10

ip address 192.168.1.254255.255.255.0

dhcp select relay #开启DHCP中继功能

dhcp relay server-ip 192.168.80.10 #指向DHCP服务器的地址

interface vlanif20

ip address 192.168.2.254 255.255.255.0

dhcp select relay

dhcp relay server-ip 192.168.80.10

interface vlanif100

ip address 192.168.80.254255.255.255.0

dhcp select relay

dhcp relay server-ip 192.168.80.10

假设我们需要将日志记录在/var/log/目录下,我们先touch一个dhcp.log文件。

  1. .创建dhcp.log文件

#touch /var/log/dhcp.log
#chmod 640 /var/log/dhcp.log

  1. .修改/etc/dhcpd.conf配置文件,然后保存并退出删。(注意不同Linux发行版配置文件路径有所不同)

log-facility local4;

  1. .在/etc/rsyslog.conf文件中添加

#Local4.* /var/log/dhcp.log

总结:
1、DHCP工作原理(三次握手、四次挥手重点)

2、DHCP服务器配置方法

3、DHCP客户端获取IP地址

4、DHCP中继原理与配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值