网络基础知识笔记05:FTP基本原理与配置(下)

 网络基础知识笔记05 FTP基本原理与配置

  由于本笔记有借鉴其他博文的内容,但仅做学习使用。已在下方给出原文链接,如有侵权,请联系本人进行删除,谢谢。

  FTPFile Transfer Protocol)是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性。

  本次笔记主要介绍FTP的配置验证以及命令详解,做到对交换机配置的备份与还原,再简单探讨一下SFTP协议的基本配置。

  Tips:目前FTP,TFTP,SFTP v1协议存在安全风险,本笔记为了简化说明,只采用FTP协议作为描述。实际环境建议使用SFTP v2版本的协议进行文件传输。最后再简要介绍一下SFTP协议的基本配置。

 

  

  FTP配置验证与命令详解

  配置完FTP服务器后,可以在客户端使用ftp命令用来与远程FTP服务器建立控制连接,并进入FTP客户端视图。

   

 

  进入FTP视图后,以下介绍几种常用的命令以供学习参考。

  (1)查看FTP服务器上的文件

  一般情况下用户都会被限制目录的访问权限,只可在当前目录下进行操作

  dir:显示服务器目录和文件列表

  ls:显示服务器简易的文件列表

  cd:进入服务器指定的目录

 

  Tips:补充知识

  ① dir命令可以与通配符“.”和“?”配合使用。例如显示当前目录中所有扩展名为jpg的文件,可使用命令dir .jpg。

  ② cd命令中必须带目录名。比如 cd main 表示进入当前目录下的main子目录。

 

  (2)设定传输方式

  binary命令用来在设备作为FTP客户端时设置文件传输方式为Binary模式,又称二进制模式

  ascii命令用来设置文件传输方式为ASCII码模式

  type命令查看当前的传输方式

 

  Tips:补充知识

  缺省情况下,文件传输方式为ASCII模式

 

  (3)下载文件

  get命令用来从远端FTP服务器下载单个文件并保存到本地。

  命令:get filename [newname]

  参数解释:filename为需要从FTP服务器下载的文件名,newname为文件保存在客户端设备上时使用的新的文件名(如果不指定newname,文件将以原名保存)。下同。

 

  mget命令用来从远端FTP服务器下载多个文件并保存到本地。

  命令:mget filename [filename ....]

  mget命令也支持与通配符配合使用。

 

  (4)上传文件

  put命令用来从本地FTP客户端上传单个文件到远端FTP服务器。

  命令:put filename [newname]

  上传文件前,应该根据文件的类型设置传输方式,本机的工作目录也应该设置为上传文件所在的目录。

 

 

  (5)其他FTP命令

  close:结束与服务器的FTP会话 
  quit:结束与服务器的FTP会话并退出FTP环境 

  pwd:查看FTP服务器上的当前工作目录

  rename filename [newfilename]:重命名FTP服务器上的文件

  delete filename:删除FTP服务器上的文件

  help:显示FTP命令的帮助信息。

 

 

  应用举例:通过FTP协议对交换机配置的备份与还原

  网络拓扑与上例中使用的相同。

  

 

  Step 1:首先在FTP客户端添加几条配置命令。如下图所示:

   

  可以看到,这是配置了三条静态路由在上面,模拟成该设备原本是有庞大的配置信息,现在我们需要做的是将这些配置信息备份到FTP服务器上去。

 

  Step 2:退回到用户视图(即刚登入交换机时的界面,能看到<>尖括号),保存配置文件。

  如下图所示:使用命令save all 来保存交换机的配置文件。此时可以输入保存文件的文件名,若不输入默认名称为vrpcfg.zip

   

     使用命令dir可以查看刚保存下来的配置文件

  

  Step 3:使用命令ftp连接FTP服务器(192.168.1.1),输入用户名和密码

   

  这里使用的用户名和密码是在前面介绍FTP基本配置时已经配置好了的。

  接着使用命令put上传配置文件到FTP服务器

   

  最后使用命令dir查看FTP服务器上是否已经成功上传配置文件

   

  最后输入q退出

 

  Step 4:为了模拟当交换机设备配置文件因故障而丢失或损坏的场景,可以使用命令reset saved-configuration将交换机的配置文件清空。

   

  清空配置后使用reboot重启交换机,弹出的第一个选项是询问你是否将现有在用的交换机配置保存,选择N,否则startup的配置又会覆盖saved的配置文件了,这样就达不到清空配置的目的。第二个选项询问是否确定重启,选择Y。

   

  重启过后,所有配置清空。

   

 

  Tips:实际生产环境中,要清空配置文件务必要谨慎,这里只是实验需要才会这样做。

 

  Step 5:登录FTP服务器将配置文件的备份下载回本地,使用命令get

  首先,配置端口IP,确保与FTP服务器的正常通信。

   

 

  然后登录FTP服务器,使用命令get将配置文件的备份下载回本地。

   

  接着指定该文件为startup的配置文件,最后重启即可

   

   

 

  你会发现,刚才清空的配置又回来了。说明实验成功。

   

 

 

 

  扩展知识:SFTP协议的原理与配置简析

  (1)FTP协议的局限性:明文传输

  在FTP协议中,数据传输是不加密的,我们可以通过抓包来验证。

   

  

   

  我们可以看到,即使是登录时向FTP服务器发送的登录用户名和密码,FTP协议使用的都是明文传输的方式。这样FTP就存在数据泄露的风险,为网络黑客有机可乘,所以目前主流使用更为安全的SFTP v2版本的协议进行数据传输。

  用户希望在终端与设备之间进行安全的文件传输操作,将设备配置为SSH服务器,提供SFTP服务,服务器通过对客户端的认证和双向的数据加密,实现用户对安全文件传输操作的要求。

 

 

  (2)SFTP基本配置步骤

  采用如下的思路配置用户通过SFTP进行文件操作:

  Step 1:在SSH服务器端生成本地密钥对及使能SFTP服务器功能,实现在服务器端和客户端进行安全地数据交互。

  Step 2:配置SSH服务器端的VTY用户界面。

  Step 3:配置SSH用户,包括认证方式以及用户名和密码等。

  Step 4:配置SSH服务器的访问权限,实现对SSH用户的限制。

  Step 5:从终端通过第三方软件OpenSSH实现访问SSH服务器。

 

 

  (2)SFTP配置实例

  Step 1:使能SFTP服务器功能

   

  生成本地密钥对(非对称加密算法RSA)

   

 

  Step 2:配置服务器端的VTY用户界面

   

   

 

  查看配置结果

   

 

  Step 3:配置SSH用户,包括认证方式以及用户名和密码等。

   

   

   

 

  Tips:命令优化空间(如上图中的红圈处)

  ①cipher可以优化为irreversible-cipher,因为cipher的加密方式是可逆的而irreversible-cipher不可逆,相对更为安全。

  ②权限等级可以设为15,拥有更细化的权限管理。

 

  Step 4:配置SSH服务器的访问权限(关于ACL的知识后面的笔记会再作介绍)

   

  将ACL应用

   

 

  Step 5:从终端通过OpenSSH软件实现访问SFTP服务器。

  只有在用户终端安装了OpenSSH软件后,Windows命令行提示符才能识别OpenSSH相关命令。

 

 

 

 

  小结

  这里存放一些想要记住的基础知识点

  ①FTP使用的默认端口有:

   服务器端使用TCP 21端口与客户端建立控制连接。

     服务器端使用TCP 20端口与客户端建立数据连接。

 

  ②如果不配置FTP用户可访问的默认目录,则FTP用户无法登录设备。

   使用命令set default ftp-directory <directory location>来建立默认目录。

 

 

  参考链接:https://blog.51cto.com/mingxiaoming/1967595

         https://network.51cto.com/art/201909/603552.htm

         https://blog.csdn.net/u013423085/article/details/93219255

         https://blog.csdn.net/qq_38526635/article/details/82147980

         https://bbs.51cto.com/thread-1076177-1.html

 

posted @ 2021-04-26 00:48  若水一瓢  阅读(672)  评论(0编辑  收藏  举报