热门标签 | 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/
.



推荐阅读
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文详细介绍了如何在VSCode中正确配置Python环境,包括通过不同方式安装Python以及如何安装和配置Python插件,确保开发环境顺利搭建。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 在Linux系统中,许多应用程序以源代码的形式提供,这给安装带来了挑战。本文旨在介绍一种简化源码软件安装流程的方法,帮助用户更加轻松地完成安装。 ... [详细]
  • 华硕笔记本无法开启热点的解决办法
    当您的华硕笔记本电脑无法开启热点时,可能是因为多种原因导致的。本文将详细介绍几种有效的解决方法,帮助您快速恢复热点功能。 ... [详细]
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社区 版权所有