网络防火墙之iptables的前世今生和归宿
任何事物都有一个从无到有,再归于无的过程。是的,我这里用了一个绝对词:任何。
防火墙
在计算机领域中,防火墙(英文:Firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。防火墙可能是一台专属的硬件或是架设在一般硬件上的。通俗的一个类比就是中国古代的长城或者城市的城墙,用于安全防御的作用,只有满足特定要求,接受检查后才能进入。
防火墙作为内部网与外部网之间的一种访问控制设备, 常常安装在内部网和外部网交界点上。主要分为网络层防火墙和应用层防火墙两种,但也有些防火墙是同时运作于网络层和应用层。
iptables
iptables属于网络层防火墙。由于工作在网络层,不需要把数据发送到用户空间,在系统内核空间中进行了数据过滤处理,因此可以保证数据处理效率。与此同时也会带来一个坏处,既然是工作于内核空间,那么它要么集成到内核内部要么被内核调用,且用户是无法直接与内核交互,那我们怎么定义iptables规则。因为以上原因iptables分为两部分,一部分是工作于内核中真正实现访问管控功能的netfileter,与此同时还要有与内核通信提供过滤规则的用户空间组件iptables。其实iptables的官方网站就是 http://www.netfilter.org/ 。
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: 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匹配,维持兼容性的同时获得更大的灵活性。
网络防火墙之iptables的前世今生和归宿的更多相关文章
- iptables详解(11):iptables之网络防火墙
我们一起来回顾一下之前的知识,在第一篇介绍iptables的文章中,我们就描述过防火墙的概念,我们说过,防火墙从逻辑上讲,可以分为主机防火墙与网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防 ...
- 4.iptables 网络防火墙
[1] #如果想要iptables作为网络防火墙,iptables所在主机开启核心转发功能,以便能够转发报文. [2] #使用如下命令查看当前主机是否已经开启了核心转发,0表示为开启,1表示已开启 c ...
- 【操作系统之十五】iptables黑白名单、自定义链、网络防火墙、常用动作
1.黑白名单当链的默认策略为ACCEPT时,链中的规则对应的动作应该为DROP或者REJECT,表示只有匹配到规则的报文才会被拒绝,没有被规则匹配到的报文都会被默认接受,这就是"黑名单&qu ...
- iptables实现网络防火墙及地址转换
iptables主机防火墙功能及常用命令 FSM:Finite State Machine 有限状态机 客户端:closed -->syn_sent -->established --&g ...
- centos6中iptables单机网络防火墙的使用
概述: iptables:基于软件的形式实现的一种防火墙的软件程序 Firewall:工作在主机或网络边缘,对进出的报文按事先定义的规则进行检查,并且由匹配到的规则进行处理的一组硬件或软件,甚至可能是 ...
- Linux之iptables(四、网络防火墙及NAT)
网络防火墙 iptables/netfilter网络防火墙: (1) 充当网关 (2) 使用filter表的FORWARD链 注意的问题: (1) 请求-响应报文均会经由FORWARD链,要注意规则的 ...
- iptables网络防火墙和SNAT原理实战
网络防火墙 iptables/netfilter网络防火墙: (1) 充当网关 (2) 使用filter表的FORWARD链 注意的问题: (1) 请求-响应报文均会经由FORWARD链,要注意规则的 ...
- iptables (一) 主机防火墙和网络防火墙
Firewall : 防火墙,隔离工具:工作于主机或网络的边缘,对于进出本主机或网络的报文根据事先定义好的检测规则作匹配,对于能够被规则所匹配到的报文做出相应处理的组件:有主机防火墙和网络防火墙 Ip ...
- Linux防火墙配置(iptables, firewalld)
netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...
随机推荐
- 洛谷 P3239 / loj 2112 [HNOI2015] 亚瑟王 题解【期望】【DP】
???看不懂的期望DP 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚 ...
- 小程序给scroll-view设置高度,使得它能适配各种尺寸的手机
scroll-view占满整个屏幕,且scroll-view的滚动不影响到页面其他地方的滚动 在iphone6的尺寸下,scroll-view设置高度为1110rpx,就不会影响页面其他地方的滚动 但 ...
- linux Ubuntu14.04 python(c++版本) tesorflow(python版本)c++
一.环境变量配置: export M2_HOME=/home/ustcjing/Maven/apache-maven- export JAVA_HOME=/usr/lib/jvm8/java expo ...
- c#判断一段代码运行所花费的时间
//定义一个时间对象 System.Diagnostics.Stopwatch oTime = new System.Diagnostics.Stopwatch(); oTime.Start(); / ...
- PIE SDK去相关拉伸
1.算法功能简介 由于高度相关的数据集经常生成十分柔和的彩色图像,因此经常使用 去相关拉伸工具来体消除多光谱数据集中的高度相关性, 从而生成一幅色彩亮丽的彩色合成图像.去相关拉伸需要 3 个输入波段, ...
- git push的一些坑
在安装git的时候我们一般会自己设置一个用户名和邮箱,这个一般设置为全局的用户名,如下所示 git config --global user.name "xxx" git conf ...
- 红米note_维修_开机键
1. 2.在线人工客服(20180919) 很荣幸为您服务,有什么问题可以帮助到您的- 我的手机 后边的 开机键 貌似 不太行了 您好,您是哪款手机 就是 要按 好几次 很用力 才能 开亮手机屏幕木 ...
- mysql 显示树结构表的节点全路径
SELECT TYPEID AS TYPEID, pTYPEID AS 父TYPEID, levels AS 父到子之间级数, concat(paths, ',', TYPEID) AS 父到子路径, ...
- pat1009. Product of Polynomials (25)
1009. Product of Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
- js跑步算法
<!DOCTYPE html> <html> <head> <title>JavaScript</title> <style> ...