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

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

iptables owner 443 为什么不生效_网络地址

iptables的4表5链

  • 链:通过数据包的走向可以分为5种状态
  • inupt:对于目的是用户态应用程序的情况下使用的链
  • output:对于用户态应用程序产生的数据包使用的链
  • forward:用于一个网卡到另一个网卡使用的链
  • prerouting:对数据包路由选择之前使用的链
  • postrouting:对数据包路由选择之后使用的链
  • 表:针对链下面的类似规则属性进行汇总,便于管理
  • filter表:过滤数据包功能
  • nat表:实现网络地址转换,修改ip和端口功能
  • mangle:拆解报文,做出修改,并重新封装的功能
  • raw表:是否对连接追踪机制进行处理

5种数据包状态链

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

iptables owner 443 为什么不生效_应用程序_02

不是所有的链都包含4张表,每个数据包经过各链的表进行匹配规则

iptables owner 443 为什么不生效_用户态_03


规则(iptables配置)

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

  • command:执行的命令,查看(nvl)、删除(D)、插入(I)、修改®等等
  • 链名: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