0


linux-安全-iptables防火墙基础笔记

这篇将讲解iptables防火墙的基础知识

一、 iptables链结构

规则的作用:对数据包进行过滤或处理

规则链的作用:容纳各种防火墙的规则

五链

  1. input:处理入站数据包
  2. output:处理出站
  3. forward:处理转发
  4. postrouting:在路由选择后处理 内到外 SNAT
  5. prerouting:在路由选择前处理 外到内 DNAT

二、 iptables表结构

规则表作用:容纳各种规则链

四表

  1. raw:确定是否对该数据包进行状态跟踪
  2. mangle:为数据包设置标记
  3. nat:修改源、目标IP/端口
  4. filter:确定是否过滤

表链示意图


三、 匹配流程

表:raw-mangle-nat-filter

  • 入站:prerouting-input
  • 出站:output-postrouting
  • 转发:prerouting-forward-postrouting

链内匹配顺序:按顺序一次检查,匹配即停(log除外),若找不到相匹配的规则,则按该链默认策略

入站数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING链处理(是 否修改数据包地址等),然后进行路由选择(判断该数据包应发往何处);如果数据包的 目标地址是防火墙本机(如Internet用户访问网关的Web服务端口),那么内核将其传 递给INPUT链进行处理(决定是否允许通过等),通过以后再交给系统上层的应用程序 (如httpd 服务器)进行响应

转发数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING链处理,然 后再进行路由选择;如果数据包的目标地址是其他外部地址(如局域网用户通过网关访 问QQ服务器),则内核将其传递给FORWARD链进行处理(允许转发或拦截、丢弃), 最后交给POSTROUTING链(是否修改数据包的地址等)进行处理

出站数据流向:防火墙本机向外部地址发送的数据包(如在防火墙主机中测试公网DNS 服务时),首先进行路由选择,确定了输出路径后,再经由OUTPUT链处理,最后再 交给POSTROUTING链(是否修改数据包的地址等)进行处理


四、 语法

iptables [-t表名] 选项 [链名] [条件] [-j控制类型]

选项

  • -A:添加
  • -I:插入
  • -D:删除
  • -L:列出
  • -n:数字形式
  • -v:更详细
  • -F:删所有
  • -P:设置默认

控制类型

  • ACCEPT:允许
  • DROP:丢弃
  • REJECT:拒绝
  • LOG:日志

五、 匹配

1. 通用匹配

协议匹配:-p 协议名

地址

    -s:源地址

    -d:目标地址

接口

    -i:入站

    -o:出战

2. 隐含匹配

端口匹配

    --sport:源端口

    --dport:目标端口

ICMP

    --icmp-type 类型

3. 显示匹配

多端口

    -m multiport --sports

    -m multiport --dports

IP范围

    -m iprange --src-range

MAC

    -m mac --mac-source

状态

    -m state --state

域名

    -m string --string ".com" --algo bm

六、 SNAT

  1. 源地址转换,修改数据包的源地址
iptables -t nat -A POSTROUTING -s 192.168.180.0/24 -o ens37 -j SNAT --to-source 100.0.0.1
  1. 地址伪装-MASQUERADE,适用于外网IP地址不固定
iptables -t nat -A POSTROUTING -s 192.168.180.0/24 -o ens37 -j MASQUERADE

七、 DNAT

  1. 目标地址转换,修改数据包的目标地址
iptables -t nat -A PREROUTING -i ens37 -d 100.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.180.100

八、 规则备份及还原

1. 备份

iptables-save
iptables-save > 1.txt    //备份并保存到1.txt里

2. 还原

iptables-restore
iptables-restore < 1.txt    //从1.txt文件里导出备份的内容
标签: linux 安全 网络

本文转载自: https://blog.csdn.net/m0_68472908/article/details/144229413
版权归原作者 羊村懒哥 所有, 如有侵权,请联系我们删除。

“linux-安全-iptables防火墙基础笔记”的评论:

还没有评论