系列文章目录提示这里可以添加系列文章的所有文章的目录目录需要自己手动添加例如第一章 Python 机器学习入门之pandas的使用提示写完文章后目录可以自动生成如何生成可参考右边的帮助文档文章目录系列文章目录TFTPTFTP协议是什么设计的目标是什么TFTP协议有什么特点TFTP文件传输有什么特点有哪些应用场景TFTP服务器如何搭建下载配置创建工作目录并赋权重启服务确保防火墙已关闭或让防火墙放行连接服务上传或下载卸载TFTP有哪些安全事项需要注意NFSNFS协议是什么NFS设计的目标是什么NFS服务器有什么特点NFS服务器有哪些应用场景NFS服务器如何搭建安装NFS服务器建一个共享目录并赋权配置防火墙放行重启服务器安装NSF客户端挂载到客户端的目录查看挂载状态取消挂载有哪些注意事项TFTPTFTP协议是什么是一种基于UDP的轻量级文件传输协议是TCP/IP协议族的一员。用来在客户机与服务器之间进行简单文件传输的协议提供不复杂、开销不大的文件传输服务。默认端口号69端口号每一个服务器都有自己唯一的端口号该端口号用来唯一标识你当前用的是哪个服务器TFTP 协议本身无法直接传输目录。它只能处理单个文件不具备列出目录、创建文件夹等基本功能。间接法传目录先打包后传输再解包设计的目标是什么简单、低开销用于小型文件传输无需复杂认证。在资源受限的的设备中实现文件传输。TFTP协议有什么特点* 无连接 * 极简命令仅支持 读请求RRQ、写请求WRQ、数据包DATA、确认包ACK、错误包ERROR 五种操作。 * 无用户身份认证明文传输安全性低 * 仅支持文件上传和下载 * 协议简单适合嵌入式设备和资源受限环境TFTP文件传输有什么特点无连接、速度快但可靠性低基于UDP可以另外实现自己的差错改正措施通常支持最大32MB文件受协议设计限制支持文本文件和二进制文件的传输明文传输不适合用在敏感数据传输只能传指定文件无法列出目录内容有哪些应用场景网络设备维护路由器、交换机等设备的固件升级或配置文件传输常用于局域网环境无盘工作站启动通过 TFTP 从服务器加载启动文件如 PXE 网络启动嵌入式系统资源有限的设备如 IoT 设备获取配置文件或小体积固件。自动化运维结合自动化工具如 Ansible批量分发文件。传输频繁修改内容的文件TFTP服务器如何搭建使用TFTP服务器软件tftp-hpa实现本机通信下载sudo apt-get updatesudo apt-get install tftpd-hpa tftp-hpa#tftpd-hap 为服务器 #tftp-hap 为客户端配置先创建一个服务器目录sudo mkdir /tftpboot修改配置文件sudo vim /etc/dedault/tftpd-hpa1# /etc/default/tftpd-hpa23TFTP_USERNAMEtftp# 用户名一般不用管4TFTP_DIRECTORY/tftpboot# 自己设置一个服务器工作目录5TFTP_ADDRESS0.0.0.0:69# 0.0.0.0 表示接受来自任何IP地址的连接可以只接受指定IP6TFTP_OPTIONS-c -l -s# 客户端在访问时可以提供的权限get file\ put file \ list file-l以standalone/listen模式启动TFTP服务而不是从xinetd启动。-c可创建新文件。默认情况下TFTP只允许覆盖原有文件不能创建新文件。-s改变TFTP启动的根目录。不用手动指定目录默认使用配置文件中的目录。创建工作目录并赋权sudochmod0777 /tftpboot重启服务sudoservicetftpd-hpa restart#重启服务器sudosystemctlenabletftpd-hpa#可以选择配置成开机自启确保防火墙已关闭或让防火墙放行sudoufw allow69/udp连接服务tftp localhost#localhost“本地主机”或“本地地址”与其它服务器设备通信的时候指定对方的IP地址上传或下载get filename#下载文件对于没有的文件或服务器没开启会提示失败并下载个空壳put filename#上传文件常见错误Transfer timed out#预定时间内没有完成数据传输原因是tftpd服务没启动Only absolute filenames allowed#原因是配置文件出错只能使用绝对路径来指定文件名工作目录File not found#指定的文件不存在可能原因tftpd启动参数中没有指定-c选项同时确保文件先存在于上传目录下Permission denied#权限被拒绝检查一下文件权限卸载TFTPsudoapt-getremove--purgetftpd-hpa tftp-hpa有哪些安全事项需要注意仅限内网使用TFTP 无加密和认证禁止在公网环境使用。目录权限控制限制 TFTP 目录的写入权限避免恶意文件上传。结合 IP 白名单通过防火墙或 tftp-hpa 配置限制客户端 IP。NFSNFS协议是什么是 **网络文件系统协议**。属于应用层协议基于RPC是一种分布式文件系统协议。主要用于共享文件系统而TFTP是简单的文件传输协议允许客户端像访问本地文件一样访问远程服务器上的文件。NFS设计的目标是什么实现跨网络的透明文件共享支持多客户端并发访问协议版本NFSv3广泛兼容基于UDP/TCP无状态协议。NFSv4支持TCP、集成身份认证、有状态协议性能更优。工作原理服务端导出export指定目录供客户端挂载。客户端通过挂载mount远程目录到本地某个挂载点。可以多个用户端同时挂载服务端配置什么权限给客户端客户端就可以以相应的权限去操作文件df -h 能够看到挂载的目录NFS服务器有什么特点1、透明访问客户端操作远程文件与本地文件无异2、高性能适合高并发场景3、权限继承默认以客户端身份访问也可支持服务端权限控制4、跨平台兼容5、无锁机制需要应用层自行处理文件锁NFS服务器有哪些应用场景1、web集群存储多台web服务共享同一个NFS目录2、虚拟化环境虚拟机将磁盘镜像存放在NFS服务器3、数据备份与共享多台服务器将日志或备份文件写入统一的NFS存储4、开发协作团队成员共享代码库或编译环境NFS服务器如何搭建安装NFS服务器sudoapt-getinstallnfs-kernel-server建一个共享目录并赋权mkdir/nfs/rootfssudochomd 0777 /nfs/rootfs配置将共享目录添加到配置文件:/etc/export加入/nfs/rootfs/ *(rw,sync,no_subtree_check,no_root_squash)*#表示任意IP都可以与之共享也可以指定客户端IPrw#共享文件可读可写ro#只读sync#将数据同步写入内存缓冲区与磁盘中不是先放缓冲区再写入磁盘效率低但可以保证数据的一致性async#异步写入no_subtree_check#即使输出目录是一个子目录nfs服务器也不检查其父目录的权限这样可以提高效率subtree_check#检查父目录no_root_squash#来访的是root用户就保持root帐号权限慎用风险高Ubuntu17.10往后的版本添加如下配置:sudovim/etc/default/nfs-kernel-server#打开配置文件RPCNFSDOPTS--nfs-version 2,3,4 --debug --syslog#加入防火墙放行重启服务器sudoservicenfs-kernel-server restart安装NSF客户端sudoapt-getinstallnfs-common挂载到客户端的目录sudomount-tnfs localhost:/nfs/rootfs /mntfs不同主机就将localhost换成服务端IP地址/nfs/rootfs和/mntfs这两个目录便可同步开机自动挂载服务端IP:/nfs/rootfs /mntfs nfs defaults 0 0查看挂载状态df-hT|grepnfs取消挂载sudoumount/mntfs#不能再/mntfs目录下取消在别的目录有哪些注意事项权限最小化避免使用 no_root_squash防止客户端root用户获得服务端root权限。网络隔离仅允许可信IP或内网访问NFS服务通过 /etc/exports 和防火墙限制。性能调优大文件传输时使用 rsize32768,wsize32768 调整读写缓冲区大小。高并发场景启用 async 模式需权衡数据安全。