当前位置: 首页 > article >正文

13、DHCP和FTP协议

DHCP:动态主机配置协议

DHCP的分服务端和客户端

应用在大型的局域网环境中,分服务端和客户端。

服务端:提供IP地址,某种特定功能的提供者。

客户端:请求IP地址,请求对应的功能的使用者。

DHCP:集中地址管理(地址池,可用IP地址的范围),自动分配客户端的IP地址,gateway网关,DNS服务信息等等。

客户端的端口:68

服务端的端口:67

DHCP的优点

1、降低配置和部署设备的时间

2、降低了配置发生错误的可能

3、集中化管理IP地址的分配

4、提高了IP的利用率

DHCP的工作原理

                          客户端     —————————————>    服务端                                                 

1、客户端初始化时,不知道服务端是谁,整个网络中发送广播(DISCOVER报文)

2、服务端向客户端响应(我是服务端),发送offer报文(华为设备的单播方式,其他的都是广播方式)。

3、客户端向服务端发送服务请求(resquest报文的形式),请求报文只会发送给第一个响应自己的服务器。

4、服务端收到客户端的请求,从地址池中选择一个未被占用的IP地址以及租期信息,发送给客户端,都是发送ack(确认响应)。

5、客户端收到服务端发送的ack报文后,使用服务端提供的IP地址等服务。

  • 租期信息:默认情况下,服务端提供的IP地址的使用期限是7200秒,到期后要重新向服务端请求新的IP地址(IP地址可能发送变化)。
  • 客户端下线之后,客户端进行重新登录,发送一个包含之前DHCP服务端分配的IP信息的renew request的报文。服务端收到请求之后,先尝试让客户端继续使用该地址,如果地址不可用,才会分配一个新的,恢复客户端ack报文。
  • 租约到期到期之后,服务端会把IP地址收回,客户端想要继续使用该IP地址,必须要更新租约。更新方式:租约到期时间的一半,客户端会发送renew request的报文来续约租期。服务端收到请求之后,尝试让客户端继续使用该地址,如果地址不可用,才会分配一个新的,恢复客户端ack报文。

在Linux系统上配置DHCP

地址分配案例

我们在ubuntu上开两台虚机机,设置服务端:Ub1、客户端:Ub2。

在服务端:Ub1上下载好DHCP软件。

服务端对/etc/dhcp/dhcpd.conf文件进行配置,具体修改如下

对客户端的网卡配置文件 /etc/netplan/01-network-manager-all.yaml进行修改,具体操作如下:

操作完之后分别使用systemctl restart isc-dhcp-server和netplan apply命令,重启服务和网卡。

这时候我们查看客户端的IP地址,会发现他的地址是我们服务端从地址池中分配给他的。

如果以上操作发现客户端的IP依然没变化,可以对服务端启用dhclient命令进行刷新配置的配置网络地址。

根据mac地址绑定ip案例

首先我们依然对服务端的 /etc/dhcp/dhcpd.conf 文件进行配置,具体修改如下:

  • 00:0c:29:37:59:aa是客户端的mac地址
  • 192.168.254.100:是我们要绑定的IP地址
  • 表示我们绑定客户端:Ub2的IP地址成192.168.254.100

服务端和客户端刷新服务和网卡后,这时候我们打开日志,会发现绑定成功

进入客户端:Ub2的虚拟机查看IP,会发现已经变成我们绑定的IP地址

FTP:文件传输协议

网络上控制文件的双向传输,虽然说市面有很多类似ftp的工具,但是协议都是基于ftp的协议。

FTP的端口:

20:建立数据连接,并传输文件数据

21:建立连接控制,传输ftp的控制命令

FTP的数据连接的方式:

主动模式:服务端对客户端主动发起数据连接(一般不用)

被动模式:客户端对服务端发起连接(主要模式)

SFTP:加密的文件创建协议

Linux和windows的文件互传案例

首先我们下载vsftpd软件

接着对ftp的配置文件 vsftpd.conf 进行优化和修改,具体修改如下:

修改完之后,给ftp赋予最高权限,然后需要重启这个配置文件

看日志会查看是否开启正常

直接用windows连接自己的Linux主机IP地址,用自己用户登录

这时候我们可以在Linux系统zw的家目录下建一个文件,在windows系统上使用get命令可以下载到我们电脑上,就在C盘用户目录下

同样也可以把C盘用户目录下的文件传送给Linux用户的家目录下,使用put命令

这时候我们发现可以在windows上切换Linux的目录,这是不安全的,可以再配置 vsftpd.conf文件,使Windows禁锢在家目录,具体配置如下:

重启配置文件后,我们发现Windows被禁锢在家目录下,无法再查看别的目录。

黑名单和白名单案例

黑名单:在这个名单上的用户才会拒绝连接(允许所有,拒绝个别)

白名单:只有这个名单上的用户才可以连接(拒绝所有,允许个别)

在工作中,使用白名单。

我们还是配置 vsftpd.conf文件,添加三行,设置黑名单,具体配置如下

接着我们创建这个黑名单,名字和设置的一样,然后添加黑名单的用户,如下:

这时候我们发现zw无法在Windows登录,说明成功。

root是天生不能在Windows上登录的,因为root是在 etc/ftpusers名单中,属于黑名单中的黑名单,我们可以进去先把他删了,我们可以用vim   etc/ftpusers进入配置文件,把他删了,再把root添加进白名单就可以操作了。


http://www.kler.cn/a/391013.html

相关文章:

  • ima.copilot-腾讯智能工作台
  • Openstack7--安装消息队列服务RabbitMQ
  • 深入理解接口测试:实用指南与最佳实践5.0(一)
  • 【2024最新】math-expression-evaluator 动态计算表达式的使用
  • 解决:WSL2可视化opencv和pyqt冲突:QObject::moveToThread
  • Vim9 语法高亮syntax 在指定的缓冲区和窗口执行命令
  • 利用AI制作《职业生涯规划PPT》,10分钟完成
  • 【Linux】————信号
  • leetcode21:合并两个有序列表
  • [Linux]IO多路转接(上)
  • 微波无源器件 OMT1 一种用于倍频程接收机前端的十字转门四脊正交模耦合器(24-51GHz)
  • Java-03
  • SQL50题
  • ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装
  • Python 类私化有笔记
  • 【深度学习遥感分割|论文解读2】UNetFormer:一种类UNet的Transformer,用于高效的遥感城市场景图像语义分割
  • 量化交易系统开发-实时行情自动化交易-3.4.2.2.Okex交易数据
  • 从0开始搭建一个生产级SpringBoot2.0.X项目(十三)SpringBoot连接MongoDB
  • 请求接口时跨域问题详细解决方案
  • 前端开发调试之 PC 端调试
  • 使用 `RestTemplate` 获取二进制数据并返回 `byte[]`:解决方案与示例
  • Java 多态 (Polymorphism)详解
  • 智能社区服务小程序+ssm
  • MySQL数据库:SQL语言入门 (学习笔记)
  • ubuntu 20.04添加ros官方的软件源(解决下载ros软件包出现的E 无法定位软件包的问题)
  • ERP学习笔记-预处理eeglab