博客
关于我
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工具自动生成模块文档的秘诀
    查看>>
    python 一个list去除另一个list中的值
    查看>>
    python 三大框架的 介绍。
    查看>>
    Python 下载的 11 种姿势,一种比一种高级!
    查看>>
    python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
    查看>>
    Python 中 3 个不可思议的返回功能
    查看>>
    python 中 dict 的另一种用法
    查看>>
    Python 中 PIL 读取图片出现异常旋转的解决方法
    查看>>
    python读取word表格内容(1)
    查看>>
    python 中os.path.join 双斜杠的解决办法
    查看>>
    python 中PIL.Image和OpenCV图像格式相互转换
    查看>>
    Python 中Semaphore 信号量对象、Event事件、Condition
    查看>>
    python 中with的使用及样例
    查看>>
    python读取txt文件的行数
    查看>>
    Python 中内置的最大堆 API
    查看>>
    Python 中只有一个 True 和一个 False 对象吗?
    查看>>
    python读取mtcars数据集并实现以下操作_关于数据处理。。,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
    查看>>
    Python 中多线程与多处理之间的区别
    查看>>
    Python 中如何使用 lambda 函数
    查看>>