linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
  • Ansible

    • Ansible: 基本操作
    • Ansible: 安装
    • Ansible: 简介
    • YAML: 文件格式
    • Playbook

      • Playbook: 介绍
      • Playbook: 操作
    • 模块

      • Yum模块常用参数
    • 实战

      • Ansible 实战
  • Anaconda

    • Anaconda命令
  • Iptables

    • Iptable: 防火墙
    • iptables 用法
  • Systemd

    • 系统服务配置
    • 系统服务启动文件
    • 性能优化

      • Linux 系统监控
      • Linux 系统性能优化
      • Linux 系统故障诊断
      • Linux 系统日志管理
  • Network

    • 用一张图解释 8 种流行的网络协议
    • 反子网掩码
    • 交换机端口模式
    • eNSP 软件
    • 华为交换机配置命令
    • eNSP静态路由实验
  • Commands

    • 命令别名:alias
    • 多类型资源统计工具: dstat
    • history配置
    • unzip命令
    • Linux用户到期登录时间和随机密码
    • 常用 Command
    • ssh

      • ssh-keygen
      • linux ssh命令
  • CI/CD

    • Jenkins CI/CD 管道
  • Kubernetes

    • Docker系列学习

      • 01. 什么是Docker
      • 02. Docker安装
      • 03. 使用Docker镜像
      • 04. 利用commit理解镜像构成
      • 05. 操作Docker容器
      • 06. 使用Dockerfile定制镜像
      • 07. Dockerfile指令详解
      • 08. Dockerfile多阶段创建
      • 09. 访问仓库
      • 10. 修改docker的启动项
      • 11. Nexus3.x的私有仓库
      • 12. docker-hub加速器
      • 13. 数据管理
      • 14. 使用网络
  • Shell编程

    • Shell 编程基础
    • Shell 脚本执行消耗的时间
    • Shell 自动生成简介

Iptable: 防火墙

  • 什么是防火墙
    • 防火墙分类
    • iptables的工作原理
    • netfilter 钩子点
    • 表和链
    • 防火墙策略
  • 常用命令示例
    • 基本防护配置
    • 服务访问控制
    • 防止 DDoS 攻击
    • 保存和恢复规则

什么是防火墙

防火墙是一种网络安全设备,用于控制和监控网络流量。主要分为:

  • 硬件防火墙: 专用硬件设备
  • 软件防火墙: 如 Linux 的 iptables

防火墙分类

  1. 网络层防火墙 (L3/L4)

    • 工作在 OSI 第 3/4 层
    • 主要检查源/目标地址和端口
    • 处理速度快,适合大流量环境
  2. 应用层防火墙 (L7)

    • 工作在 OSI 第 7 层
    • 可以理解应用层协议
    • 提供更细粒度的控制
    • 处理速度相对较慢

iptables的工作原理

iptables 是 Linux 系统中的包过滤防火墙,具有以下特点:

  • 基于 netfilter 框架
  • 支持状态检测
  • 可扩展的规则系统
  • 支持 NAT 和数据包修改

netfilter 钩子点

netfilter 在内核中提供了 5 个钩子点:

  1. PREROUTING: 数据包进入路由表之前
  2. INPUT: 数据包流入本地进程
  3. FORWARD: 数据包需要转发时
  4. OUTPUT: 本地进程发出的数据包
  5. POSTROUTING: 数据包离开路由表之后

表和链

iptables 使用"表"来组织规则,每个表包含多个"链":

表的类型

  1. filter 表: 默认表,负责过滤
  2. nat 表: 网络地址转换
  3. mangle 表: 数据包修改
  4. raw 表: 连接跟踪豁免

规则匹配顺序

  1. 表的处理顺序:raw -> mangle -> nat -> filter
  2. 链内规则从上到下依次匹配
  3. 找到匹配规则后执行动作,除非指定继续

防火墙策略

iptables 支持两种基本策略:

  • DROP: 默认拒绝(白名单模式)
  • ACCEPT: 默认允许(黑名单模式)

常用命令示例

基本防护配置

# 清空现有规则
iptables -F

# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT

服务访问控制

# 允许 SSH 访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许 Web 服务
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

防止 DDoS 攻击

# 限制单 IP 并发连接数
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 15 -j DROP

# 限制连接速率
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

保存和恢复规则

# 保存规则
iptables-save > /etc/iptables/rules.v4

# 恢复规则
iptables-restore < /etc/iptables/rules.v4

最佳实践:

  • 始终备份当前规则
  • 先测试后应用
  • 保留远程管理访问
  • 定期审计规则
最近更新时间:
Next
iptables 用法