iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux netfilter/iptables知识点详解
  • 938
分享到

Linux netfilter/iptables知识点详解

Linuxnetfilteriptables 2022-06-03 14:06:36 938人浏览 八月长安
摘要

Netfilter Netfilter是linux内核中的一个数据包处理模块,它可以提供数据包的过滤、转发、地址转换NAT功能。Iptables是一个工具,可以用来在Netfilter中增加、修改、删除数据包处理规则

Netfilter

Netfilter是linux内核中的一个数据包处理模块,它可以提供数据包的过滤、转发、地址转换NAT功能。Iptables是一个工具,可以用来在Netfilter中增加、修改、删除数据包处理规则。

Netfilter是位于网卡和内核协议栈之间的一堵墙,是一种免费的软件防火墙。

Netfilter中有三个主要的概念:规则、表、链,等级依次递增。

  • 规则是对特定报文的处理说明,包括匹配字段和action。
  • 链是一组规则的集合
  • 表是链中相同功能的规则集合。

规则

链可以看作网卡和内核协议栈之前的多道关卡,对于不通类型的报文,走不通的关卡进行处理,即匹配不通的链。

  • 由网卡上送到内核协议栈的报文:PREROUTING -> INPUT
  • 由网卡出来不能上送到内核协议栈的报文:PREROUTING -> FORWARD -> POSTROUTING
  • 由内核协议栈送往网卡的报文:OUTPUT -> POSTROUTING

为了管理方便,链中相同功能的规则被组织在了一张表中,iptables已经为我们定义了四张表。

表的优先级次序(由高到低):raw -> mangle -> nat -> filter

表链关系

一张链中可以有多张表,但是不一定拥有全部的表。

数据包的处理是根据链来进行的,但是实际的使用过程中,是通过表来作为操作入口,来对规则进行定义的。

iptables

iptables介绍

linux的包过滤功能,即linux防火墙,它由netfilter 和 iptables 两个组件组成。

netfilter 组件也称为内核空间,是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。

iptables 组件是一种工具,也称为用户空间,它使插入、修改和除去信息包过滤表中的规则变得容易。

iptables基础

