iptables基本概念及操作

iptables规则下发的过程 最近在学习研究Linux内核NAT处理逻辑(),发现要想理解NAT的处理必须弄清iptables规则在Linux 内核中是如何维护的,进而想要知道iptables规则配置从用户态到内核态,一步步是如何将iptables规则下发到内核的。 阅读详情

定义

防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。
目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关。对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测。但是对于七层的防火墙,不管你源端口或者目标端口,源地址或者目标地址是什么,都将对你所有的东西进行检查。所以,对于设计原理来讲,七层防火墙更加安全,但是这却带来了效率更低。所以市面上通常的防火墙方案,都是两者结合的。而又由于我们都需要从防火墙所控制的这个口来访问,所以防火墙的工作效率就成了用户能够访问数据多少的一个最重要的控制,配置的不好甚至有可能成为流量的瓶颈。

iptables的原理

能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具。可以将规则组成一个列表,实现绝对详细的访问控制功能。
他是工作在用户空间中,定义规则的工具,本身并不算是防火墙。它们定义的规则,可以让在内核空间当中的netfilter来读取,并且实现让防火墙工作。而放入内核的地方必须要是特定的位置,必须是tcp/ip的协议栈经过的地方。而这个tcp/ip协议栈必须经过的地方,可以实现读取规则的地方就叫做 netfilter.(网络过滤器)

    作者一共在内核空间中选择了5个位置,
    1.内核空间中:从一个网络接口进来,到另一个网络接口去的
    2.数据包从内核流入用户空间的
    3.数据包从用户空间流出的
    4.进入/离开本机的外网接口
    5.进入/离开本机的内网接口

iptables的工作机制

从上面我们知道了作者选择了5个位置,来作为控制的地方,但其实前三个位置已经基本上能将路径彻底封锁了,但是为什么已经在进出的口设置了关卡之后还要在内部卡呢? 由于数据包尚未进行路由决策,还不知道数据要走向哪里,所以在进出口是没办法实现数据过滤的。所以要在内核空间里设置转发的关卡,进入用户空间的关卡,从用户空间出去的关卡。那么,既然他们没什么用,那我们为什么还要放置他们呢?因为我们在做NAT和DNAT的时候,目标地址转换必须在路由之前转换。所以我们必须在外网而后内网的接口处进行设置关卡。

 这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链。
    1.PREROUTING (路由前)
    2.INPUT (数据包流入口)
    3.FORWARD (转发管卡)
    4.O
Linux——iptables防火墙 Linux系统的防火墙:IP信息包过滤系统,它实际上由两个net filter和iptables组成。主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上。 阅读详情

相关推荐

Linux iptables基本使用

防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为及。代理服务是一种网络服务,通常就架设在路由上面,可完整的掌控局域网的对外连接。IP Filter这种方式可以直接分析最底层的封包表头数据来进行过滤,所以包括 MAC地址、IP、TCP、 UDP、ICMP 等封包的信息都可以进行过滤分析的功能,用途非常广泛。其实Iptables服务不是真正的防火墙,只是用来定义防火墙规则功能的"防火墙管理工具",将定义好的规则交由内核中的netfilter即网络过滤器来读取,从而真正实现防火墙功能。

HWP18612324139的博客 1171

iptables详解:链、表、表链关系、规则的基本使用

iptables 是一个用于配置 Linux 内核防火墙规则的工具,它允许系统管理员控制数据包的传输,从而实现网络安全和流量控制。iptables 是一个非常强大和灵活的工具,可以根据网络数据包的来源、目的、协议、端口等多种条件来进行过滤和转发,从而保护网络安全,限制网络访问和提高网络性能。 iptables 主要由三个部分组成:表(table)、链(chain)和规则(rule)。表是用来组织规则的集合,每个表包含一组链,而链则是一系列规则的集合。规则是用来定义数据包的处理方式,可以允许或者拒绝数据包的

qq_68163788的博客 2521

Linux防火墙:iptables详解与操作示例

命令包括-A(添加规则)、-I(插入规则)、-D(删除规则)、-P(设置默认策略)等。操作指定对匹配的数据包执行的动作,如ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)等。iptables是Linux系统上的一个内核模块,用于过滤、重定向和修改网络数据包。本文将详细介绍iptables的基本概念、工作原理和常见操作示例,帮助您更好地理解和使用iptables。它包含INPUT、OUTPUT和FORWARD链,分别用于处理接收到的数据包、发送的数据包和转发的数据包。一、iptables概述。

XbpObjectivec的博客 201

基于CNN的表情识别(FER)pytorch实现

