Skip to content

IP黑白名单过滤器 🛡️

功能介绍 💡

WARNING

IP黑白名单过滤器用于控制接口的访问权限,通过IP地址过滤来提升系统安全性。

过滤模式

  • 🚫 黑名单模式:设置禁止访问的IP列表
  • 白名单模式:设置允许访问的IP列表

应用场景

  • ✓ 内部系统访问控制
  • ✓ 生产环境安全防护
  • ✓ 特定区域访问限制
  • ✓ 办公网络访问控制

配置说明 ⚙️

基础配置参数

参数名类型必填默认值说明
enabledbooleanfalse是否启用过滤器
rulesarray[object]-过滤规则列表

过滤规则配置 (rules)

参数名类型必填默认值说明
typestring-过滤类型:blacklist/whitelist
ipsarray[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个地址)

最佳实践 💡

  1. 安全建议

    • 优先使用白名单模式
    • 定期审查IP列表
    • 避免过于宽泛的网段
  2. 配置建议

    • 合理规划IP范围
    • 记录IP拦截日志
    • 预留应急处理方案

注意事项 ⚠️

  1. 白名单模式下未列出的IP将被拒绝
  2. 黑名单模式下未列出的IP将被允许
  3. 掩码格式需要谨慎使用
  4. 确保管理IP在白名单内

常见问题 ❓

无法访问系统

  • 检查IP是否在白名单中
  • 确认IP格式是否正确
  • 验证掩码配置是否准确

IP限制不生效

  • 检查enabled是否为true
  • 确认规则配置是否正确
  • 验证IP获取是否准确