一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux 配置 DHCP 服务器 简明教程详解

时间:2016-09-08 编辑:简简单单 来源:一聚教程网

DHCP 介绍

功能简介

DHCP 是一个基于 UDP 的工作在应用层的协议,用来自动分配 IP 地址。
应用实例:一个办公室有十个人,每个人每天上下班都要带着自己的笔记本,所以每次都要手动配置 IP 地址,这样简直就不是计算机该干的事情是吧。。所以 DHCP 应运而生,它能够根据服务端的配置给连接到网络的客户机自动分配 IP 地址。
提供的服务

1. 提供 IP 地址和子网掩码
2. 提供 IP 地址对应的网络地址和广播地址
3. 默认网关地址
4.DNS 服务器地址
通俗的解释

你们寝室里有六个人(对应到客户机),每个人都需要用床(对应到 IP 地址)睡觉,所以每个人回到寝室都会需要一张床。这样的话每个人每次回到寝室的时候都需要宿管(对应到网络管理员)都需要给他分配一个床位,这样就很麻烦。
现在有一个 “动态床位分配系统”(对应到 DHCP 服务器),你们每个人回到寝室的时候都会收到一张纸条,纸条上写了你可以使用哪个床位,这就简单多了。
再然后可能小明(对应到一个特定的客户机)有洁癖,他需要一个固定的床位(对应到一个需要固定 IP 的设备,比如打印机或者提供某些服务的服务器)。所以 “动态床位分配系统” 可以添加一条规则“叫小明的人来了就分配给他三号床位”,就解决了这个问题。
租约时间

DHCP 分配给客户的 IP 是以租约形式分配的。当客户接入到网络中,DHCP 便会分配一个 IP 给客户机,当租约时间到的时候如果客户机还在使用这个 IP 那么就可以续约,继续使用当前 IP 而不是从新分配一个。
在 CentOS 7.x 下搭建 DHCP 服务

0X00 安装 DHCP 服务

使用 yum、rpm、源码等方式进行安装
yum install dhcpd
0X01 配置服务器网络服务

首先我们要将本地的网络配置成静态地址,并重启网络服务
vim /etc/sysconfig/network-scripts/enp0s3
这里的enp0s3是我的网卡,你需要将这里修改成你的网卡,另外在 CentOS 7.x 以前的版本中,使用的是ethx的命名方式。
修改如下选项
BOOTPROTO=static #之前很有可能是dhcp,现在我们修改它为静态
ONBOOT=yes       #以前可能是no,改为yes、就是打开网络服务的时候启动这个网卡
IPADDR=192.168.233.1 #配置文件中可能没有这个,没有的话就自己添加这行
# 这里的IP地址可以自定义,不过最后一位最好是1,这样便于识别
然后重启网络服务,如果配置文件没有错误的话,就可以正常启动了
systemctl restart network.service
这时候我们检查一下 IP 是不是已经变成我们设置的静态 IP 了
ifconfig enp0s3
0X02 配置 DHCP 服务

配置文件在这里
vim /etc/dhcp/dhcpd.conf
打开之后会有三行注释,我们初次学习配置的时候可以先不管它,只有服务真的跑起来并生效了我们才会进一步学习是吧。
在配置文件最后添加如下内容
#设置DHCP于DNS服务器的动态信息更新模式。初学时完全可以不理这个选项,但是全局设置中一定要有这个选项,否则DHCP服务不能成功启动。
ddns-update-style interim;
#下面开始分配子网,网段是192.168.233.0 子网掩码是 255.255.255.0
#不能理解网段和子网掩码的可以去网上查一下。简单的说网段规定了分配IP的段(分配哪一段IP给客户机),子网掩码规定了网段的大小
subnet 192.168.233.0 netmask 255.255.255.0 {
    range 192.168.233.100 192.168.233.199; #分配给客户机的IP从192.168.233.100开始到192.168.233.199
    option routers 192.168.233.2; #设置网关
    default-lease-time 600; #默认租约时间
    max-lease-time 7200; #最大租约时间
}
0X03 给特定客户分配特定地址

上面也说过,如果同一网络内有需要固定 IP 的设备,我们也可以通过 DHCP 来给他分配固定的 IP。(就比如说那个有洁癖的同学)
首先要说一下 DHCP 识别主机的方式:
DHCP 通过接入客户的网卡的 MAC 地址来判断客户,所以如果你的机器有两块网卡,并且两块网卡同时接入了网络,那么 DHCP 就会认为有两个设备接入了网络,并给你的机器分配两个 IP
MAC 地址并不是 “苹果地址”。。。
MAC 地址是 “物理地址”,每块网卡在出厂的时候都会有一个全球独一无二的 MAC 地址,MAC 地址是一个 48 位 2 进制的数字,通常表达为六段两位十六进制。

下面我们继续修改 DHCP 配置文件,在刚才的配置后面追加下面的内容
host Client_C { #有一个主机,叫Client_C
    hardware ethernet 08:00:27:5e:04:27; #MAC地址是08:...:27的网卡
    fixed-address 192.168.233.123;       #分配给它192.168.233.123的IP
}
这样配置的话,不管何时,只要这个 CLient_C 接入到了这个网络中,那么它获取的 IP 就是固定的这一个,并不会变
然后重启一下 DHCP 服务就好了
systemctl restart dhcpd.service
好了,至此 DHCP 的基础配置就搞定了

热门栏目