linux DHCP和VSFTP原理与配置

news2024/9/25 1:19:37

目录

一、DHCP工作原理

1.1 了解DHCP服务

1.1.1 DHCP基本描述

1.1.2 使用DHCP的好处

1.1.3 DHCP的分配方式

1.2 DHCP的租约过程

1.3 使用DHCP动态配置主机地址

1.4 安装DHCP服务器

二、DHCP服务器的配置

2.1 实验环境准备

2.2 实验实战示列

三、DHCP客户端的使用

3.1 centos7客户端

3.2 windous客户端

四、VSFTP安装与配置

4.1 vsftp 实验环境

4.2 vsftp 的安装

4.3 vsftp 的配置


一、DHCP工作原理

1.1 了解DHCP服务

1.1.1 DHCP基本描述

  • DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)
  • 由Internet工作任务小组设计开发
  • 专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数协议

1.1.2 使用DHCP的好处

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免ip地址冲突
  • 当更改ip地址段时,不需要重新配置每个用户的ip地址
  • 提高了ip地址的利用率
  • 方便客户端配置

1.1.3 DHCP的分配方式

  • 自动分配:分配到一个IP地址后永久使用
  • 手动分配:由DHCP服务器管路员专门指定IP地址
  • 动态分配:使用完后释放改IP,供其他客户机使用

1.2 DHCP的租约过程

  • 客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
  • 分为四个步骤

  •  客户机请求IP地址
    • 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机需要通过DHCP获取一个合法的地址
    • 此时DHCP客户机以广播的方式发送DHCP Discover发现信息来寻找DHCP服务器

  •  服务器响应
    • DHCP服务器接受来自客户机的请求IP地址信息室时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
    • 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP offer消息

  •  客户机选择IP地址
    • DHCP客户机从接受到的第一个DHCP Offer消息中提取IP地址,发出DHCP Request报文,发出IP地址的DHCP服务器将该地址保留,这样改地址就不能再分配给其他客户机

  •  服务器确定租约
    • DHCP服务器接受到DHCP Request消息后,以DHCP ACK消息形式向客户机广播成功确认,该消息包含IP地址的有效租约和其他可配置信息
    • 当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化

  • 重新登陆 
    • DHCP客户机每次重新登陆网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request 请求信息

  • 更新租约
    • 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
    • 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约 

1.3 使用DHCP动态配置主机地址

  • DHCP服务
    • 为大量客户机自动分配地址,提供集中管理
    • 减轻管理和维护成本、提高网络配置效率
  • 可分配的地址信息主要包括
    • 网卡的IP地址、子网掩码
    • 对应的网络地址、广播地址
    • 默认网关地址
    • DNS服务器地址

1.4 安装DHCP服务器

  • CentOS光盘中的 dhcp-4.2.5-47.el7.centos.x86 64.rpm
  • DHCP软件包的主要文件
    • 主配置文件:/etc/dhcpd.conf
    • 执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay

二、DHCP服务器的配置

2.1 实验环境准备

实验环境:
3台机器 
centos 7-1          DHCP 服务端     192.168.182.10 (为了实验方便,将此IP定义为该网段的网关)
centos 7-2          DHCP 客户端     自动分配
windows 10        DHCP 客户端     自动分配

网络环境: 
   ① Vmnet2(仅主机模式)
   ② vmware workstation 的虚拟网络编辑器中的DHCP功能必须关闭
   ③ 确定好Vmnet2 仅主机模式的IP地址段是多少
   ④ 注意 DHCP服务端的网卡信息的配置(GATEWAY 不要写)

系统环境:
   ① 先安装好DHCP服务,再行修改网络配置(nat-》Vmnet2)
   ② 或者,修改完网络配置后,配置本地YUM仓库,再行安装DHCP
   ③ 每台机器,关闭防火墙、核心防护

