黑白名单配置服务器访问权限管控:黑白名单配置详解

前言

黑白名单是服务器访问权限管控的常用手段,白名单只允许指定IP或地址段访问,黑名单则禁止某些IP访问。
无论你是想限制后台登录来源、保护SSH端口,还是屏蔽恶意爬虫,掌握黑白名单配置都能直接提升服务器安全性。
本文面向零基础用户,分别讲解宝塔面板和Linux命令行两种方式,确保你读完就能落地执行。

准备条件

  • 一台已装好操作系统的云服务器(本文以CentOS 7/Ubuntu 20.04为例,其他发行版命令类似)。
  • 如果使用宝塔面板,需提前安装宝塔面板(免费版即可)并登录后台。
  • 如果使用命令行,准备好SSH客户端(如PuTTY、Terminal)和root或sudo权限。
  • 明确你需要管控的服务端口(例如22、80、443)和IP范围。

宝塔面板配置黑白名单(推荐新手)

宝塔面板提供了可视化防火墙功能,配置黑白名单非常直观。

1. 进入防火墙界面

登录宝塔面板后台,点击左侧菜单“安全”->“防火墙”,进入防火墙管理页面。
这里会显示当前服务器的放行端口和规则列表。

2. 添加IP白名单

  • 点击“IP规则”选项卡,再点击“添加IP规则”。
  • 规则类型选择“白名单”。
  • IP地址填写你要放行的IP(例如你办公网的公网IP 1.2.3.4),如果需要允许整个段,填入1.2.3.0/24
  • 备注可写“办公IP白名单”方便管理。
  • 点击“添加”,该IP即刻放行所有端口(如果之前有黑名单冲突,则白名单优先)。

3. 添加IP黑名单

同样在“IP规则”页面,点击“添加IP规则”。

  • 规则类型选择“黑名单”。
  • IP地址填写要屏蔽的IP(例如已知恶意IP 5.6.7.8)。
  • 添加后该IP无法访问服务器的任何端口(包括SSH和网站)。
注意:宝塔面板的黑白名单规则优先级:白名单 > 黑名单。如果某个IP同时存在白名单和黑名单规则,白名单生效。

4. 针对端口的黑白名单(更精细)

如果你只想对特定端口做限制(例如只允许某些IP访问SSH的22端口),可以使用“端口规则”。

  • 在防火墙页面点击“添加端口规则”。
  • 端口填22,协议选TCP,来源IP填写你允许的IP或IP段,动作选“允许”。
  • 然后添加一条拒绝规则,来源IP填0.0.0.0/0,动作选“禁止”,这条规则放在允许规则之后。
  • 宝塔面板会自动按顺序匹配,匹配到允许则放行,否则匹配到禁止则拒绝。

命令行方式配置(使用iptables)

如果你没有宝塔面板,或者想更底层地控制防火墙,可以用iptables。
以下命令以CentOS 7为例,Ubuntu需先安装iptables-persistent并注意ufw冲突。

1. 查看当前规则

iptables -L -n --line-numbers

如果没有规则,默认是ACCEPT所有流量。

2. 配置白名单(仅允许指定IP访问SSH)

# 允许指定IP(例如1.2.3.4)访问22端口
iptables -A INPUT -p tcp --dport 22 -s 1.2.3.4 -j ACCEPT
# 拒绝其他所有IP访问22端口
iptables -A INPUT -p tcp --dport 22 -j DROP

注意顺序:先添加允许规则,再添加拒绝规则,否则拒绝规则会先匹配导致白名单失效。

3. 配置黑名单(屏蔽某个IP的所有访问)

iptables -A INPUT -s 5.6.7.8 -j DROP

这条命令会丢弃来自5.6.7.8的所有数据包。

4. 保存规则(持久化)

iptables规则默认重启后失效,需要保存。

  • CentOS 7:service iptables saveiptables-save > /etc/sysconfig/iptables
  • Ubuntu:安装iptables-persistent后使用netfilter-persistent save
提示:如果你用的是CentOS 8或更高版本,系统默认使用firewalld,建议用firewall-cmd代替iptables,或先停用firewalld再启用iptables服务。

避坑指南

  1. 千万别把自己封在外面

配置SSH白名单前,先确认你当前的IP是否在允许范围内。
如果不小心封了自己的IP,可以通过云服务商控制台的VNC进入系统,或提前添加备用IP白名单。

  1. 宝塔面板中黑白规则不要互相矛盾

同一个IP同时出现在白名单和黑名单时,白名单生效,但容易混淆。
建议只使用一种方式,或者明确统一。

  1. 命令行规则顺序很重要

iptables按顺序匹配,一旦匹配则不再往下执行。
所以允许规则必须放在拒绝规则前面。

  1. 修改后务必验证

配置完成先不要关闭当前SSH连接,另开一个窗口测试能否正常登录,或使用curl从外部测试端口是否可达。

  1. firewalld用户别搞混

如果你使用firewalld,不要同时操作iptables,两者可能冲突。
建议固定在一种防火墙管理工具上。

效果验证

宝塔面板验证

  • 在防火墙页面查看IP规则列表,确认添加的规则状态为“已生效”。
  • 使用被禁止的IP访问服务器网站或SSH,应提示连接超时或被拒绝。
  • 使用被允许的IP访问,应正常建立连接。

命令行验证

# 查看iptables规则确认存在
iptables -L -n --line-numbers
# 从其他机器测试端口连通性(例如用telnet或nc)
telnet 你的服务器IP 22
# 如果被屏蔽应显示无法连接

也可以临时添加一条日志规则来观察匹配情况:

iptables -I INPUT -s 5.6.7.8 -j LOG --log-prefix "BLACKLIST-DROP: "

查看/var/log/messagesdmesg确认有日志输出。

结语

黑白名单配置是服务器访问权限管控的基础操作,无论你用宝塔面板还是命令行,理解原理并掌握验证方法就能避免踩坑。
建议先在测试环境演练,再应用到生产服务器。
如果你遇到配置后无法访问的情况,先检查规则顺序和IP地址是否写错,必要时通过VNC恢复初始设置。

如果你对更复杂的场景(如动态黑名单、fail2ban联动)感兴趣,可以继续查看本站相关教程。

分享到:
上一篇
Nginx反向代理多外贸站点统一入口
下一篇
缓存插件适配海外搜索引擎提速站点
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意