大型企业网络DHCP服务器配置安装实践@FreeBSD

企业需求

需要为企业里的机器配置一台DHCP服务器。因为光猫提供DHCP服务的能力很差,多机器dhcp+多机器NAT拓扑方式机器一多就卡顿。使用一台路由器来进行子网络的dhcp和NAT服务,分担光猫负载,但是还有一部分机器需要放到光猫网络,这就需要再安装一台DHCP服务器。

技术选型

经过深思熟虑,这次我们选择使用isc-dhcp-server

isc-dhcp-server介绍

isc-dhcp-server 是一个开源的DHCP服务器软件,通常用于在Linux系统上自动分配IP地址给网络中的客户端。以下是关于 isc-dhcp-server 的详细介绍:

1. 软件概述

  • 名称isc-dhcp-server
  • 类型:开源DHCP服务器软件
  • 平台:支持在Linux系统上运行
  • 功能:为网络中的客户端自动分配IP地址、子网掩码、默认网关等网络配置信息

2. 安装与配置

安装

在基于Debian或Ubuntu的系统上,可以使用以下命令安装 isc-dhcp-server

sudo apt-get update  
sudo apt-get install isc-dhcp-server
配置
  • 主要配置文件/etc/dhcp/dhcpd.conf

  • 其他相关文件/etc/default/isc-dhcp-server(可能包含服务器的一些默认设置)

  • 配置内容:通常包括域名、DNS服务器地址、默认租期时间、子网定义等。例如:

# 设置域名  
option domain-name "example.com";  
# 设置DNS服务器  
option domain-name-servers ns1.example.com;  
# 设置默认租期时间  
default-lease-time 600;  
# 设置子网  
subnet 192.168.1.0 netmask 255.255.255.0 {  range 192.168.1.10 192.168.1.100;  option routers 192.168.1.1;  option subnet-mask 255.255.255.0;  
}

3. 工作原理

DHCP服务器负责维护一个IP地址池,当网络中的客户端请求IP地址时,服务器会从地址池中分配一个可用的IP地址给客户端,并记录相关信息(如分配的IP地址、租期等)。客户端在租期到期前可以续租IP地址,如果租期到期且没有续租,服务器会回收该IP地址供其他客户端使用。

4. 应用场景

  • 大型企业网络:在大规模的网络环境中,手动配置每台设备的IP地址是不现实的。使用DHCP服务器可以自动分配IP地址,减少管理成本。
  • 公共网络环境:如咖啡馆、图书馆等公共场所的Wi-Fi网络,使用DHCP服务器可以为来访者自动分配IP地址,提供便捷的上网体验。
  • 动态网络环境:在需要频繁添加或删除设备的网络环境中,使用DHCP服务器可以快速地分配或回收IP地址,适应网络的变化。

5. 注意事项

  • 在配置DHCP服务器时,需要确保服务器具有静态IP地址,并正确设置子网掩码、默认网关等网络参数。
  • 需要根据实际需求合理配置IP地址池的大小和租期时间,以避免IP地址耗尽或频繁更换IP地址带来的问题。
  • 在生产环境中部署DHCP服务器时,应确保服务器的安全性和稳定性,避免因为服务器故障或安全漏洞导致网络中断或数据泄露等问题。

 

安装配置实践

操作系统一如既往选择FreeBSD,所以我们要在FreeBSD系统安装 dhcp服务。

安装isc-dhcp-server

先用pkg search看看有哪些版本

pkg search dhcp
pkg: No SRV record found for the repo 'FreeBSD'
dhcp6-20080615.2_4             KAME DHCP6 client, server, and relay
dhcp_probe-1.3.1_2             Attempts to discover DHCP and BootP servers on a network
dhcpcd-10.0.6                  DHCP/IPv4LL/IPv6RS/DHCPv6 client
dhcpcd-ui-0.7.9_1              GTK / Curses interface to dhcpcd
dhcpd-6.6.20200413_1           OpenBSD dhcp daemon
dhcpd-pools-3.1_1              Tool to analyze isc-dhcp pool usage based on leases
dhcpdump-1.8_1                 Decode and diagnose sniffed DHCP packets
dhcping-1.2_1                  Send DHCP request to DHCP server for monitoring purposes
dhcprelya-6.1_1                Lightweight DHCP relay agent (Yandex edition)
isc-dhcp44-client-4.4.3P1_1    The ISC Dynamic Host Configuration Protocol client
isc-dhcp44-relay-4.4.3P1_1     The ISC Dynamic Host Configuration Protocol relay
isc-dhcp44-server-4.4.3P1_1    ISC Dynamic Host Configuration Protocol server
nagios-check_dhcp.pl-0.1       Check the availability of a DHCP server using unicast delivery
p5-Net-DHCP-0.700              DHCP set of classes designed to handle basic DHCP handling
p5-Net-DHCP-Watch-2.03_1       Class for monitoring a remote DHCPD server
p5-Net-DHCPClient-1.0_1        Perl implementation of a DHCP client API
p5-Text-DHCPLeases-1.0_1       Perl extension to parse DHCP leases file from ISC dhcpd
pxe-pdhcp-0.0.2007_1           Preboot Execution Environment server

