linux之防火墙

Linux系统防火墙iptables Linux系统的防火墙: IP信息包过滤系统,它实际上由两个组件netfilter和iptables组成。主要工作在网络层,针对IP数据包。针对 TCP/IP 数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙) 阅读详情

一,何为防火墙

是防止火灾发生时,火势烧到其它区域,使用由防火材料砌的墙。后来这个词语引入到了网络中,把从外向内的网络入侵行为看做是火灾,防止这种入侵的策略叫做防火墙

二,防火墙分类

1.从构造上分类

硬件防火墙:

深信服,联想的网御,华为

软件防火墙

个人防火墙 

定义:个人防火墙运行在 PC 上,用于监控 PC 和外网的通信信息

如windows自带的防火墙

网关防火墙

定义:在网络中的网关上配置防火墙的功能,能对网络中的流量进行策略控制,这就是网关防火墙

软件网关防火墙:如linux上的iptables防火墙, windows上的火绒,360等.

硬件网关防火墙

百度

个人防火墙与网关防火墙区别

个人防火墙主要监控 PC 的通信流量,网关防火墙是监控网络中所有终端的通信流量,在网关处进行策略控制

2.从工作机制上分类

包过滤防火墙

对源ip地址,目的IP地址,源端口,目的端口做所谓的数据包过滤

应用层防火墙

对URL,主机名对数据包做所谓的过滤

3.从模块上分类

定义:其实就是Linux上的iptables

应用态

其实就是iptables

内核态

netfilter

iptables与netfilter区别

iptables只是防火墙的配置工具(官方定义:iptables 是一个简单、灵活、实用的命令行工具,可以用来配置、控制 linux 防火墙.)

而真正的防火墙是netfilter(毫不夸张的说,整个linux系统的网络安全就是基于netfilter构建起来的)

简单来说,netfilter是源代码形式的,我们操作不了,只能靠iptables这个配置工具来实现netfilter的功能,有点像linux内核与shell的关系.

CentOS6与CentOS7版本的防火墙 

CentOS6叫iptables, CentOS7叫firewalld.变得只是工具,内核态不变,换汤不换药嘛相当于.平常我们都是用iptables,因为简单好理解,firewalld可以停用或者删除,然后安装iptables来使用.

下面是各个内核版本对应各个防火墙版本的表格

kernel  2.0.xfirewallipfw
kernel  2.2.xfirewallipchains
kernel  2.4.xfirewalliptables
kernel  3.13.xfirewallfirewall

三,iptables介绍

 iptables主要工作在OSI七层的3.4层。七层的控制可以使用squid代理+iptables. 在实际生产环境中,我们要关闭linux自身防火墙,(解决安全问题尽量不给服务器配置外网IP.需要访问的话,就使用代理转发.)因为高并发,iptables会加大延迟,除非并发小,服务器必须处于公网,考虑开启防火墙,大并发的情况下,不能开iptables,影响性能,利用硬件防火墙提升架构安全.

四,iptables原理 

五链

INPUT就是第一个链:在入口对流量做过滤

OUTPUT就是第二个链:在出口对流量做过滤

FORWARD就是第三个链: 处理数据包的转发

PREROUTING;在进路由表之前对数据包处理

POSTROUTING:在进路由表之后对数据包处理

四表 

raw表:确定是否对该数据包进行状态跟踪

mangle表:为数据包设置标记

nat表:修改数据包中的源,目标IP地址或端口

filter表:确定是否放行该数据包(过滤) 

提示:用的最多的表示nat和filter

防火墙结构 

对运维来说红色最重要

五,防火墙顺序 

表顺序 

raw----mangle----nat----filter

链顺序 

提示:链顺序比较复杂,要分情况是入站,出站还是转发

入站: PREROUTING   INPUT

出站: OUTPUT     POSTROUTING

转发: PREROUTING  FORWARD   POSTROUTING

所有的访问都是按顺序:
入站:比如访问自身的web服务流量。先PREROUTING(是否改地址),再INPUT(是否允许)到达程序。
转发:经过linux网关的流量.先PREROUTING(是否改地址),然后路由。转发给FORWARD(转发或者丢弃),最后经过POSTROUTING(看看改不改地址。)
出站:源自linux自身的流量.先OUTPUT,然后路由。再给POSTROUTING(是否改IP)。 

