iptables 基础

iptables防火墙
主要实现数据包的过滤、封包重定向和网络地址转换(NAT)等功能

  • iptables:用户空间的命令行工具,用于管理配置
  • netfilter:真正实现功能的是netfilter运行在内核空间

iptables 基础_第1张图片

iptables的4表5链

  • 链:通过数据包的走向可以分为5种状态

    • inupt:对于目的是用户态应用程序的情况下使用的链
    • output:对于用户态应用程序产生的数据包使用的链
    • forward:用于一个网卡到另一个网卡使用的链
    • prerouting:对数据包路由选择之前使用的链
    • postrouting:对数据包路由选择之后使用的链
  • 表:针对链下面的类似规则属性进行汇总,便于管理

    • filter表:过滤数据包功能
    • nat表:实现网络地址转换,修改ip和端口功能
    • mangle:拆解报文,做出修改,并重新封装的功能
    • raw表:是否对连接追踪机制进行处理

5种数据包状态链

  • 有数据包去往主机的:PREROUTING>INPUT
  • app应用产生的数据包发出去:OUTPUT>POSTROUTING
  • 数据包的目的不是本机:PREROUTING>FORWARD>POSTROUTING

iptables 基础_第2张图片

不是所有的链都包含4张表,每个数据包经过各链的表进行匹配规则
iptables 基础_第3张图片
规则(iptables配置)

格式:iptables [-t 表名] command 链名 [规则序号] 匹配条件 -j 执行动作 (默认不写表名为filter表)

  • command:执行的命令,查看、删除、插入、修改等等
  • 链名:5个链的链名
  • 规则序号:用于规则的匹配位置,默认不写为末尾行添加
  • 匹配条件:基于tcp五元组包过滤条件
  • 执行动作:规则匹配具体的动作,拒绝、运行、nat等等
    • ACCETP:允许
    • DROP:阻止,不返回icmp
    • REJECT:拒绝,返回icmp
    • SNAT:源nat
    • DNAT:目的nat
    • LOG:日志文件
    • RETURN:直接返回,不匹配后面的规则了
    • MASQUERADE:动态源nat
    • REDIRECT:端口映射
    • MARK:打标签

匹配条件

  • 通用匹配:
    • -s:源ip
    • -d:目的ip
    • -i:指定接口进入的数据包
    • -o:指定接口发出的数据包
  • 扩展匹配
    • -p:协议类似,tcp、udp、icmp
    • - -sport:源端口
    • - - dport:目的端口
  • 常用扩展模块
    • multiport :指定多个非连续端口,支持 tcp 、udp 协议
    • iprange :连续 IP 地址范围
    • string :匹配数据包中的字符串
    • time :根据指定时间范围来进行匹配
    • connlimit :客户端到服务端的连接数限制
    • limit :限制报文的速率
    • udp :udp 协议扩展
    • icmp :icmp 协议扩展,多用于 ping 命令
    • state :对连接状态进行追踪

永久存储

  • iptables-save > /etc/sysconfig/iptables

你可能感兴趣的:(Red,Hat8,/Linux,iptables)