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

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 的基础配置就搞定了

时间: 2024-08-26 05:09:49

Linux 配置 DHCP 服务器 简明教程详解的相关文章

ubuntu 安装openssh服务器的教程详解_Linux

1.安装openssh 首先得安装 openssl 和zlib 安装openssl ---下载openssl-1.0.1j.tar.gz,解压到/usr/openssl/目录下进入解压目录 执行./config -fPIC 如下图 安装zlib---下载zlib-1.2.8.tar.gz解压到/usr/zlib/目录下 执行./configure make 和 make install命令 ok 2.下载openssh.tar.gz包解压放在/usr/openssh/目录下 解压 如图 执行 .

Linux系统安装配置PHP环境(Apache2)教程详解

在Linux环境下配置安装PHP环境(Apache2),参考了一些别人的配置方法,遇到问题上网查.下面就是安装步骤:   一.安装Apache2.2.22 1.到官网下载  http://httpd.apache.org/download.cgi    2.解压    tar  -zxvf httpd-2.2.22.tar.gz 3.建立目标文件夹(注意以下所有操作都时在root用户下执行的)    mkdir /usr/local/apache2    也就是说等下安装的apache2要安装到

Linux下配置Shadowsocks服务器的步骤详解

说明: Shadowsocks是一个轻量级的socks5代理软件, 而hadowsocks-libev是一个基于shadowsocks 协议的socks5代理软件, 相比原版,hadowsocks-libev程序体积小.高并发.资源占用更少.跨平台.完全兼容shadowsocks协议. hadowsocks-libev包括三个模块: ss-server:服务器端,部署在远程服务器,提供shadowsocks服务. ss-local:客户端,提供本地socks5协议代理. ss-redir:客户端

Linux下php安装imagick教程详解

说明: php安装目录:/usr/local/php5 php.ini配置文件路径:/usr/local/php5/etc/php.ini Nginx安装目录:/usr/local/nginx Nginx网站根目录:/usr/local/nginx/html 1.安装编译工具 yum install wget make gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch

linux中安装RHEV-M的教程详解

一.yum源配置 安装rhev-m需要配置RHEV-M.RHEV-H.Supplementary.JBoss四个源,这个实验的时候,我将其整合到了一个配置中.并将其保存到/etc/yum.repos.d/目录下.如下: [root@rhevm ~]# wget http://classroom.example.com/materials/rhevm.repo  -P /etc/yum.repos.d/ # cat /etc/yum.repos.d/rhevm.repo [RHEVMgr] nam

CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解_Mysql

MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安装配置,自定义非常方便.但在安装过程中发现,其实官方提供的安装说明文件太过简单,而且里面的参数还有问题,依照执行后,mysql 服务启动报错,查找了一些资料并反复试验后,自己总结出一套切实可行的安装配置流程,具体如下: 1.下载 MySQL for Linux Generic 二进制版本安装包(.t

Linux下安装Redis教程详解

安装Reids   Redis下载地址:http://www.redis.io/download # wget http://download.redis.io/releases/redis-2.8.13.tar.gz # cd redis-2.8.13/ # make zmalloc.o: In function `zmalloc_used_memory': /usr/local/webserver/redis-2.8.13/src/zmalloc.c:226: undefined refer

Bootstrap 4 的安装与配置教程详解

Bootstrap 4 刚刚发布了预览版,离正式版还有一段时间.不过现在我们已经可以使用 Bootstrap 4 了,看看里面有什么新东西. 最简单的方法就是使用 Bootstrap 的 CDN ,把需要的样式表与 JS 文件链接到网页上,不过这样你不能去编辑 Bootstrap ,比如去定制里面的一些选项.下面我们使用 Git 去克隆一份 Bootstrap 仓库到本地. # 进入到桌面 cd ~/desktop # 为项目创建目录并进入这个目录 mkdir ninghao-bootstrap

win7用tomcat如何让自己的电脑成为服务器,具体如何配置电脑,求高手详解!!!

问题描述 win7用tomcat如何让自己的电脑成为服务器,让同一局域网的用户可以访问,具体如何配置电脑,求高手详解!!! 解决方案 解决方案二:下载一个Tomcat安装...好像不需要刻意配置解决方案三:如果仅针对局域网不用配置什么的,你只需要给你电脑设一个IP就可以了,其它电脑通过你的ip:tomcat端口号/工程名就可以访问你的WEB工程解决方案四:还要确保你的tomcat和database已经启动解决方案五:要先关闭360防火墙,然后让别人把访问的地址改为http://主机的ip地址:8