规则顺序 

 自上而下,依次匹配. 匹配即停止

数据匹配流程图

 难点

流程分析 

入站请求:比如A网络想要进这个机器,它先进入raw表的PREROUTING链,再进入mangle表的PREROUTING链,再进入nat表的PREROUTING链, 然后经过路由选择后,先进入mangle表的INPUT链,再进入filter表的INPUT链,到我们的应用程序

出站请求: 从本机的应用程序经过路由选择,然后到达raw表的OUTPUT链,再进入mangle表的OUTPUT链,再进入nat表的OUTPUT链,再进入filter表的OUTPUT链,再进入mangle表的POSTROUTING链,再进入nat表的POSTROUTING链最后出去

转发请求: 它先进入raw表的PREROUTING链,再进入mangle表的PREROUTING链,再进入nat表的PREROUTING链,然后经过路由选择后确定是转发请求后,直接进入mangle表的FORWARD链,再进入filter表的FORWARD链,仔进入mangle表的POSTROUTING链,再进入nat表的POSTROUTING链,最后出去.


六,iptables语法规则

常见控制类型 

 ACCEPT: 允许通过

DROP: 直接丢弃,不给出任何回应

REJECT: 拒绝通过,必要时会给出提示

LOG: 记录日志信息,然后传给下一条规则继续匹配

SNAT:修改数据包源地址 (能够让内网用户通过同一个公网IP访问公网的能力)

DNAT:修改数据包目的地址 (叫端口映射, 把公网中的访问映射到私网的一个服务器上)

REDIRECT: 重定向

选项

注:默认规则最后匹配 

匹配类型 

  

 

NAT表 

SNAT策略的典型应用环境

               局域网主机共享单个公网IP地址接入Internet

SNAT策略的原理

               源地址转换,Source  Network  Address  Translation

               修改数据包的源地址

原理

其实在我们家用路由器上都在做SNAT转换,只要我们在家能上网,一般都是SNAT.例如下图:私网用户10.10.10.12要想访问公司内网的网站服务器,那要在网关服务器上做SNAT转换才能访问

例如下图,路由器有两块网卡,一块是内网网卡。一块是公网网卡,还有一台公网的网站服务器

 现在用户发送数据包,由于路由器做了路由转发功能,用户可以把包发到web服务器,但是当web服务器返回数据包时,由于目标地址是私网IP,根据网络知识,私网IP是无法在Internet上通信的,除非做了NAT.所以这个请求是错误的.

 SNAT

 如果我们在路由器做了SNAT转换,当用户请求Web服务器时,数据包报文经过路由器时源IP地址192.168.1.234改成了路由器网卡上的公网IP地址218.29.30.31,web服务器在返回请求时数据包上的目的IP地址依然是公网IP地址,到达路由器时,经过地址转换,变成了私网IP地址192.168.1.234.

所以我们加一条iptables规则就可以实现内网访问外网了

注: 一个数据包在经过路由之后(或者说在通过防火墙的过滤之后)才被知道他的源IP是谁,在路由之前只能看到目标IP,如果我看不到你的源IP,那怎么匹配想过滤的数据包并进行源地址转换?我防火墙根本就不能确定你是否是符合匹配条件的IP,所以只能使用POSTROUTING  

但是在家里我们做的SNAT转换并不是这种,因为这种公网地址是让我们写的,但我们知道拨号上网公网地址是一直变的,如果每次都抓取公网的话,是很费事的.所以用MASQ技术可以避免这个缺点.这个技术会自动判断你的公网地址是多少,而不用你指定一个公网地址,家用路由器就是用这种技术实现上网的

 DNAT

如下图, 内网有一个web服务器,然后网关服务器上有两块网卡,eth0充当公网网卡,eth1充当私网网卡,公网中有一台主机,现主机发送http请求,目标地址为公网ip地址,当到达路由器时,公网地址218.29.30.31转换为192.168.1.6.web服务器收到请求发送http应答报文,进过路由器时,私网192.168.1.6转换为218.29.30.31.

 

