网络防火墙之iptables的前世此生和归宿

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

防火墙

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

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

iptables

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

iptables

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

iptables以前世此生

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

有兴趣的同窗也能够一块儿加入学习探讨iptables: https://ke.qq.com/course/202653框架

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匹配,维持兼容性的同时得到更大的灵活性。性能

相关文章
相关标签/搜索