我们知道iptables是按照规则来办事的,规则其实就是网络管理员预定义的条件,规则一般的定义为"如果数据包头符合这样的条件,就这样处理这个数据包"。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如tcp、UDP、ICMP)和服务类型(如Http、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。

当客户端访问服务器WEB服务时,客户端发送报文到网卡,而tcp/ip协议栈是属于内核的一部分,所以,客户端的信息会通过内核的TCP协议传输到用户空间中的web服务中,而此时,客户端报文的目标终点为web服务所监听的套接字(IP:Port)上,当web服务需要响应客户端请求时,web服务发出的响应报文的目标终点则为客户端,这个时候,web服务所监听的IP与端口反而变成了原点,我们说过,netfilter才是真正的防火墙,它是内核的一部分,所以,如果我们想要防火墙能够达到"防火"的目的,则需要在内核中设置关卡,所有进出的报文都要通过这些关卡,经过检查后,符合放行条件的才能放行,符合阻拦条件的则需要被阻止,于是,就出现了input关卡和output关卡,而这些关卡在iptables中不被称为"关卡",而被称为"链"。

到此这篇关于Linux netfilter/iptables知识点详解的文章就介绍到这了,更多相关Linux - netfilter/iptables内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Linux netfilter/iptables知识点详解

本文链接: https://www.lsjlt.com/news/11397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • iptables基础知识点有哪些
    这篇文章主要介绍了iptables基础知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇iptables基础知识点有哪些文章都会有所收获,下面我们一起来看看吧。iptables可以适用于所有的Linux...
    99+
    2023-06-28
  • javascript知识点详解
    目录一.JavaScript基本介绍二、Javascript基础语法三、JavaScript事件例子2:当点击div标签时,做一件事,如点击后弹出对话框。——用id类例子3:添加标签...
    99+
    2024-04-02
  • 详解Java注解知识点
    目录一、注解是什么二、jdk支持的注解有哪些2.1 三种常用的注解:2.2 元注解三、注解实例四、总结一、注解是什么 Java 注解用于为 Java 代码提供元数据,看完这句话也许你...
    99+
    2024-04-02
  • Linux系统iptables基础知识有哪些
    这篇文章给大家介绍Linux系统iptables基础知识有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptable...
    99+
    2023-06-28
  • Linux的iptables基础知识和规则原理讲解
    这篇文章主要介绍“Linux的iptables基础知识和规则原理讲解”,在日常操作中,相信很多人在Linux的iptables基础知识和规则原理讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux的i...
    99+
    2023-06-13
  • MySQL索引知识点详解
    这篇文章主要讲解了“MySQL索引知识点详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL索引知识点详解”吧!普通索引创建索引这是最基本的索引,它...
    99+
    2024-04-02
  • 【知识点】python的__init__详解
    介绍__init__方法的作用 __init__ 方法是 Python 中面向对象编程中类的特殊方法,也称为构造方法,当创建一个类的实例时,__init__ 方法会自动调用。 它的主要作用是初始化实例的属性,在实例被创建后,你可以通过这...
    99+
    2023-09-02
    python Powered by 金山文档
  • linux基础知识-sar详解
    1.前言 sar(System Activity Reporter系统活动情况报告)是目前Linux比较全的系统性能分析工具之一,可以从多方面对系统的活动进行报告 ,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用...
    99+
    2023-08-19
    linux 服务器 运维
  • linux运维知识点
    Linux作为一种开源操作系统,被广泛地应用于企业、政府和私人用户的计算机系统中,其优越的稳定性、安全性和灵活性使得 Linux 成为了云计算、大数据和人工智能等最热门领域的重要组成部分。对于从事 Linux 运维的人员来说,了解其知识点和...
    99+
    2023-10-01
    linux 运维 服务器
  • java伪泛型知识点详解
    说明 1、Java中的泛型是伪泛型。这种泛型实现方法称为类型擦除 ,基于这种方法实现的泛型称为伪泛型。 2、由于Java的泛型只在编译阶段发挥作用,因此在写代码时,起到了检查的作用,...
    99+
    2024-04-02
  • linux基础知识-vmstat详解
    1. 前言 vmstat(VirtualMeomoryStatistics,虚拟内存统计)是一个不错的Linux/Unix监控工具,在性能测试中除了top外也是比较常用的工具之一,它可以监控操作系统的...
    99+
    2023-09-24
    linux 运维 服务器
  • JS闭包的知识点详解
    本篇内容主要讲解“JS闭包的知识点详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS闭包的知识点详解”吧!一、什么是闭包学习一个陌生的概念,我们首先要去明白...
    99+
    2024-04-02
  • 怎么理解Linux shell的知识点
    这篇文章给大家介绍怎么理解Linux shell的知识点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我个人很喜欢使用 Linux 系统,虽然说 Windows 的图形化界面做的确实比 Linux ...
    99+
    2023-06-05
  • 【知识点】Python 的np.prod函数详解
    np.prod是Numpy库中的一个函数,全称为numpy.prod,它的作用是计算数组中所有元素的乘积。该函数是一个快速的计算积的方法,可以接收任意数组或矩阵作为输入,并返回这些数字的乘积。 举个例子: import numpy as...
    99+
    2023-10-02
    python numpy Powered by 金山文档
  • k8s编排之DaemonSet知识点详解
    目录如何对 StatefulSet 进行“滚动更新”(rolling update)?下面重点讲解一个\知识点:DaemonSet列举几个例子:API 对象的...
    99+
    2023-01-17
    k8s编排DaemonSet k8s DaemonSet
  • python中__init__方法知识点详解
    目录介绍__init__方法的作用讲解__init__方法的语法演示如何在类中使用__init__方法初始化类的属性讲解如何使用__init__方法给对象动态添加属性__init__...
    99+
    2023-05-16
    python __init__方法有什么用 python中init方法 python __init__的作用
  • R语言“循环”知识点详解
    可能有一种情况,当你需要执行一段代码几次。 通常,顺序执行语句。 首先执行函数中的第一个语句,然后执行第二个语句,依此类推。 编程语言提供允许更复杂的执行路径的各种控制结构。 循环语...
    99+
    2024-04-02
  • Java集合HashMap的知识点详解
    这篇文章主要讲解了“Java集合HashMap的知识点详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java集合HashMap的知识点详解”吧!一、什么是哈希表在讨论哈希表之前,我们先大...
    99+
    2023-06-02
  • k8s编排之Deployment知识点详解
    目录Pod 复杂的API对象nginx-deploymentDeployment 及类似控制器总结Deployment 所控制的 ReplicaSet查看Pod 复杂的API对象 P...
    99+
    2023-01-17
    k8s编排Deployment k8s Deployment
  • Java SpringBoot的相关知识点详解
    目录1. IOC和DI2. Spring容器加载Bean/创建对象的时机3. @Autowired注解4. @Configuration配置类5. @Conditional条件注解6...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作