2.2 实验实战示列

  • 修改dhcp服务端网卡配置  固定ip
  • vim /etc/sysconfig/network-scripts/ifcfg-ens33

  • yum install -y dhcp 安装dhcp服务
  • 找到dhcp配置文件位置

  • cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf    复制文件到优化路径中        进入新路径后可以复制一下源文件做个备份
  • vim /etc/dhcp/dhcpd.conf            编辑此配置文件
subnet 192.168.182.0 netmask 255.255.255.0 {    #设置地址池网段
  range 192.168.182.20 192.168.182.40;          #设置地址池范围
  option routers 192.168.182.10;                #dhcp网关
}
  •  重启网卡,启用DHCP服务
    • systemctl restart network
    • systemctl restart dhcpd
    • systemctl status dhcpd

 至此dhcp服务端已经配置完成    等待客户端获取ip地址后可查看租约期限

  • 查看租约
    • less /var/lib/dhcpd/dhcpd.lease

三、DHCP客户端的使用

3.1 centos7客户端

  • 配置网卡启动文件为dhcp

  •  重启网卡
  • 查看ip地址

 配置已生效    ip地址为服务端设置的地址池范围内

3.2 windous客户端

  • 网络配置  IPv4自动获取

  • 查看ip地址 

IP地址范围正常   配置生效

四、VSFTP安装与配置

4.1 vsftp 实验环境

  • vsftp 实验环境与dhcp一致即可

4.2 vsftp 的安装

rpm -qc vsftpd    //检查vsftpd安装包是否存在,存在即不需要安装
yum install -y vsftpd   //yum 安装vsftpd

4.3 vsftp 的配置

  • 切换到安装好vsftpd目录下查看文件

  •  保险起见可以将配置文件先备份一份

cp vsftpd.conf vsftpd.conf.bak

  • 编辑配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES            #开启匿名用户访问。默认已开启
local_enable=YES                #允许系统用户进行访问(useradd zhangsan)
write_enable=YES                #开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)。

让匿名用户拥有访问本机和各种权限 
anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)。
anon_upload_enable=YES          #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES     #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable=YES     #允许删除、重命名、覆盖等操作。需添加
  • 重启vsftpd服务,关闭安全防护

systemctl restart vsftpd
systemctl stop firewalld
setenforce 0


chmod 777 /var/ftp/pub/        #这是匿名用户的默认根目录

  • 匿名访问测试
    • 在Windows系统打开开始菜单,输入cmd 命令打开命令提示符
    • #建立ftp连接

ftp 192.168.233.21
#匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
ftp> pwd          #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls           #查看当前目录
ftp> cd pub       #切换到pub目录ftp> get文件名    #下载文件到当前Windows本地目录
ftp> cd pub
250 Directory successfully changed.
ftp> ls
ftp> get test.txt #获取目录中的文件下载到电脑
ftp> ls
ftp> put test4.txt

  •  存在的缺点:匿名用户权限过高,存在安全隐患
    • 设置本地用户验证访问ftp
      设置本地用户可以访问ftp,禁止匿名用户登录

useradd zhangsan

echo '123' | passwd --stdin zhangsan

local_enable=Yes                 #启用本地用户

anonymous_enable=NO         #关闭匿名用户访问
write_enable=YES                 #开放服务器的写权限(若要上传,必须开启)
local_umask=077                   #可设置仅宿主用户拥有被上传的文件的权限(反掩码)

 

  • 对本地用户访问切换目录进行限制
  • 添加、切换目录的限制配置

chroot_local_user=YES                   #将访问禁锢在用户的宿主目录中 取消注释即可
allow_writeable_chroot=YES         #允许被限制的用户主目录具有写权限

  •  黑名单和白名单的使用 
    • 在安装vsftpd服务后,官方贴心的为我们在服务目录中提供了user_list   
      (其中就是为了我们更好利用黑名单和白名单的手册)。
    • 黑名单:在黑名单上标记的用户,是我们禁止访问的对象
    • 白名单:在白名单上标记的用户是我们允许访问的对象,白名单比黑名单的制定更为严格和安全