查到当前的版本为:isc-dhcp44-server-4.4.3P1_1    ISC Dynamic Host Configuration Protocol server 

使用pkg安装

pkg install isc-dhcp44-server

安装好后提示:

Message from isc-dhcp44-server-4.4.3P1_1:--
****  To setup dhcpd, please edit /usr/local/etc/dhcpd.conf.****  This port installs the dhcp daemon, but doesn't invoke dhcpd by default.If you want to invoke dhcpd at startup, add these lines to /etc/rc.conf:dhcpd_enable="YES"				# dhcpd enabled?dhcpd_flags="-q"				# command option(s)dhcpd_conf="/usr/local/etc/dhcpd.conf"	# configuration filedhcpd_ifaces=""				# ethernet interface(s)dhcpd_withumask="022"			# file creation mask****  If compiled with paranoia support (the default), the following rc.confoptions are also supported:dhcpd_chuser_enable="YES"		# runs w/o privileges?dhcpd_withuser="dhcpd"		# user name to run asdhcpd_withgroup="dhcpd"		# group name to run asdhcpd_chroot_enable="YES"		# runs chrooted?dhcpd_devfs_enable="YES"		# use devfs if available?dhcpd_rootdir="/var/db/dhcpd"	# directory to run indhcpd_includedir="<some_dir>"	# directory with config-files to include****  WARNING: never edit the chrooted or jailed dhcpd.conf file but/usr/local/etc/dhcpd.conf instead which is always copied whereneeded upon startup.

开始配置

在/etc/rc.conf文件中加入如下内容

dhcpd_enable="YES"                              # dhcpd enabled?
dhcpd_flags="-q"                                # command option(s)
dhcpd_conf="/usr/local/etc/dhcpd.conf"  # configuration file
dhcpd_ifaces="igb0"                             # ethernet interface(s)

也可以在终端使用命令:

% sysrc dhcpd_enable="YES"
% sysrc dhcpd_ifaces="igb0"
% sysrc dhcpd_conf="/root/etc/dhcpd.conf"

配置/usr/local/etc/dhcpd.conf文件,加入

option domain-name "example.com";
option domain-name-servers 114.114.114.114,8.8.8.8;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.50 192.168.1.99;option broadcast-address 192.168.1.255;option routers 192.168.1.1;
}
option domain-name "example.com";
option domain-name-servers 114.114.114.114,8.8.8.8;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.50 192.168.1.99;option broadcast-address 192.168.1.255;option routers 192.168.1.1;
}

启动服务

service isc-dhcpd  start

这样服务就起来了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/858315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

torchinfo这个包中的summary真的很好用

1.安装直接使用 pip 进行安装即可&#xff1a; pip install torchinfo 2.导入该模块 from torchinfo import summary 3.使用模块 summary(model)#这里的model是你自己的model&#xff0c;可以添加参数进去 4.效果图&#xff1a; 第一个图片是直接打印model吗&#xff0c;…

SpringBoot+ENC实现密钥加密及使用原理

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; SpringBootENC实现密钥加密及使用原理 ⏱️ 创作时间&#xff1a; 202…

K8s部署高可用Jenkins

小伙伴们大家好呀&#xff01;断更了近一个月&#xff0c;XiXi去学习了一下K8s和Jenkins的相关技术。学习内容有些庞杂&#xff0c;近一个月的时间里我只学会了一些皮毛&#xff0c;更多的内容还需要后面不断学习&#xff0c;不断积累。最主要的是云主机真得很贵&#xff0c;为…

注意 llamaIndex 中 Chroma 的坑!

llamaIndex 做索引是默认存在内存中&#xff0c;由于索引需要通过网络调用 API&#xff0c;而且索引是比较耗时的操作&#xff0c;为了避免每次都进行索引&#xff0c;使用向量数据库进行 Embedding 存储以提高效率。首先将 Document 解析成 Node&#xff0c;索引时调用 Embedd…

一、系统学习微服务遇到的问题集合

1、启动了nacos服务&#xff0c;没有在注册列表 应该是版本问题 Alibaba-nacos版本 nacos-文档 Spring Cloud Alibaba-中文 Spring-Cloud-Alibaba-英文 Spring-Cloud-Gateway 写的很好的一篇文章 在Spring initial上面配置 start.aliyun.com 重新下载 < 2、 No Feign…

力扣SQL50 求关注者的数量 分组计数

Problem: 1729. 求关注者的数量 Code select user_id, count(1) followers_count from Followers group by user_id order by user_id;

运算放大器(运放)低通滤波反相放大器电路和积分器电路

低通滤波反相放大器电路 运放积分器电路请访问下行链接 运算放大器(运放)积分器电路 设计目标 输入ViMin输入ViMax输出VoMin输出VoMaxBW&#xff1a;fp电源Vee电源Vcc–0.1V0.1V–2V2V2kHz–2.5V2.5V 设计说明 这款可调式低通反相放大器电路可将信号电平放大 26dB 或 20V/…

