Linux 防火墙架构概览

Linux 防火墙架构概览什么是防火墙防火墙 Firewall 是一种信息安全系统 作用在可信和非可信网络之间 其在信息安全保障上起着关键性作用 以致于大多数操作系统都会随身自带 防火墙的主要工作原理是基于一组安全规则 Rule 来对网络流量进行监控 如流量包符合放

欢迎大家来到IT世界,在知识的湖畔探索吧!

什么是防火墙

防火墙(Firewall)是一种信息安全系统,作用在可信和非可信网络之间。其在信息安全保障上起着关键性作用,以致于大多数操作系统都会随身自带。防火墙的主要工作原理是基于一组安全规则(Rule)来对网络流量进行监控,如流量包符合放行规则则放行,符合丢弃规则则丢弃。

从其定义来看防火墙挺简单的,其复杂性是在于如何方便用户配置的同时高效对流量进行监控,这也是在做具体防火墙实现上的目标。为此目标,各路大神开始各显神通,写的“防火墙”也层出不穷,如 iptables,firewalld,ufw,nftables,nft 等。因此用户也被这么一堆“防火墙”搞得云里雾里,应该选择哪个呢?性能那个好?会不会冲突……

防火墙架构

Linux 防火墙架构概览

Linux防火墙架构图

欢迎大家来到IT世界,在知识的湖畔探索吧!

该架构图分成用户空间(userspace)和内核空间(kernel)两部分。上层组件是下层组件的前端,反之为后端。说白就是下层组件太难用,各路大神撸起袖子开始对下层抽象设计,实现更易于使用的上层组件。

从图看出‬最终‬落到‬内核‬上的只有 *_tables 和‬ ‬netfilter 组成‬的‬防火‬墙核心,前者负责提供规则,后者负责对流量包处理。用户空间上所有的组件‬都是‬规则配置辅助‬工具‬,严格上‬不是防火墙(前面‬引号括着“防火墙”的‬原因)。

防火墙是运行在内核态‬的‬,只会傻傻的执行符合其约束好的规则。但规则总得要存起来的‬,所以内核里的规则组件(*_tables)基本都会配套一个对应的用户态组件或接口来维护规则。这也就有 nf_tables 对 nftables 和 x_tables 对 xtables 的存在。

从 iptables 到 x_tables 画的有些不一样,原因是3.13版内核‬开始 x_tables 被 nf_tables 代替。已在用最新版内核了好像还是和 iptables 打交道呢?nftables 做了一个适配层来提供兼容。原 xtables 体系是根据协议来组织的,见得最多的 iptables 只是其中一个,还有如 ip6tables,arptables 等等。这也是其被 nftables 代替的原因。

‬总结

Linux 防火墙核心部分就是 netfilter + nftables 其他都是外围工具。另外要提下 netfilter 不单只提供防火墙所需功能,涉及到数据包处理的基本都是通过其来完成。

参考资料

https://www.netfilter.org/projects/nftables/index.html
https://www.netfilter.org/projects/iptables/index.html

欢迎大家来到IT世界,在知识的湖畔探索吧!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/78836.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信