如何限制指定IP地址访问自己的FTP服务器?,如何设置

要限制指定IP地址访问FTP服务器上的存储桶,核心方法是配置FTP服务本身的IP白名单,并结合系统防火墙规则,对于云存储桶,直接使用其内置的IP白名单功能,两种方式都能有效控制访问来源,降低数据泄露风险。

为什么需要限制IP访问FTP服务器

FTP协议默认不加密,传输过程中账号密码容易被截获,如果FTP服务器暴露在公网,暴力破解是常见威胁,业内专家指出,大部分FTP攻击来自未知IP的持续扫描,限制IP访问能直接减少攻击面,避免未授权IP尝试登录,对于存储敏感数据的桶(目录或云存储桶),更应该只允许固定IP或网段访问,这一策略在中小企业和个人站长中广泛应用,是基础安全配置的一部分。

2-FTP服务器配置-IP地址和域限制
加载中
2-FTP服务器配置-IP地址和域限制

怎么限制IP访问FTP服务器:三种主流方法

下面介绍三种具体实现方式,分别适用于不同场景。

FTP服务器设置IP白名单

以最常见的vsftpd为例,利用系统tcp_wrappers组件实现IP白名单,操作路径如下:

  • 编辑/etc/hosts.allow,添加一行:vsftpd: 192.168.1.100(允许的IP地址)
  • 编辑/etc/hosts.deny,添加一行:vsftpd: ALL(拒绝其他所有IP)
  • 重启vsftpd服务:systemctl restart vsftpd

注意:vsftpd编译时需要支持tcp_wrappers,大多数Linux发行版默认开启,如果使用其他FTP服务(如ProFTPD),也可通过类似方式配置,此方法优点在于配置简单,只需修改两个文件即可生效,但缺点是无法精确到用户级别,白名单内IP可以访问所有FTP用户。

使用系统防火墙控制IP访问

通过iptables或firewalld限制FTP端口(默认为21)的访问来源,适用于所有FTP服务。

如何限制指定IP地址访问自己的FTP服务器?,如何设置

iptables示例:

  • 允许指定IP:iptables -A INPUT -p tcp --dport 21 -s 192.168.1.100 -j ACCEPT
  • 拒绝其他所有IP:iptables -A INPUT -p tcp --dport 21 -j DROP
  • 保存规则:iptables-save > /etc/iptables/rules.v4

firewalld示例:

  • 使用富规则:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="21" accept'
  • 重新加载:firewall-cmd --reload

如果FTP使用被动模式,还需要开放被动端口范围(如iptables -A INPUT -p tcp --dport 30000-31000 -j ACCEPT),防火墙规则的优点在于独立于FTP服务,即使更换FTP软件,规则依然生效,但需注意规则顺序,避免被其他规则覆盖。

限制指定IP访问桶(云存储桶的IP白名单)

如果桶是云存储(如简米云OSS、酷番云COS),直接使用其内置的IP白名单功能,无需自建服务器。

操作路径(以简米云OSS为例):

  • 登录OSS控制台,进入目标Bucket的“权限管理” > “读写权限”。
  • 在“IP白名单”区域,输入允许的IP地址或网段,多个IP用逗号隔开。
  • 保存后,白名单外的IP通过任何方式(包括FTP、API、控制台)访问该Bucket都会被拒绝。

酷番云COS操作路径:

  • 进入存储桶的“权限管理” > “访问策略” > “添加策略”。
  • 选择“允许访问”,指定IP条件为SourceIp,再添加允许的IP。
  • 保存后即时生效。

如何限制指定IP地址访问自己的FTP服务器?,如何设置

云存储的IP白名单通常支持最多1000条规则,且生效时间在5分钟以内,此方法最直接,适合没有自建FTP服务器、直接使用云存储FTP功能的用户,但需注意,云存储的FTP服务可能会额外收费,且白名单只能控制桶级别,无法细分到桶内目录。

自己搭建FTP服务器安全设置:IP限制与桶权限结合