如下图客户端要访问公司内网的web服务器,要先经过路由前(即NAT表的PREROUTING链),即图中的1接口,然后再进入路由表修改目标IP. 而不能进入2接口(POSTROUTING链),如果进入2接口,那么目标ip地址就不会被路由表修改为10.10.10.12,则导致数据包只会发送到路由器中,所以当我们设置DNAT服务时不能写POSTROUTING链.

 

如果我们想导出文件,例如:iptables-save >  1.iptables .  如果想导入 规则,例如:iptables-restore < 1.iptables

 SeLinux

刚开发linux时开发者并没有涉及到安全问题,当C语言之父发布了关于UNIX安全的文章之后,才出了大量的软件来弥补这项漏洞,如今分成了iptables(防火墙类),selinux,acl(在应用层做的访问控制),tcp wrappers这四大类

经历历程

关于netfilter,iptables,firewalld, ufw,nftables那点事

netfilter在linux内核模块级别控制访问网络栈. 因为调用netfilter让我们晦涩难懂,因为它接近于内核了,所以各种用户友好的实现方式,如ufw和firewalld被引入, 作为更高级别的netfilter的解释器,然而,ufw 和 firewalld 主要是为解决单独的计算机所面临的各种问题而设计的。构建全方面的网络解决方案通常需要 iptables,或者从 2014 年起,它的替代品 nftables (nft 命令行工具)iptables 没有消失,仍然被广泛使用着。事实上,在未来的许多年里,作为一名管理员,你应该会使用 iptables 来保护你的网络。但是 nftables 通过操作经典的 Netfilter 工具集带来了一些重要的崭新的功能。

PS 

本笔记的主要来源

尚硅谷Linux集群教程(linux集群经典之作)_哔哩哔哩_bilibili

53 张图详解防火墙的 55 个知识点 (qq.com)

【命令解析】Linux-iptables命令 (qq.com)

干货:25 条有用的 iptables 常用示例 (qq.com)

Linux下 iptables 超详细教程和使用示例 (qq.com)

iptables 长文详解,值得收藏细读 (qq.com)

【大神笔记】Iptables防火墙基本配置 (qq.com)


iptables资源指路汇总

linux2020-老男孩教育-iptables_哔哩哔哩_bilibili

iptables基础知识详解_LarryHai6的博客-CSDN博客_iptables 

iptables防火墙详解: https://www.zsythink.net/archives/1199/
关于Linux防火墙'iptables'的面试问答: https://www.cnblogs.com/wajika/p/6382956.html
运维人员20道必会iptables面试题: https://www.cnblogs.com/wajika/p/6382853.html
day56-第十三周-iptables防火墙(上): https://www.jianshu.com/p/e4af319659b4
第十四周-day55-iptables防火墙(下): https://www.jianshu.com/p/44e30e87e9c9
CentOS防火墙的设置与优化: https://www.jianshu.com/p/dec0e94f357c
视频配套笔记-iptables防火墙: https://www.jianshu.com/p/9d81c0b2c6fa 

【千锋云计算】Linux系统安全_Iptables及Firewalld加固服务器安全_哔哩哔哩_bilibili

iptables相关概述_哔哩哔哩_bilibili

Linux iptables视频教学_哔哩哔哩_bilibili

netfilter及iptables基本概念_哔哩哔哩_bilibili

Linux内核学习课程 Iptables和netfilter框架分析篇_哔哩哔哩_bilibili

【千锋】云计算运维安全详解全套视频(推荐观看)_哔哩哔哩_bilibili

linux iptables 防火墙讲解实战视频课程_哔哩哔哩_bilibili 韩立刚的

....................................................B站上,C站上还有其他网站上都有很多关于iptables的知识,我就汇总了我认为比较好的。如果有好的资源我还会再更新的。 

