博客
关于我
linux_iptables防火墙
阅读量:136 次
发布时间:2019-02-26

本文共 2213 字,大约阅读时间需要 7 分钟。

iptables 防火墙参考文档

一.iptables 概述

iptables 是 Linux 系统的防火墙管理工具,主要工作在网络层,负责对 IP 数据包进行过滤。它通过规则表和规则链来管理数据包的处理,支持多种规则类型和匹配条件。

二.netfilter /iptables 关系

netfilter 是 iptables 的核心模块,属于内核态防火墙管理体系。而 iptables 则属于用户态防火墙管理,它基于内核的四个规则表(raw、mangle、nat 和 filter)来配置防火墙规则。

三.四表五链

四表
  • raw 表:处理数据包状态跟踪,包含 PREROUTING 和 OUTPUT 链。
  • mangle 表:修改数据包内容,包含 INPUT、OUTPUT、FORWARD、PREROUTING 和 POSTROUTING 链。
  • nat 表:负责网络地址转换,包含 OUTPUT、PREROUTING 和 POSTROUTING 链。
  • filter 表:过滤数据包,包含 INPUT、FORWARD 和 OUTPUT 链。
  • 五链
  • INPUT:处理入站数据包,匹配目标 IP 为本机的数据包。
  • OUTPUT:处理出站数据包,通常不在此链上配置规则。
  • FORWARD:处理转发数据包,匹配流经本机的数据包。
  • PREROUTING:在路由选择前处理数据包,用于 DNAT。
  • POSTROUTING:在路由选择后处理数据包,用于 SNAT。
  • 四.规则匹配顺序

  • 入站数据:
    • PREROUTING → INPUT → 本机应用程序
  • 出站数据:
    • 本机应用程序 → OUTPUT → POSTROUTING
  • 转发数据:
    • PREROUTING → FORWARD → POSTROUTING
  • 规则链内部匹配:
    • 自上而下依次检查规则,找到匹配规则后停止(LOG 策略例外)。
    • 若无匹配规则,按默认策略处理(未修改时,默认为允许)。
  • 五.iptables 安装

  • Centos 7:
    • 默认使用 firewalld 防火墙,若需使用 iptables:
      systemctl stop firewalld.serviceyum -y install iptables iptables-servicesystemctl start iptables.service
  • 六.iptables 命令行配置

  • 命令格式:

    iptables [-t 表名] [选项] [链名] [匹配条件] [-j 控制类型]
  • 注意事项:

    • 不指定表名,默认使用 filter 表。
    • 不指定链名,默认使用链内所有链。
    • 不指定匹配条件需默认处理。
    • 选项、链名、控制类型使用大写字母。
  • 常用控制类型:

    • ACCEPT:允许数据包通过。
    • DROP:丢弃数据包。
    • REJECT:拒绝数据包,返回错误信息。
    • SNAT:修改源地址。
    • DNAT:修改目的地址。
    • LOG:记录日志并继续处理。
  • 常用管理选项:

    • -A:在链末尾追加规则。
    • -I:在链开头插入规则。
    • -R:替换指定规则。
    • -P:设置链默认策略。
    • -D:删除规则。
    • -F:清空链规则。
    • -L:列出规则。
    • -n:显示数字形式。
    • -v:显示详细信息。
    • --line-numbers:显示规则序号。
  • 七.使用 iptables

  • 添加新规则:

    iptables -t filter -A INPUT -p icmp -j REJECTiptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT
  • 查看规则列表:

    iptables -n -L [链名] --line-numbers
  • 设置默认策略:

    iptables -P INPUT DROPiptables -P FORWARD DROP
  • 删除规则:

    iptables -D INPUT 2iptables -t filter -D INPUT -p icmp -j REJECT
  • 清空规则:

    iptables -F INPUTiptables -F
  • 八.DNAT 原理与应用

  • DNAT 应用环境:

    • 在 Internet 中发布局域网内的服务器。
  • DNAT 原理:

    • 修改数据包的目的地址。
  • DNAT 转换前提条件:

    • 服务器可访问 Internet。
    • 网关有正确的 DNS 解析记录。
    • 网关启用 IP 转发。
  • DNAT 开启方式:

    vim /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl -p
  • DNAT 转换示例:

    iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.133.10
  • 九.防火墙规则备份与还原

  • 备份:

    iptables-save > /opt/ipt.txt
  • 还原:

    iptables-restore < /opt/ipt.txt
  • 保存与重启:

    vim /etc/sysconfig/iptablesiptables-save > /etc/sysconfig/iptablessystemctl stop iptablessystemctl start iptables
  • 以上内容可根据实际需求进行调整和扩展,作为 iptables 防火墙配置和管理的参考文档。

    转载地址:http://qseu.baihongyu.com/

    你可能感兴趣的文章
    python+flask计算机毕业设计高校校内景点平台(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校校园线上跳蚤市场的系统设计(程序+开题+论文)
    查看>>
    Python图形处理
    查看>>
    python+flask计算机毕业设计高校物品使用互益平台的设计与实现(程序+开题+论文)
    查看>>
    Python函数,匿名函数,高阶函数,内置函数——08
    查看>>
    python+flask计算机毕业设计高校疫情防控管理平台(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校网上迎新系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校运动会(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校选课系统(程序+开题+论文)
    查看>>
    Python+Jenkins+Allure Report接口自动化测试持续集成
    查看>>
    python+locust电商全流程性能测试
    查看>>
    Python函数运行的可执行文件的终端输出如何以一般方式静音?
    查看>>
    Python+Pytest+Allure+Git+Jenkins接口自动化框架
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    Python+pytest接口自动化 —— 接口测试基础
    查看>>
    python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
    查看>>
    Python+pytest接口自动化之cookie绕过登录(保持登录状态)
    查看>>
    python+pytest接口自动化:接口测试
    查看>>
    Python+requests+unittest执行接口自动化测试详情
    查看>>