对于需要自建FTP服务器并挂载云存储桶的用户,可以将FTP服务器设为中转,再配合桶的IP白名单,具体步骤如下:

  • 在服务器上安装vsftpd,配置chroot,将用户根目录指向云存储桶的本地挂载点(如/mnt/bucket)。
  • 使用防火墙限制IP访问vsftpd服务端口,只允许特定IP连接。
  • 在云存储桶的控制台中,设置IP白名单为FTP服务器的公网IP(因为客户端必须通过FTP服务器访问桶,桶只信任服务器IP)。
  • 这样,只有白名单中的客户端IP能连接FTP服务器,且FTP服务器只能访问桶(桶的IP白名单仅允许服务器IP),实现双重防护。

注意:如果桶的IP白名单只包含FTP服务器IP,客户端IP无法直接传递到桶,因此桶无法识别客户端真实IP,这种架构适合对桶的访问来源有严格限制的场景,比如只允许内网服务器访问桶。

FTP服务器地址怎么设置IP限制

无论使用哪种方法,都需要明确FTP服务器地址(IP或域名),然后针对该地址配置限制,操作路径如下:

  • 确认FTP服务器地址:ip addrcurl ifconfig.me获取公网IP。
  • 选择限制方式:tcp_wrappers、防火墙或云服务设置。
  • 添加允许的IP:将需要访问的客户端IP加入白名单。
  • 测试:使用允许的IP通过FTP客户端连接,检查是否成功;使用其他IP连接,应被拒绝。
  • 如何限制指定IP地址访问自己的FTP服务器?,如何设置

如果FTP服务器地址是动态IP,建议使用DDNS改为固定域名,再在防火墙中通过域名规则限制(部分防火墙支持),静态IP则直接使用IP地址。

常见问题与解答

Q1:FTP服务器设置IP白名单后,为什么其他IP还能连接?

A:首先检查tcp_wrappers是否生效,运行ldd /usr/sbin/vsftpd | grep wrap确认vsftpd编译时包含libwrap,如果使用防火墙,检查规则顺序,确保拒绝规则在允许规则之后,并且防火墙服务已重新加载,如果FTP服务通过SELinux,可能需要执行setsebool -P ftpd_use_tcpwrappers 1才能启用tcp_wrappers支持。

Q2:限制指定IP访问桶,在简米云OSS上如何操作?

A:进入OSS控制台,选择目标Bucket,点击“权限管理”>“读写权限”,在“IP白名单”中添加允许的IP地址,格式如168.1.0/24,保存后约5分钟生效,白名单最多支持1000条,且修改后原有访问规则会被覆盖,如果桶同时开启了防盗链,IP白名单优先级高于防盗链。

Q3:自己搭建的FTP服务器,能否让不同IP访问不同桶?

A:可以,创建多个FTP用户,每个用户设置不同的根目录(桶目录),然后通过pam_access模块或自定义脚本,在用户登录时检查其IP与用户名的映射关系,但配置较复杂,生产环境推荐使用vsftpd的user_config_dir结合pam_listfile实现,更简单的方法是启动多个FTP服务实例,每个实例监听不同端口,再通过防火墙限制每个端口的IP来源,这样不同IP只能访问对应端口的桶。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/540537.html

(0)
iOS照片如何自动上传到FTP服务器?,怎么设置
上一篇 2026年8月2日 19:49
佛山企业网站建设特色有哪些,创建设备需要注意什么?
下一篇 2026年8月2日 19:53