linux防火墙简单介绍(iptables、iptables.service、firewalld) 对于第一次学习linux防火墙的同学来说,各种名词可能会把自己脑袋搞晕,不清楚各个名词之前的关系,我就是如此。网上的资料有很多但是很杂很乱,新出来的ChatGPT比百度好用多了,我在这里进行归纳整理,帮助初学者更好的理解,以下演示环境为centos7。 防火墙主要分为硬件防火墙和软件防火墙,硬件防护墙是专门设计的一台主机,其中的操作系统主要以提供数据包数据的过滤机制为主,将其他不必要的功能拿掉,因此数据包过滤的效率最佳。本文讲解软件防火墙,硬件防护墙这里不讨论。 阅读详情

相关推荐

CTFshow-CRYPTO(持续更新)

密码学签到 }wohs.ftc{galf 将字符串逆序即可 letters = '}wohs.ftc{galf' a = list(letters) a.reverse() for letters in a: print(letters,end='') crypto2 打开浏览器的控制台,复制粘贴回车即可得到flag crypto3 这一题同上 crypto4 如图填写即可,一开始e填写的是17,一直回答错误,后来经过群内大佬提醒软件的e是十六进制的,17转十六进制就是0x11 cr

i_kei的博客 1万+

Linux下的防火墙

Linux下的防火墙firewalld简介

m0_61344379的博客 2万+

使用 Python 获取网络数据

本文介绍了 Python 获取网络数据、使用 requests 库、编写爬虫代码以及使用 IP 代理的方法。Python 的 requests 库非常方便,可以帮助我们快速访问网络资源。编写爬虫程序需要掌握正则表达式、HTTP 协议等知识,同时需要注意爬取速度和频率,以避免对被爬取网站造成负担。最后,使用 IP 代理可以帮助我们隐匿身份,保护我们的网络安全。

互联说 2690

Linux防火墙详解

防火墙介绍 inux防火墙主要工作在网络层,属于典型的包过滤防火墙。在RHEL中常用的有两种火墙工具iptables和firewalld,但软件本身其实并不具备防火墙功能,他们的作用都是在用户空间中管理和维护规则,只不过规则结构和使用方法不一样罢了,真正利用规则进行过滤是由内核netfilter完成的。 netfilter IP 信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在 Lin

weixin_46971894的博客 2万+

拯救者R7000用户实测:用华为电脑管家11.0版搞定MatePad Pro多屏协同(附驱动与显卡避坑指南)

本文详细介绍了如何在非华为笔记本联想拯救者R7000上安装华为电脑管家11.0版,实现与MatePad Pro的多屏协同功能。从驱动优化到显卡配置,提供了全面的避坑指南和实用技巧,帮助用户解决连接失败等常见问题,提升跨设备生产力体验。

weixin_30788619的博客 389

Fiddler Everywhere保姆级教程:10分钟搞定手机HTTPS抓包(附证书配置避坑指南)

本文提供Fiddler Everywhere移动端HTTPS抓包的保姆级教程,涵盖环境配置、代理设置、证书安装及常见问题排查。重点解析如何正确安装并信任Fiddler根证书以解密HTTPS流量,帮助开发者快速搭建抓包环境,高效分析应用网络行为,提升调试效率。

git9versioner的博客 698

Linux防火墙和常用命令_linux防火墙关闭和开启命令

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

wananxuexihu的博客 9605

ArcGIS 10.2.2自带Python 2.7.5环境配置全攻略:从pip安装到gdal、arcpy调用

本文详细指导如何在ArcGIS 10.2.2自带的Python 2.7.5环境中进行高效配置。核心内容包括安装pip包管理器、部署gdal等关键地理数据处理库,并确保arcpy模块的无缝调用。通过解决路径配置与PyCharm集成问题,帮助用户在此经典环境中构建稳定、兼容的地理信息自动化工作流,有效连接ArcGIS桌面功能与Python脚本编程。

moon9的博客 763

linux防火墙

linux防火墙软件iptables的相关信息和使用方法

m0_71518373的博客 3667

Mixly/Arduino实战:WS2812点阵动态显示自定义图案与汉字

本文手把手教你使用Mixly和Arduino驱动WS2812点阵屏,实现自定义图案与汉字的动态显示。内容涵盖硬件连接、取模软件设置、高效数据处理技巧(巧用Excel)、Mixly图形化编程及Arduino代码解析,并深入探讨动态显示与滚动汉字原理,最后提供常见问题排查与性能优化心得,助你从零开始轻松玩转智能硬件。

weixin_29185199的博客 446

开源收银系统_大型收银系统源码_OctShop

开源收银系统正成为大型连锁企业数字化转型的关键工具。相比传统闭源系统,开源方案具有成本低(年均降本60%+)、定制灵活(支持多业态协同)、自主可控等优势,能有效解决高并发、多门店数据同步等痛点。核心价值在于:1)分布式架构适配规模化扩张;2)模块化设计实现个性化开发;3)开放接口打通ERP/CRM等系统。典型案例显示,连锁商超通过源码二次开发实现库存实时同步,补货效率提升50%;餐饮集团统一多业态收银流程后会员复购率增长35%。选型需关注源码成熟度、技术兼容性和安全合规,建议采用"开源+服务商&q

