博客
关于我
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基础 | 关于“循环”那些事
    查看>>
    python系列【仅供参考】:python之subprocess模块rsync拉取文件
    查看>>
    python系列【仅供参考】:python 远程rdp
    查看>>
    python基础
    查看>>
    Python基本语法与变量类型
    查看>>
    python基本数据类型(容器)- tuple list dict set
    查看>>
    python基本工资的调整方案_Python薪资又涨了!这可咋办!
    查看>>
    Python基准测试和性能分析内存管理和垃圾回收
    查看>>
    Python基于RESTful风格的接口自动化测试实战
    查看>>
    python基于flask搭建http服务(四)—— Docker容器化部署
    查看>>
    python基于flask搭建http服务(二)—— 实现Excel上传、数据清洗、入库
    查看>>
    python基于flask搭建http服务(三)—— 使用gunicorn部署项目
    查看>>
    python基于flask搭建http服务(一)—— 实现数据查询和Excel导出
    查看>>
    Python块键盘/鼠标输入
    查看>>
    python在心理学研究中的应用有哪些_心理学在线研究可用平台简介和应用进展
    查看>>
    python在使用HTMLTestRunner时,报告为空,错误提示<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf_8'>...
    查看>>
    python在gpu上运行_【python】python开启GPU加速
    查看>>
    Python在def函数中使用for循环
    查看>>
    Python在def函数中使用for循环
    查看>>
    Python在Conda环境中,但在Windows虚拟环境中没有激活
    查看>>