相关推荐

  • 如何用info域名代理实例访问内网域名?,内网域名怎么设置?

    对于需要在内网环境中通过代理访问服务的用户,使用info域名作为代理实例的入口域名,配合内网域名解析,是成本低且灵活度高的方案,很多团队在搭建内部服务时,都会遇到公网域名费用高、内网域名访问不畅的问题,而info域名以其低廉的价格和宽松的注册政策,成为代理实例的理想选择,本文将从实际场景出发,一步步教你如何配置……

    2026年8月5日
    700
  • 哪里能制作附近小程序?附近小程序制作费用

    附近小程序制作的核心在于利用LBS定位技术将线上流量与线下实体店精准匹配,通过低成本、高转化的本地化服务,帮助商家在3-5公里范围内获取精准客源并提升复购率,为什么本地商家需要定制附近小程序打破传统线下流量的地理局限过去,实体店的经营半径往往局限于步行可达的几百米,随着移动互联网的发展,用户的消费习惯发生了根本……

    2026年7月11日
    18400
  • IE状态栏的隐藏方法有哪些,具体怎么设置

    隐藏IE状态栏的方法很简单,直接右键点击IE工具栏空白处,取消勾选“状态栏”即可,或者通过“查看”菜单找到“状态栏”选项取消勾选,如果你希望彻底隐藏或通过系统级设置实现,本文会提供完整步骤和高级技巧,为什么要隐藏IE状态栏?这些场景你肯定遇到过状态栏是IE浏览器底部那条显示链接地址、加载进度、安全区域等信息的窄……

    2026年8月4日
    2400
  • 云栖大会ai大模型有哪些亮点?2026云栖大会ai大模型最新成果

    2026年云栖大会AI大模型的核心趋势已从单纯的技术参数竞赛转向垂直行业的深度落地,企业应重点关注多模态交互与私有化部署的结合,以解决数据隐私与实时响应痛点,云栖大会AI大模型技术演进与核心场景今年的云栖大会不再仅仅展示大模型的“智商”有多高,而是更关注它如何“干活”,对于开发者和企业决策者而言,理解技术背后的……

    2026年6月14日
    4600
  • 服务器Java是什么意思?,怎么安装使用

    选择服务器运行Java应用,核心在于匹配Java内存管理特性与CPU密集型需求,云服务器中通用型实例和计算型实例是常见选择,部署时需优先考虑操作系统兼容性和JDK版本稳定性,服务器Java环境搭建全流程从裸机到可以运行Java应用,环境搭建是第一步,这部分操作有章可循,按步骤执行可避免后续踩坑,操作系统与JDK……

    AI资讯 2026年7月17日
    600
  • 獬豸ai大模型好用吗?獬豸ai大模型怎么使用

    獬豸AI大模型并非单一软件,而是基于中国自主算力与算法构建的垂直领域智能中枢,其核心价值在于通过高可信度的逻辑推理与本土化数据训练,解决企业级应用中的合规性、安全性及复杂场景落地难题,在人工智能技术从“通用对话”向“行业深耕”转型的2026年,市场对于大模型的需求已发生根本性变化,企业不再仅仅满足于生成一段文案……

    2026年6月15日
    3600
  • 服务器系统升级安装失败怎么办?系统升级安装教程

    服务器系统升级安装并非简单的文件替换,而是一次涉及内核重构、驱动适配与数据备份的系统级重构,操作核心在于“先备份、后测试、再上线”的严谨流程,当企业决定对生产环境的服务器操作系统进行升级时,往往面临着业务连续性与技术迭代的博弈,这不仅仅是点击“下一步”那么简单,更是一场对运维团队应急能力的考验,许多企业在升级后……

    2026年7月5日
    3700
  • CCE集群节点IP可以改吗,IP更改器有用吗?

    开篇直接给答案CCE集群的节点不能直接更改IP地址, 无论是华为云CCE(云容器引擎)管理的节点,还是自建Kubernetes集群中的节点,IP一旦分配并完成节点初始化,就与kubelet证书、容器网络插件(如VPC-Router或Canal)、负载均衡配置深度绑定,强行修改IP会导致节点失联、Pod调度异常……

    2026年8月20日
    800
  • includehtml_是什么?,include是什么意思

    includehtml_是一种在页面中嵌入公共HTML片段的技术方案,百度蜘蛛能够抓取渲染后的内容,但动态加载的异步方式会影响收录时效, 如果你正在做模板化页面,想用一段代码控制全站的头部和底部,同时不想让SEO掉队,这篇文章会把includehtml_的用法、SEO影响和坑全部讲透,includehtml_怎……

    2026年8月20日
    600
  • iframe释放_iFrame

    iframe释放的核心在于通过移除或卸载iframe元素来回收其占用的内存和网络资源,从而直接优化页面加载速度和交互流畅度,很多开发者会遭遇嵌入第三方视频、地图或广告iframe后页面卡顿的场景,本质就是iframe持续占用资源,本文从资源释放机制、常见实现方法、与懒加载的区别以及SEO影响四个维度展开,帮你彻……

    2026年8月6日
    900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注