DHCP服务器如何配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DHCP服务器如何配置相关的知识,希望对你有一定的参考价值。

参考技术A DHCP服务在linux下算是最简单的服务了。
DHCP服务的配置。
DHCP简介:
DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。
DHCP的工作原理:
DHCP工作过程分为四个步骤:
第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,
第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。
第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。
第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。
DHCP的基本配置:
第一步:安装软件:

[root@localhost ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm

第二步:编辑配置文件:
[root@localhost ~]# vi /etc/dhcpd.conf
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
当进入到配置文件里面时,这里是空的,有如上一行的提示,说可以参考这个文件来编写配置文件,那就复制一份再编辑。

[root@localhost ~]# cp -rvf /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@localhost ~]# vi /etc/dhcpd.conf

ddns-update-style interim; //配置DHCP和DNS为互动更新模式,
ignore client-updates; //忽略客户端的更新。

subnet 192.168.100.0 netmask 255.255.255.0 //定义作用域

option routers 192.168.100.1; //默认路由
option subnet-mask 255.255.255.0; //子网掩码

option nis-domain "rhel.com"; //NIS域名
option domain-name "rhel.com"; //DNS域名
option domain-name-servers 192.168.100.10; //DNS服务器地址

option time-offset -18000; # Eastern Standard Time //为客户端设置与格林威治的时间偏移
option ntp-servers 192.168.1.1; //网络时间服务器地址
option netbios-name-servers 192.168.1.1; //指定WINS服务器地址

range dynamic-bootp 192.168.100.128 192.168.100.254; //动态分配的地址范围
default-lease-time 21600; //默认租约时间
max-lease-time 43200; //最大租约时间

host abc //指定特定主机
hardware ethernet 00:0C:29:FD:44:C8; //硬件地址
fixed-address 192.168.100.30; //IP地址



如有多个要绑定的主机时可以把所有主机信息用group 包括起来,这样更方便管理。格式如下 :
group
……这里不可以添加一些佤全局选项,这样就不用在每个里面写了。
host abc
……
……

host xyz
……
……


[root@localhost ~]# service dhcpd restart

测试:

在linux下:
首先让地址从DHCP获取:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp

[root@localhost ~]# service network restart //重启一下网络服务,这里不能使用ifdown和ifup,因为要配置路由信息。
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:44:C8
inet addr:192.168.100.30 Bcast:192.168.100.255 Mask:255.255.255.0

这就是绑定的IP地址。
[root@localhost ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search rhel.com
nameserver 192.168.100.10
这里的DNS服务器地址也获取到了。
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth0
默认路由也获取到了。查看一下端口:
[root@localhost ~]# netstat -tlunp | grep 68
udp 0 0 0.0.0.0:68 0.0.0.0 16150/dhclient

查看客户端的租约文件:
lease
interface "eth0";
fixed-address 192.168.100.30; //固定地址
option subnet-mask 255.255.255.0; //子网掩码
option time-offset -18000; //时间偏移
option routers 192.168.100.1; //默认路由
option dhcp-lease-time 21600; //租约时间
option dhcp-message-type 5;
option domain-name-servers 192.168.100.10;
option dhcp-server-identifier 192.168.100.20;
option nis-domain "rhel.com";
option domain-name "rhel.com";
renew 5 2010/4/9 09:01:40;
rebind 5 2010/4/9 11:34:53;
expire 5 2010/4/9 12:19:53;


windows下:

把IP地址设成自动获取。
C:\Documents and Settings\Administrator>ipconfig /all
Connection-specific DNS Suffix . : rhel.com
Physical Address. . . . . . . . . : 00-0C-29-D3-C6-B3
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.100.253
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.100.1
DHCP Server . . . . . . . . . . . : 192.168.100.20
DNS Servers . . . . . . . . . . . : 192.168.100.10
Lease Obtained. . . . . . . . . . : 2010年4月9日 14:44:12
Lease Expires . . . . . . . . . . : 2010年4月9日 20:44:12

基本配置完成。

Centos8 如何配置DHCP服务器

DHCP(动态主机配置协议)用于自动为PC和其他网络设备分配IP地址,以便它们进行通信。它使用UDP协议的67端口,对客户端使用UDP端口68。DHCP操作分为四个阶段:服务器发现,IP租约报价,IP租约请求和IP租约确认。这些阶段通常缩写为DORA,用于发现,提供,请求和确认。
系统环境
Centos8

安装DHCP
DHCP服务器的地址为:192.168.43.254/24,默认网关为:192.168.43.2/24,DHCP服务器将自动为网络192.168.43.0/24中的其他设备分配IP地址。

下面是DHCP服务器的地址信息:

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
下面安装DHCP服务:

[root@localhost ~]# dnf -y install dhcp-server
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器

配置DHCP服务
DHCP服务器的主要配置文件是/etc/dhcp/dhcpd.conf。默认情况下,文件里面只有注释,提示可以参考/usr/share/doc/dhcp-server/dhcpd.conf.example文件来修改配置。
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
下面直接提供配置信息,将配置信息粘贴到dhcpd.conf文件里面,修改地址等信息即可:

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf

DHCP Server Configuration file.

see /usr/share/doc/dhcp-server/dhcpd.conf.example

see dhcpd.conf(5) man page

default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
subnet 192.168.43.0 netmask 255.255.255.0 {
range 192.168.43.101 192.168.43.200;
option routers 192.168.43.2;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.43.2;

}
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器

default-lease-time为特定设备保留10分钟(600秒)的IP地址

max-lease-time 最多保留2小时(7200秒)的IP地址。

subnet部分定义了192.168.43.0/24网络的DHCP配置。

range部分定义了可分配的IP地址,范围为192.168.43.101-192.168.43.200。

routers部分定义默认网关的地址。

subnet-mask部分定义将分配给每个主机的子网掩码。

domain-name-servers部分定义将分配给每个主机的DNS服务器地址。
配置完成之后可以使用下面命令启动dhcp服务:

[root@localhost ~]# systemctl enable dhcpd && systemctl start dhcpd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpd.service → /usr/lib/systemd/system/dhcpd.service.
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
下面查看服务是否运行:

[root@localhost ~]# systemctl status dhcpd
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器

配置防火墙
如果开启防火墙,需要在防火墙中放开dhcp服务。

[root@localhost ~]# firewall-cmd --permanent --add-service=dhcp
success
[root@localhost ~]# firewall-cmd --reload
success
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器

客户机测试
在客户端获取到了地址:
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
在客户端查看是否是192.168.43.254这台DHCP服务器分配的地址:

[root@localhost ~]# nmcli connection show ens33 |grep -i \'dhcp4.option[4]\'
DHCP4.OPTION[4]: dhcp_server_identifier = 192.168.43.254
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
可以看到dhcp服务器标识符是192.168.43.254。

设置保留IP
首先需要知道需要设置保留ip地址的服务器的网卡地址,在客户端使用ip link查看网卡的mac地址:

[root@localhost ~]# ip link
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
下面在dhcp服务端,编辑/etc/dhcp/dhcpd.conf配置文件,添加下面内容,绑定的地址为192.168.43.150:

host server {
hardware ethernet 00:0c:29:99:ee:d9;
fixed-address 192.168.43.150;
}
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
重启dhcp服务:

[root@localhost dhcp]# systemctl restart dhcpd
下面在客户端,重启一下网络服务,看看是否获取到固定地址了。
Centos8 如何配置DHCP服务器Centos8 如何配置DHCP服务器
可以看到已经获取到地址了。

总结
在本问中学习了如何在Centos8上配置DHCP服务器。我们看到主机自动从DHCP服务器获得IP地址,并且还看到了如何使用MAC地址将IP地址绑定到特定计算机。

以上是关于DHCP服务器如何配置的主要内容,如果未能解决你的问题,请参考以下文章

虚拟机设置dhcp如何连接上思科模拟器

如何配置DHCP服务器

dhcp怎么设置

h3c交换机如何配置DHCP服务器、DHCP中继、DAI和IPSG?

如何在linux下搭建dhcp服务器?最关键的配置文件有哪几个?分别有啥用?一般在linux下搭

配置DHCP服务器