Dragon
  • 注册、登陆后即可全站无广告畅快浏览本博客了!
  • 本博客已开启支持百度AI智能内容自动审核机制!
明月登楼明月登楼  2021-08-31 07:56 明月登楼的博客 隐藏边栏 |   抢沙发  21 
文章评分 2 次,平均分 5.0
导语: 目前 iptables 系在 2.4、2.6 及 3.0 的内核底下运作,旧版的 Linux 内核(2.2)使用 ipchains 及 ipwadm(Linux 2.0)来达成类似的功能,2014 年 1 月 19 日起发行的新版 Linux 内核(3.13 后)则使用 nftables 取而代之。

任何事物都有一个从无到有,再归于无的过程。是的,我这里用了一个绝对词:任何。

防火墙

在计算机领域中,防火墙(英文:Firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。防火墙可能是一台专属的硬件或是架设在一般硬件上的。通俗的一个类比就是中国古代的长城或者城市的城墙,用于安全防御的作用,只有满足特定要求,接受检查后才能进入。

防火墙作为内部网与外部网之间的一种访问控制设备, 常常安装在内部网和外部网交界点上。主要分为网络层防火墙和应用层防火墙两种,但也有些防火墙是同时运作于网络层和应用层。

iptables

iptables 属于网络层防火墙。由于工作在网络层,不需要把数据发送到用户空间,在系统内核空间中进行了数据过滤处理,因此可以保证数据处理效率。与此同时也会带来一个坏处,既然是工作于内核空间,那么它要么集成到内核内部要么被内核调用,且用户是无法直接与内核交互,那我们怎么定义 iptables 规则。因为以上原因 iptables 分为两部分,一部分是工作于内核中真正实现访问管控功能的 netfileter,与此同时还要有与内核通信提供过滤规则的用户空间组件 iptables。其实 iptables 的官方网站就是 The netfilter.org project 。

iptables 一个运行在用户空间的应用软件,通过控制Linux内核 netfilter 模块,来管理网络数据包的流动与转送。在大部分的Linux系统上面,iptables 是使用/usr/sbin/iptables 来操作。通常 iptables 都需要内核层级的模块来配合运作,Xtables 是主要在内核层级里面 iptables API 运作功能的模块。因相关动作上的需要,iptables 的操作需要用到超级用户的权限。

iptables 之前世今生

  • Linux 内核(1.2+): ipwadm
  • Linux 内核(2.2): ipchains
  • Linux 内核(2.4,2.6,3.0+): netfilter/iptables
  • Linux 内核(3.13+): nftables

目前 iptables 系在 2.4、2.6 及 3.0 的内核底下运作,旧版的 Linux 内核(2.2)使用 ipchains 及 ipwadm(Linux 2.0)来达成类似的功能,2014 年 1 月 19 日起发行的新版 Linux 内核(3.13 后)则使用nftables取而代之。

有兴趣的同学也可以一起加入学习探讨 iptables: iptables - 网络安全很简单

iptables 之归宿

iptables 不可能永远独占 linux 世界,他也有发展的尽头。在 linux 内核 3.13 中就由 nftables 取代了 iptables。作为应用层的 iptables,也在被抛弃,RHEL7/CentOS7 中放弃了 iptables,而选择firewalld作为防火墙的配置工具。firewalld相对于 iptables 主要的优点有:1. firewalld 可以动态修改单条规则,而不需要像 iptables 那样,在修改了规则后必须得全部刷新才可以生效; 2. firewalld 在使用上要比 iptables 人性化很多,即使不明白“五张表五条链”而且对 TCP/IP 协议也不理解也可以实现大部分功能。另外同样基于 linux 内核的 ubuntu,使用的防火墙配置工具是 ufw。

nftables 是取代 iptables、ip6tables、arptables 和 ebtables 的新的包过滤框架。nftables 旨在解决现有 {ip/ip6}tables 工具存在的诸多限制。相对于旧的 iptables,nftables 最引人注目的功能包括改进性能如支持查询表;事务型规则更新,所有规则自动应用;等等。nftables 诞生于 2008 年,2013 年底合并到 Linux 内核,从 Linux 3.13 起开始作为 iptables 的替代提供给用户。 nftables 实现了一组被称为表达式的指令,可通过在寄存器中储存和加载来交换数据。也就是说, nftables 的核心可视为一个虚拟机, nftables 的前端工具 nft 可以利用内核提供的表达式去模拟旧的 iptables 匹配,维持兼容性的同时获得更大的灵活性。

作者:码王

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

明月登楼给明月登楼打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付

本文来自投稿,不代表明月登楼的博客立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

明月登楼
明月登楼 关注:1    粉丝:0
玉满斋(www.ymanz.com)网站创始人,☑玉器爱好者 ☑微博控 ☑手机控 ☑历史控 ☑宅 ☑网络控 ☑Wordpress控

发表评论

表情 链接 私密 格式 签到
扫一扫二维码分享