黑名单
userlist_enable=YES                #启用user_list用户列表文件
userlist_deny=YES                #默认为YES,为黑名单,禁止user_list名单上的用户进行访问


白名单
userlist_enable=YES                #启用user_list用户列表文件
userlist_deny=NO                #设置白名单,仅允许user_list用户列表文件的用户访问。

要想使用root用户,需要把ftpusers里面的root用户注销掉即可

  • user_list 中添加zhangsan进黑名单

客户端被限制访问

总结 

本章中要熟悉掌握DHCP中一共几个报文   每个报文是什么   其中的内容又是什么  

在实验过程中特别是vsftp每一步修改配置文件都要重启下服务才能生效

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

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

相关文章

【数据结构】汇总八、排序算法

排序Sort 【注意】本章是 排序 的知识点汇总,全文1万多字,含有大量代码和图片,建议点赞收藏(doge.png)!! 【注意】在这一章,记录就是数据的意思。 排序可视化网站: D…

Python - PyQt5环境搭建与基本配置和使用教程

****前期准备:PyQt5以及其他组件的下载与安装 python的图形界面开发过程中,我们需要三个组件,分别是:PyQt5、pyqt5-tools、PyQt5Designer 一、安装 确保Python和pip已安装: PyQt5是基于Python的图形用户界面库&…

WEB渗透免杀篇-Bypass-AMSI

往期文章 WEB渗透免杀篇-加载器免杀-CSDN博客 WEB渗透免杀篇-分块免杀-CSDN博客 WEB渗透免杀篇-Powershell免杀-CSDN博客 WEB渗透免杀篇-Python源码免杀-CSDN博客 WEB渗透免杀篇-C#源码免杀-CSDN博客 WEB渗透免杀篇-MSFshellcode免杀-CSDN博客 WEB渗透免杀篇-Bypass-AMSI-…

【大模型从入门到精通28】开源库框架LangChain 语义搜索:高级检索策略2

这里写目录标题 利用元数据与自我查询检索器元数据作为上下文信息初始化环境并定义元数据导入必要的模块定义元数据属性 配置自我查询检索器执行带有自动元数据推断的查询实现上下文压缩设置环境导入必要的类 初始化压缩工具创建上下文压缩检索器检索压缩文档 利用元数据与自我…

Nginx--日志

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、Nginx日志介绍 nginx 有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的…

别等GPT-4o啦,国产「开源版」GPT-4o 来了!支持全模态、无障碍交流

夕小瑶科技说 原创 作者 | 谢年年 腾讯最近的多模态进展有点子“一路高歌”,先是腾讯元宝升级了一波多模态能力,就差把GPT-4o从榜一拉下来了。 最近,又搞了一个和GPT-4o对标的交互式多模态模型——VITA,而且率先开源了。 每次…

算法-IMM

