外观
IP黑白名单过滤器 🛡️
功能介绍 💡
WARNING
IP黑白名单过滤器用于控制接口的访问权限,通过IP地址过滤来提升系统安全性。
过滤模式
- 🚫 黑名单模式:设置禁止访问的IP列表
- ✅ 白名单模式:设置允许访问的IP列表
应用场景
- ✓ 内部系统访问控制
- ✓ 生产环境安全防护
- ✓ 特定区域访问限制
- ✓ 办公网络访问控制
配置说明 ⚙️
基础配置参数
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
enabled | boolean | 否 | false | 是否启用过滤器 |
rules | array[object] | 是 | - | 过滤规则列表 |
过滤规则配置 (rules)
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
type | string | 否 | - | 过滤类型:blacklist /whitelist |
ips | array[string] | 是 | - | IP地址列表,支持掩码格式 |
配置示例 📝
基础白名单配置
yaml
# 基础IP白名单配置
gateway:
filter:
ip:
enabled: true # 是否启用,默认false
rules:
- urls:
- /**
type: whitelist # 类型
ips: # ip地址
- 127.0.0.1
- 192.168.1.100
基础黑名单配置
yaml
# 基础IP黑名单配置
gateway:
filter:
ip:
enabled: true
rules:
- urls:
- /**
type: blacklist # 黑名单类型
ips: # 禁止访问的IP地址
- 10.0.0.1
- 192.168.2.100
高级配置示例
yaml
# 高级IP过滤配置示例
gateway:
filter:
ip:
enabled: true
rules:
- urls:
- /api/**
type: blacklist
ips:
- 10.0.0.1
- 192.168.2.0/24 # 使用掩码格式
- urls:
- /admin/**
type: whitelist
ips:
- 192.168.1.0/24 # 整个网段
- 10.10.10.10
完整配置示例
yaml
# 完整的IP黑白名单配置示例
gateway:
filter:
ip:
enabled: true
rules:
# 管理后台白名单(最严格)
- urls:
- /admin/**
- /system/**
type: whitelist
ips:
- 192.168.1.0/24 # 办公网络
- 10.0.0.0/16 # 内网网段
- 172.16.0.0/12 # 私有网络
- 127.0.0.1 # 本地回环
# API接口黑名单(防恶意IP)
- urls:
- /api/**
type: blacklist
ips:
- 192.168.100.0/24 # 恶意网段
- 10.255.255.1 # 特定恶意IP
- 172.31.0.0/16 # 禁止网段
# 支付接口白名单(极严格)
- urls:
- /payment/**
- /finance/**
type: whitelist
ips:
- 192.168.1.10 # 财务办公IP
- 192.168.1.11 # 备用财务IP
# 开发接口白名单
- urls:
- /dev/**
- /test/**
type: whitelist
ips:
- 192.168.10.0/24 # 开发网段
- 127.0.0.1 # 本地开发
- ::1 # IPv6本地
不同环境配置
yaml
# 不同环境的IP过滤配置
gateway:
filter:
ip:
enabled: true
rules:
# 生产环境配置(严格)
- urls:
- /prod/**
type: whitelist
ips:
- 192.168.1.0/24 # 生产办公网
- 10.0.1.0/24 # 生产服务网段
# 测试环境配置(中等)
- urls:
- /test/**
type: whitelist
ips:
- 192.168.0.0/16 # 测试网络
- 10.0.0.0/16 # 内网范围
- 127.0.0.1 # 本地测试
# 开发环境配置(宽松)
- urls:
- /dev/**
type: blacklist
ips:
- 192.168.200.0/24 # 禁止的开发网段
- 10.255.0.0/16 # 危险网段
业务场景配置
yaml
# 不同业务场景的IP配置
gateway:
filter:
ip:
enabled: true
rules:
# 内部办公系统(严格白名单)
- urls:
- /internal/**
- /hr/**
- /oa/**
type: whitelist
ips:
- 192.168.1.0/24 # 总部办公网
- 192.168.2.0/24 # 分公司网络
- 10.0.1.0/24 # VPN网段
# 客户服务系统(黑名单模式)
- urls:
- /customer/**
- /service/**
type: blacklist
ips:
- 192.168.100.0/24 # 已知恶意网段
- 10.255.255.0/24 # 攻击来源网段
# 合作伙伴接口(指定白名单)
- urls:
- /partner/**
- /api/external/**
type: whitelist
ips:
- 203.0.113.0/24 # 合作伙伴A网段
- 198.51.100.10 # 合作伙伴B服务器
- 192.0.2.20 # 合作伙伴C服务器
# 监控系统(严格控制)
- urls:
- /monitor/**
- /metrics/**
type: whitelist
ips:
- 192.168.1.100 # 监控服务器
- 10.0.1.200 # 备用监控
IP掩码说明 📌
常见掩码格式
- 单个IP:
192.168.1.1
- 网段掩码:
192.168.1.0/24
- 子网示例:
/24
= 允许最后一位任意(256个地址)/16
= 允许后两位任意(65536个地址)
最佳实践 💡
安全建议
- 优先使用白名单模式
- 定期审查IP列表
- 避免过于宽泛的网段
配置建议
- 合理规划IP范围
- 记录IP拦截日志
- 预留应急处理方案
注意事项 ⚠️
- 白名单模式下未列出的IP将被拒绝
- 黑名单模式下未列出的IP将被允许
- 掩码格式需要谨慎使用
- 确保管理IP在白名单内
常见问题 ❓
无法访问系统
- 检查IP是否在白名单中
- 确认IP格式是否正确
- 验证掩码配置是否准确
IP限制不生效
- 检查enabled是否为true
- 确认规则配置是否正确
- 验证IP获取是否准确