热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

体积小巧的vsftpd与pureftpdDocker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议

本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPdDocker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。

体积很小的vsftpd_pure-ftpd_docker_在unraid中的配置_支持TLS和ipv6

转载注明来源: 本文链接 来自osnosn的博客,写于 2021-06-02.

当需要传个大量的文件给朋友的时候,可以建个ftp服务。

家里的宽带已经有公网ipv6了。

把文件放家里,共享出去,让朋友方便的时候自己下载。

如果你用的不是unraid。但能装docker。此文也能参考。


配置环境



  • unraid 6.9.2。


安装 docker 镜像 bfren/ftps



  • 是vsftpd-3.0.5,只支持 tls-1.2。不完美。

  • 镜像包 7.4MB,安装完占用 18.7MB。

  • 在 unraid 的 APPS 中搜索 ftps tls。能搜到一款。


  • 点击 Install 安装。

  • 配置

    • Container Path 1:/files 映射到 /mnt/user/appdata/bfren_ftps/files

    • Container Path 2:/ssl 留空。

    • Container Variable 6:FTPS_USER 自己设置一个。

    • Container Variable 7:FTPS_PASS 自己设置一个。

    • Container Variable 8:FTPS_EXTERNAL_IP 写两个冒号 "::"。

    • 其他默认。

    • 再根据自己需要,添加映射别的目录。



  • 只支持到 TLS-1.2。

  • 如果你有公网IPv4的话,在你的路由器上,设置 IPv4 的端口映射。


解决 IPv6 的访问



  • 在 docker 管理界面,找到这个 bfren/ftps ,编辑它。

    点击 右上角 的 BASIC VIEW 变为 ADVANCED VIEW


  • Network Type: 选择 Custom: br0

    指定一个内网的 IPv4 地址,比如 192.168.1.22。使用一个内网中,没有使用的IP,避开unraid,路由器的IP。

    高级视图编辑中,Extra Parameters:加入参数。增加在后面,原有的参数保留,不删除。多个参数之间,用空格隔开。

    --sysctl net.ipv6.conf.all.disable_ipv6=0 --sysctl net.ipv6.conf.eth0.use_tempaddr=2

    这样,这个docker就会获得一个内网的ipv6,和一个eui64的公网ipv6。


  • IPv4 就是你指定的 192.168.1.22

    还要把这个 IPv6 找出来。




  • 启动这个docker。

    • 进入这个docker的终端。

      修改 /etc/bf/init.d/13-vsftpd-conf,在文件的末尾加上一行,

      sed -i 's/^listen=YES/listen=NO/g;s/^#listen_ipv6=YES/listen_ipv6=YES/g' /etc/vsftpd/vsftpd.conf; echo "listen_port=2100" >> /etc/vsftpd/vsftpd.conf;



  • 重启这个docker。

  • 用ipv6访问,ftp的端口是2100。

  • 这时候,ipv4的支持就有问题了。能登陆,不能列目录,不能上传/下载。


安装 docker 镜像 crazymax/pure-ftpd



  • 是pure-ftpd-1.0.50,支持 tls-1.3。推荐用这个

  • 镜像包 19.4MB,安装完占用 63.1MB。

  • 在 unraid 的 APPS 中搜索 ftps tls。能搜到一款。


  • 点击 Install 安装。

  • 配置

    • Appdata:/data 映射到 /mnt/user/appdata/crazymax-pure-ftpd/

    • FTP Folder:/home 映射到 /mnt/user/crazymax-pure-ftpd/

    • 其他默认。

    • 再根据自己需要,添加映射别的目录。



  • 根据 【github上的说明】

    创建 用户pureftpd-dhparams.pem,pureftpd.pem,pureftpd.flags


  • 重启docker,就有TLS支持,并且能登陆了。支持TLS-1.3。

  • 默认不支持 ASCII 方式传输,只支持 binary 方式。记得修改客户端的配置。否则文本类的文件会上传/下载失败




  • 如果你有公网IPv4的话,在你的路由器上,设置 IPv4 的端口映射。


解决 IPv6 的访问



  • 在 docker 管理界面,找到这个 crazymax/pure-ftpd ,编辑它。

    点击 右上角 的 BASIC VIEW 变为 ADVANCED VIEW

  • Network Type: 选择 Custom: br0

    指定一个内网的 IPv4 地址,比如 192.168.1.22。使用一个内网中,没有使用的IP,避开unraid,路由器的IP。

    高级视图编辑中,Extra Parameters:加入参数。增加在后面,原有的参数保留,不删除。多个参数之间,用空格隔开。

    --sysctl net.ipv6.conf.all.disable_ipv6=0 --sysctl net.ipv6.conf.eth0.use_tempaddr=2

    这样,这个docker就会获得一个内网的ipv6,和一个eui64的公网ipv6。

  • IPv4 就是你指定的 192.168.1.22

    还要把这个 IPv6 找出来。

  • 启动这个docker。

    • 进入这个docker的终端。

      修改 /etc/cont-init.d/01-config.sh

      注释掉两行 FLAGS ="$FLAGS --bind 0.0.0.0,2100" , FLAGS ="$FLAGS --ipv4only"

      增加一行FLAGS ="$FLAGS --bind 2100"




  • 重启这个docker。

  • 同时支持ipv4和ipv6访问,ftp的端口是2100。



转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/16341795.html

来自 osnosn的博客 https://www.cnblogs.com/osnosn/
.



推荐阅读
  • 本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细解释了华为ENSP模拟器中常用的命令,涵盖用户模式、系统模式、接口模式和地址池视图模式下的操作。这些命令对于进行计算机网络实验至关重要,帮助用户更好地理解和配置路由器及PC机的通信。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
author-avatar
四只猪1984
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有