Linux下快速部署DHCP服务器具体方法

DHCP是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网,下面为大家讲解一下Linux下快速部署DHCP服务器具体方法。

测试环境设置

在这步中我们会使用如下的测试环境。

  • DHCP Server – Ubuntu 16.04
  • DHCP Clients – CentOS 7 and Fedora 25

步骤 1:在 Ubuntu 中安装 DHCP 服务器

1、 运行下面的命令来安装 DHCP 服务器包,也就是 dhcp3-server

$ sudo apt install isc-dhcp-server

2、 安装完成后,编辑 /etc/default/isc-dhcp-server 使用 INTERFACES 选项定义 DHCPD 响应 DHCP 请求所使用的接口。

比如,如果你想让 DHCPD 守护进程监听 eth0,按如下设置:

INTERFACES="eth0"

同样记得为上面的接口配置静态地址。

步骤 2:在 Ubuntu 中配置 DHCP 服务器

3、 DHCP 配置的主文件是 /etc/dhcp/dhcpd.conf, 你必须填写会发送到客户端的所有网络信息。

并且 DHCP 配置中定义了两种不同的声明,它们是:

  • parameters – 指定如何执行任务、是否执行任务,还有指定要发送给 DHCP 客户端的网络配置选项。
  • declarations – 定义网络拓扑、指定客户端、为客户端提供地址,或将一组参数应用于一组声明。

4、 现在打开并修改主文件,定义 DHCP 服务器选项:

$ sudo vi /etc/dhcp/dhcpd.conf

在文件顶部设置以下全局参数,它们将应用于下面的所有声明(请指定适用于你情况的值):

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600;
max-lease-time 7200;
authoritative;

5、 现在定义一个子网,这里我们为 192.168.10.0/24 局域网设置 DHCP (请使用适用你情况的参数):

subnet 192.168.10.0 netmask 255.255.255.0 {
 option routers                  192.168.10.1;
 option subnet-mask              255.255.255.0;
 option domain-search            "tecmint.lan";
 option domain-name-servers      192.168.10.1;
 range   192.168.10.10   192.168.10.100;
 range   192.168.10.110   192.168.10.200;
}

步骤 3:在 DHCP 客户端上配置静态地址

6、 要给特定的客户机分配一个固定的(静态)的 IP,你需要显式将这台机器的 MAC 地址以及静态分配的地址添加到下面这部分。

host centos-node {
 hardware ethernet 00:f0:m4:6y:89:0g;
 fixed-address 192.168.10.105;
}
host fedora-node {
 hardware ethernet 00:4g:8h:13:8h:3a;
 fixed-address 192.168.10.106;
}

保存并关闭文件。

7、 接下来,启动 DHCP 服务,并让它下次开机自启动,如下所示:

------------ SystemD ------------
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service
------------ SysVinit ------------
$ sudo service isc-dhcp-server.service start
$ sudo service isc-dhcp-server.service enable

8、 接下来不要忘记允许 DHCP 服务(DHCP 守护进程监听 67 UDP 端口)的防火墙权限:

$ sudo ufw allow  67/udp
$ sudo ufw reload
$ sudo ufw show

步骤 4:配置 DHCP 客户端

9、 此时,你可以将客户端计算机配置为自动从 DHCP 服务器接收 IP 地址。

登录到客户端并编辑以太网接口的配置文件(注意接口名称/号码):

$ sudo vi /etc/network/interfaces

定义如下选项:

auto  eth0
iface eth0 inet dhcp

保存文件并退出。重启网络服务(或重启系统):

------------ SystemD ------------
$ sudo systemctl restart networking
------------ SysVinit ------------
$ sudo service networking restart

另外你也可以使用 GUI 来在进行设置,如截图所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。

老司机教你快速安装DHCP服务器!老司机教你快速安装DHCP服务器!

此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。

就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如果你正在使用基于 Fedora 的发行版,请阅读如何在 CentOS/RHEL 中设置 DHCP 服务器。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/15367.html

(0)
晴川运维晴川运维
上一篇 2025年10月10日
下一篇 2025年10月10日

相关推荐

  • C++中常量与指针讲解

    在C++学习使用过程中,每个人都不可避免地使用指针,而且都或多或少的接触过常量指针或指针常量,但是对这两个的概念还是很容易搞糊涂的,所以这篇文章主要给大家介绍了关于C++中常量与指…

    Linux系统 2025年10月19日
  • 在 Linux 上使用 systemd 设置定时器

    学习使用 systemd 创建启动你的游戏服务器的定时器。 之前,我们看到了如何手动的、在开机与关机时、在启用某个设备时、在文件系统发生改变时 启用与禁用 systemd 服务。 …

    Linux系统 2025年6月8日
  • Linux 服务器状态监控方法

    Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展,本篇重点为大家讲解一下Li…

    Linux系统 2025年10月9日
  • 详解Linux /etc/shadow文件

    linux的root密码存在于“/etc/shadow”这个文件中,不过要有root权限才能在linux下看到“/etc/shadow”这个文件,本篇文章重点为大家讲解一下Linu…

    Linux系统 2025年6月4日
  • Linux下使用ulimit提高系统性能具体方法

    Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux用户的最大进程数,我们可以用ulimit来显示当前的各种用户进程限制,ulimit为…

    Linux系统 2025年10月27日
  • 如何让网站不下线而从 Redis 2 迁移到 Redis 3

    我们在 Sky Betting&Gaming 中使用 Redis 作为共享内存缓存,用于那些需要跨 API 服务器或者 Web 服务器鉴别令牌之类的操作。在 Core Tribe …

    Linux系统 2025年10月8日
  • CSS Fonts(字体)设置方法

    使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离,本篇文章重点为大家讲解一下CSS字体设置方法。 serif和sans-serif字体之间的区别 …

    Linux系统 2025年6月16日
  • Linux下应该以这样的方式运行jar包

    当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行。 首先想到的可能就是通过 java -jar xx…

    Linux系统 2025年6月8日
  • 对你的Linux进行冻结或锁定

    冻结终端窗口并锁定屏幕意味着什么 – 以及如何在 Linux 系统上管理这些活动。 如何在 Linux 系统上冻结和“解冻”屏幕,很大程度上取决于这些术语的含义。有时“冻结屏幕”可…

    Linux系统 2025年6月28日
  • 讲解一下ES6 async关键字的使用方法

    async 作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行。 async 语法 asy…

    Linux系统 2025年6月12日

发表回复

登录后才能评论