Report for FER Jian Tang Abstract 我们使用卷积神经网络(CNN)实现了baby的面部表情识别(FER)。 数据上,我们获取了开源FER数据集FER2013[1],besides我们使用爬虫获取了baby相关的人脸图片,进行了手工分类标注以形成一个全新的baby FER数据集。 模型上,我们首先复现了Luan[2]的工作,即参考Kuo[3]在CVPR 2018上的工作并实现一个轻量的CNN网络,在FER2013上进行训练并得到了XXXX%的平均分类准确率(avg a

qq_20241587的博客 3683

Python+pytest+requests 自动化测试框架

环境准备 本次选用的是Python+Pytest+requests来搭建自动化框架,需要有 Python 环境(3.x 版本),安装pytest和requests,不会安装的自行去网上搜教程。 关于 Pytest 的基本使用,这里不作讲解,不清楚的可以看我之前的文章。 简单 Demo 我们先创建一个项目,取名api-test,然后在下面创建一个test_api.py的文件 # test_api.py import pytest import requests def test_01():

weixin_42686892的博客 1万+

山东大学机器学习(实验一内容)——线性回归

1. 描述 第一个练习将为你提供线性回归练习。这些练习已经用Matlab进行了广泛的测试,但它们也应该在Octave中工作,它被称为“免费版的Matlab”。如果你使用的是Octave,那就是 一定要安装Image包(可在Windows中作为选项使用)安装程序,可从Octave-Forge获得Linux。 2.线性回归 回想一下,线性回归模型是 hθ(x)=θTx=∑j=0nθjxj h_{\th...

HachiLin的博客 4108

TMS-EEG数据预处理:eeglab工具包TESA(一)

b. 自动选择:Tools -> Reject data epochs -> Reject by probability,然后进行Plot -> channel,进行删除。TMS-EEG(经颅磁刺激-脑电图)是一种结合了TMS和EEG记录的技术,这种技术允许研究者在非侵入的情况下探测大脑环路,评估大脑的兴奋性和连通性等皮层特性。对移除脉冲伪迹的数据进行插值:Tools ->TESA -> Interpolate removed data;插值后,画图查看:数据会有数值;

weixin_43604817的博客 1494

别再死记硬背公式了!用Multisim仿真软件,5分钟搞懂三极管放大电路的工作原理

本文介绍如何利用Multisim仿真软件快速掌握三极管放大电路的工作原理,避免死记硬背公式。通过动态实验和参数调整,直观理解三极管的工作状态和放大效果,提升学习效率和实践能力。

weixin_30566063的博客 568

基于51单片机的贪吃蛇游戏设计

本科时候做的一个课程作业,自己打一个很简易的电路,比较有意思且易上手,故将之记录下来。(全套的仿真及代码,演示视频,课程报告以及PPT展示上传在优快云下载区) 一. 实验目的 (1) 通过对C51语言的理解,编写程序实现对贪吃蛇的有效控制; (2) 通过对51单片机硬件的学习,学会运用面包板,独立按键、点阵屏等,完成对完整电路的搭建过程; (3) 通过对Proteus仿真软件的学习,实现基于STC89C52单片机的8*8点阵贪吃蛇的硬件电路仿真。 二. 实验介绍 贪吃蛇是一款经典小游戏,其游戏的规则是:玩

山山の十三先生 2万+

JavaSwing_1.1: FlowLayout(流式布局)

FlowLayout,流式布局管理器。按水平方向依次排列放置组件,排满一行,换下一行继续排列。

谢TS的博客 7万+

Vue3 - 强力解决前端下载二进制流pdf文件、下载成功后打开空白问题解决,或者获取PDF文件流,将blob对象转换成下载链接打开后一片空白(无论是否使用pdf插件下载,还是原生方法下载都完美解决)

vue3前端下载二进制流pdf文件,下载成功,打开空白问题解决,js下载PDF文件流,打开空白问题,VUE3 h5中的文件流下载和指定的url下载总结(解决下载后的pdf打开空白情况)pdfjs打开文件流空白,解决pdf文件流,预览全是空白页,pdf文件流,下载正常,但是预览全是空白页,前端JS获取PDF文件流,将blob对象转换成下载链接打开后一篇空白的问题,前端文件流下载后文件空白,前端下载文件流PDF文件显示空白 或 无法打开,在线预览PDF文件打不开白屏怎么办,前端axios请求二进制数据流转换生成

🏆 前端领域优质创作者 4618

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: postfix空壳邮件
下一篇: iptables之state状态
Error_404notFound
博客等级 码龄10年 10粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值