OctShop全栈工程师 933

【Linux】如何关闭Linux防火墙

在访问linux时,如果linux防火墙是开启状态,则无法访问其提供的服务,为此,需要将Linux的防火墙关闭,命令如下: 查看防火墙状态 firewall -cmd --state 关闭防火墙 systemctl stop firewalld.service 开启防火墙 systemctl start firewalld.service 禁止开机启动启动防火墙= systemctl disable firewalld.service 建议自己学习使用的Linux虚拟机可以

不想睡觉的橘子君的博客 2万+

YOLOv12改进策略【卷积层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov12精度提升

RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。

Limiiiing的博客 674

Linux系统——防火墙

防火墙 iptables的具体介绍

一坨小橙子的博客 5015

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Windows防火墙及Linux防火墙

网络防火墙>

Palpitate_LL的博客 1739

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

linux下防火墙配置

** 简介 ** 简单来说Netfilter管网络,selinux管本地。SELinux则可以理解为是作为Linux文件权限控制(即我们知道的rwx)的补充存在的 1、iptables是Linux下功能强大的应用层防火墙工具。iptables是用于设置防火墙,防范来自网络的入侵和实现网络地址转发、QoS等功能。说到iptables必然提到Netfilter,iptables是应用层的,其实质是一个...

weixin_41038905的博客 6345

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux防火墙

防火墙是一种网络安全设备,它能够:监控和过滤进出网络的流量阻止不安全的连接保护计算机和网络免受未授权访问创建一个安全边界简单来说,防火墙就像是电脑的"安全门卫",决定谁能进、谁能出。Nginx(发音为"engine-x")是一个高性能的开源Web服务器和反向代理服务器。轻量级:占用资源少,内存消耗低高并发:能够同时处理数万个连接高性能:处理静态文件的速度非常快可扩展性:丰富的模块系统反向代理:可以作为前端服务器分发请求。

yovo1的博客 1061

Linux之防火墙

irewalld(Dynamic Firewall Manager of Linux systems,Linux 系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,从RHEL 7开始,用firewalld服务替代了iptables服务RHEL 9采用firewalld管理netfilter子系统,默认情况,firewalld则是交由内核层面的nftables包过滤框架来处理firewalld特点firewalld可以动态修改单条规则。

qq_57289939的博客 2046

Linux查看防火墙

本文介绍了Linux中防火墙的相关知识。

专注Java和MySQL领域知识分享 7964

linux 怎么开启防火墙,linux 开启防火墙操作

1)在/etc/sysconfig/ 下新建iptables文件,添加如下代码:*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [4:528]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT ...

weixin_39611754的博客 1226

Linux中的防火墙

防火墙是一种网络安全设备,它能够:监控和过滤进出网络的流量阻止不安全的连接保护计算机和网络免受未授权访问创建一个安全边界简单来说,防火墙就像是电脑的"安全门卫",决定谁能进、谁能出。Nginx(发音为"engine-x")是一个高性能的开源Web服务器和反向代理服务器。轻量级:占用资源少,内存消耗低高并发:能够同时处理数万个连接高性能:处理静态文件的速度非常快可扩展性:丰富的模块系统反向代理:可以作为前端服务器分发请求。

2501_91617137的博客 1174
上一篇: 微积分之微分
下一篇: 微分中值定理
-Turbo
博客等级 码龄5年 246粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-Turbo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值