trajectory-prediction程序的imm.cc中的以下代码的对应的算法原理在后面 void IMM_UKF::InputInteract() {if (std::isnan(model_pro_(0)) || std::isnan(model_pro_(1)) || std::isnan(model_pro_(2)))std::abort();if (model_pro_.sum() ! 0)model_pro_ / model_pro_.sum();…

模组卡死?五步排查法助你快速定位并解决问题!

直线模组是许多机械设备中不可或缺的组件,在使用过程中可能会遇到各种故障,卡死是模组运行过程中最常出现的现象。以下是一些常见的直线模组卡死解决方法: 1、模组内部可能积聚了灰尘、杂质等,这些物质在模组运行过程中可能进入关…

Windows系统下两个不同版本的java切换

前言:在电脑中,已经安装好了两个不同版本的java,为了使用CMD随意切换两个不同版本的java,我们通过创建批处理文件来达到目的。 假设目前电脑中存在的两个java版本分别是java8和java21。 首先,创建java8的批处理文件“j…

minio下载镜像地址及启动脚本

MinIO下载 | 中国镜像下载加速站https://dl.minio.org.cn/server/minio/release/linux-amd64/archive/ MinIO下载 | 中国镜像下载加速站https://dl.minio.org.cn/client/mc/release/linux-amd64/ 文档: 单节点单硬盘部署MinIO — MinIO中文文档 | MinIO Linux中文文档 启动脚…

leetcode刷题-动态规划part01

代码随想录动态规划part01|动态规划理论基础、 509. 斐波那契数、 70. 爬楼梯 、746. 使用最小花费爬楼梯 动态规划基础509. 斐波那契数70.爬楼梯746. 使用最小花费爬楼梯 动态规划基础 动规五部曲: dp数组以及下标的含义:dp[i][j] dp[i]递推公式dp数组…

大模型格局变天:Llama3.1诞生

一、Llama3.1的背景 北美时间7月23日,Meta公司(原Facebook)宣布了一项重大突破:开源模型Llama 3.1的正式发布。这一举措预示着AI技术的又一次飞跃,Llama 3.1有望成为迄今为止最强大的开源大型语言模型(LLM&…

Startup-SBOM:一款针对RPM和APT数据库的逆向安全工具

关于Startup-SBOM Startup-SBOM是一款针对RPM和APT数据库的逆向分析与安全检测工具,该工具本质上是一个简单的 SBOM 实用程序,旨在提供正在执行的包的内部视图,可以帮助广大研究人员枚举所有软件包以及可执行文件、服务和版本。 该工具的流程…

Docker 部署loki日志 用于微服务

因为每次去查看日志都去登录服务器去查询相关日志文件,还有不同的微服务,不同日期的文件夹,超级麻烦,因为之前用过ELK,原本打算用ELK,在做技术调研的时候发现了一个轻量级的日志系统Loki,果断采…

【大模型从入门到精通29】开源库框架LangChain 语义搜索:高级检索策略3

这里写目录标题 实现上下文压缩与 MMR 的文档检索设置基于压缩的检索器与 MMR探索替代文档检索方法加载和准备文档实现 TF-IDF 和 SVM 检索器最佳实践结论理论问题实践问题 实现上下文压缩与 MMR 的文档检索 设置基于压缩的检索器与 MMR 上下文压缩的目标是通过关注与查询最相…

tomcat的初实现与memcache

文章目录 1. tomcat实现多虚拟机2. tomcat定制访问日志格式3. tomcat实现MSM集群4. JVM垃圾回收算法和分代5. memcache使用,安装和MSM原理 1. tomcat实现多虚拟机 一键安装tomcat并启动,使用openjdk #!/bin/bash version10.1.28 usertomcat grouptomcat…

【C++初阶】:C++入门篇(一)

文章目录 前言一、C命名空间1.1 命名空间的定义1.2 命名空间的使用 二、C的输入和输出2.1 cin和cout的使用 三、缺省参数3.1 缺省参数的分类 四、函数重载4.1 函数重载概念及其条件4.2 C支持函数重载原理 -- 名字修饰 前言 C是在C语言的基础之上,增加了一些面向对象…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——6.vector

1.杨辉三角 . - 力扣&#xff08;LeetCode&#xff09; 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 class Solution { public:vector<vector<int>> generate(int numRows) {vector<vector<int>> arr;int i 0;int j 0;for (i…

Git入门 -- 区域详解

Git入门 – 区域详解 1.Git 1.1 Git与SVN的区别 Git不仅仅是版本控制系统&#xff0c;同时也是内容管理系统。以下是Git与SVN的区别&#xff1a; 分布式&#xff1a;Git是分布式但SVN不是&#xff0c;这是Git与其他系统的核心区别。存储方式为元数据&#xff1a;Git在存储数…

Python 如何使用正则表达式进行复杂文本处理

正则表达式&#xff08;Regular Expressions&#xff0c;简称 regex 或 RE&#xff09;是一种强大的工具&#xff0c;用于在文本中执行模式匹配和搜索操作。通过正则表达式&#xff0c;你可以轻松地查找、替换和提取文本中的特定模式。Python 提供了一个内置的 re 模块&#xf…