全面理解-Flutter(万字长文,深度解析)

1、Web 性能差&#xff0c;跟原生 App 存在肉眼可见的差距&#xff1b; 2、React Native 跟 Web 相比&#xff0c;支持的能力非常有限&#xff0c;特定长场景问题&#xff0c;需要三端团队一个一个处理&#xff1b; 3、Web 浏览器的安卓碎片化严重&#xff08;感谢 X5&#x…

【C++算法】——高精度(加,减,乘,除)

前言 高精度算法就是为了去解决一些比较大的数&#xff0c;这些数大到long long都存不下。&#xff0c;这里的主要思想就是用字符串来存。 下面的内容有很多用到c的容器&#xff0c;不明白的可以先去学习stl。 一 高精度加法 首先第一步就是去模拟我们自己写的加法&#xff…

Nikto一键扫描Web服务器(KALI工具系列三十)

目录 1、KALI LINUX 简介 2、Nikto工具简介 3、信息收集 3.1 目标IP&#xff08;服务器) 3.2kali的IP 4、操作实例 4.1 基本扫描 4.2 扫描特定端口 4.3 保存扫描结果 4.4 指定保存格式 4.5 连接尝试 4.6 仅扫描文件上传 5、总结 1、KALI LINUX 简介 Kali Linux 是一…

2024最新版:C++用Vcpkg搭配VS2022安装matplotlib-cpp库

matplotlib-cpp是一个用于在C中使用matplotlib绘图库的头文件库。它提供了一个简单的接口&#xff0c;使得在C中创建和显示图形变得更加容易。这个库的灵感来自于Python的matplotlib库&#xff0c;它使得在C中进行数据可视化变得更加便捷。 matplotlib-cpp允许在C中使用类似Py…

CTFHUB-SSRF-端口扫描

已经提示我们需要扫描8000~9000的端口 ?urlhttp://127.0.0.1:8000/flag.php 访问用burp抓包爆破 通过Burp扫描8000-9000端口开放的web服务&#xff0c;发现8718开放web服务

QML 列表,图片展示(一)

文章目录 1.QML 列表&#xff0c;图片展示效果图2.项目基本说明3.项目详解3.1界面显示部分3.2 网络部分 4.源代码5.flickr图片查询链接&#xff0c;后面我们将调整代码&#xff0c;获取更多图片 1.QML 列表&#xff0c;图片展示效果图 2.项目基本说明 该项目来自Qt示例程序 Ph…

MySQL数据库(一):数据库介绍与安装

在嵌入式开发中&#xff0c;数据库的重要性体现在高效的数据存储和管理、数据持久化、复杂查询和处理、数据同步和共享、安全性和可扩展性。常见嵌入式数据库包括SQLite、MySQL、LevelDB等&#xff0c;应用于智能家居、工业控制、车载系统和物联网设备&#xff0c;提升了系统功…

关于 pnpm monorepo 项目中 TS2742 Error 的 workaround

最近我在使用 pnpm 作为包管理器开发一个 monorepo 项目&#xff0c;从个人体验来说&#xff0c;在 monorepo 项目中&#xff0c;pnpm 确实要比 yarn classic 用得舒心&#xff0c;最让我欣喜的是 pnpm 对 workspace 协议的支持度很好&#xff1b;另外感受比较明显的一点就是&a…

Nginx+Lua+Redis 实现Nginx301跳转配置管理

业务场景需求 long long ago&#xff1a; 在项目的运维过程中有一次SEO团队提出 网页的URL 中如果可以带上关键字&#xff0c;那么网页在各大搜索引擎中收录和排名有非常重大的突出优势&#xff08;~~SEO团队到底专不专业 ~~&#xff0c;此处不做置评&#xff09;&#xff0c;…

超详细!想进华为od的请疯狂看我!

三分钟带你全面了解华为OD 【合同及管理】签约方为科锐国际/外企德科&#xff08;人力服务公司&#xff09;&#xff0c;劳动合同期为4年&#xff0c;试用期6个月。员工关系合同管理、五险一金、考勤发薪由科锐国际/外企德科负责&#xff1b;定级定薪、员工培训、工作安排、绩…

学生课程信息管理系统

摘 要 目前&#xff0c;随着科学经济的不断发展&#xff0c;高校规模不断扩大&#xff0c;所招收的学生人数越来越 多&#xff1b;所开设的课程也越来越多。随之而来的是高校需要管理更多的事务。对于日益增 长的学生相关专业的课程也在不断增多&#xff0c;高校对其管理具有一…

计算机网络:应用层 - 万维网 HTTP协议

计算机网络&#xff1a;应用层 - 万维网 & HTTP协议 万维网 WWW统一资源定位符 URL 超文本传输协议 HTTP非持续连接持续连接非流水线流水线 代理服务器HTTP报文 万维网 WWW 万维网是一个大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从互联网上的一个站点…