DHCP服务器配置

DCHP(Dynamic Host Configuration Protocol)

3.1 DHCP工作流程

3.1.1客户端发送请求

用户端电脑的网卡设置为自动获取(DHCP)的方式,当用户端电脑开机或重新启动网卡时,用户端电脑会发出一个DHCPDISCOVER广播包(目标IP:255.255.255.255),搜索DHCP服务器在哪儿,这个广播包,只有DHCP服务器才会响应,其它主机收到后直接丢弃。

 

3.1.2 DHCP服务器回应

DHCP服务器收到客户端的广播包后,会进行下面3个操作:

(1)查看自动分配记录,根据有没有该用户(MAC地址)的记录,如果有,并且对应的IP地址目前还没有分配出去,就把该IP及相关信息分配给该用户

(2)查看绑定记录,如果有该客户端的MAC地址绑定记录,就把对应的IP分配给客户端。

(3)如果没有记录,就从IP地址池中找一个还没有分配的IP,加上租期等相关信息,向客户端发送一个DHCPOFFER包,并做好记录。

3.1.3 客户端选择

如果有多台DHCP服务器,都收到了客户端请求,并且都为该客户端分配了IP,客户端只会接受最先收到的那一个。然后再发送一个DHCPREUQEST广播包,向整个网络宣告自己接受的DHCP服务器是哪个。当其它DHCP服务器收到这个包后,就收回向该客户端发送的IP租约。

3.1.4 服务器确认

当被客户端接受的DHCP服务器收到客户端发送的DHCPREQUEST包后,会再给客户端发送一个包含IP地址及相关信息的DHCPACK确认包,并告知客户端,从现在开始计算租约时间。

3.1.5 客户端配置

客户端收到确认包后,就用收到的IP地址及相关信息来配置自己的网络

3.1.6 客户端重新登陆

客户端处于离线状态(关机、重启、禁用网卡)时,DHCP服务器会收回该客户端的IP。

当客户端重新登录时,不需要发送DHCP discover信息,而是直接发送包含前一次所分配的IP地址的DHCP request信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户端继续使用原来的IP地址,并回答一个DHCP ACK信息。如果此IP地址已无法再分配给原来的DHCP客户端使用(比如该IP地址已分配给其他DHCP客户端使用),则DHCP服务器给DHCP客户端回答一个DHCP NACK信息。当客户端收到此信息后,必须重新发送DHCP discover信息来请求新的IP地址。

3.1.7 续租

为了防止一些用户长期占用IP,所以需要设定一个租约时间,租约时间有两种方式:

1.DHCP服务器分配IP时指定

2.客户端发送请求的时候,自己指定

如果在这个期限到达之前,客户端没有重新提出申请,DHCP服务器就会收回该IP,这时,客户端就会断线。所以客户端需要定时发送续约申请,并且必须在租约到期之前。

默认,DHCP客户端会在租约时间一半时就去重新申请了。

 

3.2配置DHCP服务器

3.2.1装包

yum install -y dhcp

3.2.2修改配置文件

#默认配置文件里是空的,可拷贝模板文件,再进行修改

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

vim /etc/dhcp/dhcpd.conf

ddns-update-style none;    # DHCP和DNS服务器同步更新,也就是动态DNS,如果要开启,将none改成interim

default-lease-time 259200;    # 默认租约为3天,以秒为单位

max-lease-time 518400;   # 最大租约为6天,客户端申请租约限制,如果客户端请求未明确租约时间,采用默认租约

option routers 10.0.0.1; # 网关

option domain-name “example.com”;   # 域名

option domain-name-servers 8.8.8.8,8.8.4.4; # DNS,以逗号分隔

#以上为全局设置,如果不想在全局使用,也可在下面subnet设置里面局部设置。

 

subnet 10.0.0.0 netmask 255.255.255.0 {

range 10.0.0.10 10.0.0.20; # 设置动态分配IP地址范围

host tt { # 设置静态绑定

hardware ethernet 00:0c:29:38:ae:a6; # MAC地址

fixed-address 10.0.0.100; # 绑定的IP

}  

}

 

注意:做静态分配的IP要和动态分配的IP段分开,否则会引起冲突。

 

3.2.3 重启DHCP服务,并开机启动

systemctl restart/enable dhcpd

3.3客户端设置

vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 配置网卡

BOOTPROTO=dhcp

systemctl restart network # 重启网络

cat /etc/resolv.conf # 查看DNS

cat /var/lib/dhclient/dhclient-eth0.leases # 查看DHCP相关信息

3.4在DHCP服务器查看分配状态

cat /var/lib/dhcpd/dhcpd.leases # 查看服务器已经自动分配的IP信息

systemctl status dhcpd -l

 

dhcp的log日志跟messages在一起:   tail -f /var/log/messages

dhcp的租约信息放在: /var/lib/dhcpd/dhcpd.leases

# 换了网线后上不了网,清空dhcpd.leases租约信息

配置文件的示例文件:/usr/share/doc/dhcp-*/dhcpd.conf.sample 

DHCP(动态主机配置协议)是一种计算机网络协议,它允许在网络上的计算机自动获得IP地址和其他网络参数,而无需手动配置DHCP服务器是负责分配IP地址和其他网络参数的服务程序。以下是DHCP服务器在Linux中的配置步骤: 1. 安装DHCP服务器软件:在Linux系统中,DHCP服务器软件通常是dhcpd包。使用命令行终端运行以下命令安装软件: ``` sudo apt-get install isc-dhcp-server ``` 2. 配置DHCP服务器:编辑/etc/dhcp/dhcpd.conf文件。该文件包含DHCP服务器的所有配置信息。在此文件中,您需要指定DHCP服务器要分配的IP地址范围,子网掩码和默认网关等参数。例如,以下是一个简单的配置示例: ``` subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 8.8.8.8; } ``` 这个示例配置了一个子网,其中IP地址范围是从192.168.1.100到192.168.1.200,子网掩码为255.255.255.0。默认网关是192.168.1.1,DNS服务器为8.8.8.8。 3. 配置DHCP服务器接口:打开/etc/default/isc-dhcp-server文件,将DHCP服务器要使用的接口名称添加到INTERFACES变量中。例如: ``` INTERFACES="eth0" ``` 这个示例将DHCP服务器配置在eth0接口上。 4. 启动DHCP服务器:运行以下命令启动DHCP服务器: ``` sudo service isc-dhcp-server start ``` 现在,DHCP服务器已经配置完毕并启动。它将为连接到指定接口的设备分配IP地址和其他网络参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值