登录
首页 >  文章 >  php教程

宝塔面板IP访问限制设置教程

时间:2026-04-30 19:58:29 363浏览 收藏

本文详细解析了宝塔面板IP访问限制的四大核心手段——内置IP白名单(应用层即时生效,但不拦截8443端口)、firewalld系统级防火墙规则(底层拦截8888端口,防暴力扫描)、网站防盗链功能的常见误解(明确其与IP限制无关),以及更彻底的面板绑定IP设置(让服务仅监听本地或内网地址),并强调三者独立运作、需协同配置才能真正筑牢安全防线,尤其针对云服务器暴露公网等高风险场景给出可落地的组合防护方案。

宝塔面板安装后如何限制访问IP_设置宝塔安全防盗链

宝塔面板后台只允许指定IP访问

最直接有效的方式是启用宝塔内置的IP白名单,它作用在应用层,配置即时生效,且不依赖系统防火墙状态。很多人误以为要进「网站」设置里配,其实入口在左侧菜单最底部的安全模块——点进去后,必须先开启IP白名单开关,下方输入框才可用;不点开开关,填了也完全无效。

  • 支持单IP(如 203.203.203.203)或CIDR网段(如 192.168.1.0/24),多个用英文逗号分隔
  • 备注栏建议写清楚用途(例如“北京办公室出口IP”),方便后续排查
  • 启用后右上角会显示“IP访问限制已开启”,但注意:该功能**不拦截HTTPS端口8443**,如需限制,请同步在防火墙或绑定IP中处理
  • 若你用的是云服务器且安全组已放行8888端口,仅开宝塔白名单还不够——攻击者可能绕过面板直接打到端口,这时得配合下一条

用firewalld在系统层封死非白名单IP连8888端口

宝塔白名单本质是服务内校验,而firewalld是在网络栈更底层拦截,两者叠加才能防住扫描器暴力试探。尤其当你无法修改安全组、或服务器长期暴露公网时,这步不能省。

  • 先确认firewalld运行中:systemctl status firewalld
  • 放行可信IP(示例):firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="114.114.114.114" port port="8888" protocol="tcp" accept'
  • 拒绝其他所有:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="8888" protocol="tcp" reject'
  • 重载生效:firewall-cmd --reload
  • 常见坑:漏掉--permanent参数,重启后规则丢失;或没加protocol="tcp"导致规则不匹配

防盗链不是防IP,别混用

用户常把“限制IP访问面板”和“网站防盗链”当成一回事,其实二者完全无关。防盗链功能只控制HTTP请求头中的Referer字段,用于阻止别人在自己的网页里嵌你的图片/CSS/JS等静态资源,对后台登录、API调用、面板访问毫无影响。

  • 路径是:网站 → 点击具体域名 → 左侧防盗链 → 填写许可域名(如 www.example.com
  • 它不会拦住用curl -H "Referer: xxx" http://your-ip:8888这种伪造请求,更不会拦面板登录页
  • 如果你发现启用了防盗链却还能从别的站加载自己图片,大概率是勾选了允许空HTTP_REFERER请求,这是默认开启的,属于合理设计,不是bug

别忽略面板绑定IP这个隐藏开关

比白名单和防火墙更彻底的方案,是让宝塔服务本身就不监听外网IP。执行bt 10进入设置,选择修改绑定IP,填入127.0.0.1或内网段(如 192.168.1.0/24),面板就会只响应来自本机或局域网的连接——连防火墙都省了。

  • 适合内网管理场景,比如公司NAS或跳板机后面管多台服务器
  • 填错会导致自己也登不上,务必提前确认当前SSH登录IP是否在白名单内
  • 如果必须公网访问,又想兼顾安全,建议组合使用:绑定IP设为127.0.0.1 + Nginx反向代理(带IP校验)+ 域名访问,这样8888端口根本不对外暴露

真正容易被忽略的点是:宝塔的安全模块白名单、网站里的访问限制、以及防火墙插件,三者独立运行、互不感知。开了A不一定等于B和C也生效,得一个个确认开关状态和生效范围。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>