当前位置: 首页 > news >正文

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

目录

一、 iptables链结构

五链

二、 iptables表结构

四表

三、 匹配流程

四、 语法

五、 匹配

1. 通用匹配

2. 隐含匹配

3. 显示匹配

六、 SNAT

七、 DNAT

八、 规则备份及还原

1. 备份

2. 还原


这篇将讲解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

2. 地址伪装-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文件里导出备份的内容
http://www.lryc.cn/news/500938.html

相关文章:

  • 力扣刷题TOP101: 25.BM32合并二叉树
  • R的中文文本处理包--tmcn
  • 差异基因富集分析(R语言——GOKEGGGSEA)
  • scrapy对接rabbitmq的时候使用post请求
  • vue+elementUI+transition实现鼠标滑过div展开内容,鼠标划出收起内容,加防抖功能
  • 大模型语料库的构建过程 包括知识图谱构建 垂直知识图谱构建 输入到sql构建 输入到cypher构建 通过智能体管理数据生产组件
  • 阿里云ECS服务器域名解析
  • 牛客周赛71:A:JAVA
  • 查询产品所涉及的表有(product、product_admin_mapping)
  • 算法基础学习Day5(双指针、动态窗口)
  • docker 部署 mysql 9.0.1
  • 关于小标join大表,操作不当会导致笛卡尔积,数据倾斜
  • SpringMVC全局异常处理
  • 出海服务器可以用国内云防护吗
  • 从零开始的使用SpringBoot和WebSocket打造实时共享文档应用
  • Ant Design Pro实战--day01
  • pcl点云库离线版本构建
  • 字节高频算法面试题:小于 n 的最大数
  • ElasticSearch常见面试题汇总
  • Spring Boot如何实现防盗链
  • 工作中常用springboot启动后执行的方法
  • 力扣-图论-3【算法学习day.53】
  • Linux上的C语言编程实践
  • 芝法酱学习笔记(1.3)——SpringBoot+mybatis plus+atomikos实现多数据源事务
  • 【计算机网络】实验12:网际控制报文协议ICMP的应用
  • 收缩 tempdb 数据库
  • kubesphere搭建 postgres15
  • 解决npm问题用到的资源,错误原因和方法
  • 【uni-app 微信小程序】新版本发布提示用户进行更新
  • Redis性能优化18招