linux下的dhcp服务器的搭建

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

dhcp的主要功能就是给局域网内部自动分配IP地址的。

早期的无盘工作站。bootp是dhcp的前身。为了和服务器通信就需要建立通信,但因为硬盘在服务器那里。这就需要一种特殊的网卡,这种网卡用自己MAC地址来请求一个ip地址,但只要申请到ip,只要标记上,MAC和ip地址就永久对应上了。

dhcp有一个概念就是租约,这不同于bootp,分到ip的主机有一定时常的租期,但只要一关机,这个ip就立马收回。下次开机就需要从新申请ip地址。如果想持续使用ip就需要续租。当租期到达一半就需要发起续租请求了。并且每再过去时间一半就要续租。

DHCP过程:

Client --> DHCPDISCOVER

DHCPOFFER <--Server

Client --> DHCPREQUEST

DHCPACK <-- Server (这4个包都是广播过程)

DHCP Relay (中继器)可以给不同网段分配ip地址

下面介绍一下dhcp服务器的搭建(我是在CentOS7下搭建的)

1.首先 使用yum命令查看dhcp包。


2.下面使用yum install 安装dhcp包


3.安装完成之后就可以配置他的配置文件了。(在/etc/dhcp这个目录下)

这个目录下有2个文件,要用的那个就是dhcpd.conf了。打开它

linux下的dhcp服务器的搭建_第1张图片

发现下面什么都没有,但是他提供了一个路径存放有配置文件的模板。去copy过来就好了。就是那个/usr/share/doc/dhcp-4.2.5下的example文件。拷过来,覆盖掉这个空文件。

4.打开这个文件第7,8行选择域名和域名服务器。这里我将域名服务器设置成了221.11.1.67.这是陕西网通的DNS。defaul-lease-time 是默认租约期限。max-lease-time是最大租约期限。单位是秒 。下图是我改的

linux下的dhcp服务器的搭建_第2张图片

log-facility是和日志的存放位置相关。这个不用改。

5.删掉这里的24行到28行,这个没有用。就是下面四行。


24 # No service will be given on this subnet, but declaring it helps the 
 25 # DHCP server to understand the network topology.
 26 
 27 subnet 10.152.187.0 netmask 255.255.255.0 {
 28 }

6.修改27行到30行的subnet(注意下图,行号变了)

linux下的dhcp服务器的搭建_第3张图片

subnet后面紧跟自己所要分配的网络段和子网掩码。 range后跟要分配的ip地址范围。routers后跟分配网络的网关。

7.既然这个普通版的配置写了,那些其他高级版的就可以删除了。删除以下行。

 32 # This declaration allows BOOTP clients to get dynamic addresses,
 33 # which we don't really recommend.
 34 
 35 subnet 10.254.239.32 netmask 255.255.255.224 {
 36   range dynamic-bootp 10.254.239.40 10.254.239.60;
 37   option broadcast-address 10.254.239.31;
 38   option routers rtr-239-32-1.example.org;
 39 }
 40 
 41 # A slightly different configuration for an internal subnet.
 42 subnet 10.5.5.0 netmask 255.255.255.224 {
 43   range 10.5.5.26 10.5.5.30;
 44   option domain-name-servers ns1.internal.example.org;
 45   option domain-name "internal.example.org";
 46   option routers 10.5.5.1;
 47   option broadcast-address 10.5.5.31;
 48   default-lease-time 600;
 49   max-lease-time 7200;
 50 }
 51 

8.更改host fantasia这里。可以给特定MAC地址的主机留一个专门的IP地址,所以我就专门给 00:0c:29:c6:3c:ee这个主机留个88的ip号。


除了我说到的地方,其他地方其实都可以删去了。下来退出保存。。

9.这下使用systemctl start dhcpd 就可以启动dhcp服务器了。使用systemctl status dhcpd查看状态。



在 /var/lib/dhcpd/下的dhcpd.lease文件中就可以看到都有谁从我这拿了IP地址。(刚一搭建好就有人来拿IP了。。。)

linux下的dhcp服务器的搭建_第4张图片


服务器端和客户端都是用端口来监听的。客户端使用udp的68号端口,服务器端使用67号端口。



刚才上面有个问题,指定特定IP时应该避开ip池里的IP(都是小问题啦,就不改了)


你可能感兴趣的:(linux,服务器,管理)