iptables,nftables sucks?

折腾了一下午空压机,失败,作罢!作为一个搞IT的,虽然不会去关注怎么修主板,但起码还是会持续关注自己感兴趣的那一面的,比如iptables,Netfilter等,对于空气压缩机,Python,气缸,C++对象模型之类的,不是我的菜啊!
       在论坛看到有人吐嘈,简短的一句话:
ipfwadm.. ipchains.. iptables.. nftables... progress sucks. :(
是啊,我也这么觉得!

得2006年毕业后的实习,曹老师让我第一次知道有个东西叫做iptables,好几个月,真的是好几个月,我都搞不清楚
table,chain,rule的区别,此后换工作后再也没有遇到过曹老师那样肯不厌其烦教我的人,因此对于iptables的理解也就暂时搁置了,直
到后来知道了Netfilter之后,才真正彻底理解了iptables。对iptables,谈不上什么感觉,我一直把它当成一个基于
Netfilter的工具,并且一直对它的遍历匹配方式不认可。
      
既然有了iptables,工程师就有了工具,大家都是只是用用而已,加上几年前都是100M网络,它的性能问题基本不是问题,所以iptable也就不
仅仅是用用而已了,简直成了一件利器,直到1000M卡的到来,iptables基本就被排除在高性能网关之外了。那么以前精通iptables的人会受
冷落吗?会的。但是如果你精通Netfilter,那就不会。你可以用ipset,你可以用nf-hipac,你可以用conntrack卸载硬件,它们
都是基于Netfilter的框架实现的,即它们都是对Netfilter的填充。
      
事实上,懂iptables,甚至精通iptables的人从来都没有懂JAVA或者C++的人吃香,因为iptables并不是编程范畴,注定永远被排
出在程序员圈子之外,对于系统管理范畴,Python,Perl也比Linux上的某个单独的工具比如iptables,snort受关注更普遍,那么对
于网管呢?很显然,Cisco,H3C认证工程师是看不上iptables的。因此iptables就这样被排除了,它和任何职业的挂钩都显得很勉强,它
成了鸡肋。类似的,snort也一样。然而,我却独爱这类小工具,并一直保持着对它们的跟踪,当我深入了解了它们之后,发现,虽然它们可能并不会独自登上
大雅之堂,但是你可以在很多地方发现它们的身影,以及它们的思想。
      
OpenWRT,这是一个我极端看不上的项目,有点欺世盗名的感觉,但是它却极端成功!也许很多人都知道这个OpenWRT,但是却不知道WRT。
OpenWRT其实就是保留了WRT的功能接口而已,旨在复制一个自由的WRT,那么WRT是什么?它是Cisco公司的Linksys路由器版本。我不
晓得WRT使用了什么技术,但是我知道OpenWRT使用了iptables这类很多人都看不上的小东西。
       iptables sucks?yes!
Linux初创,一直都在寻找高效的包分类框架,直到有了Netfilter之后,框架的构建工作才彻底交给了框架的填充者,内核mainline本身只
提供了Netfilter本身之后,再也不过问江湖之事了。一路跌跌撞撞的探索,从BSD的ipfw到ipchains,然后就是iptables,后来
发现iptables结构太不妙,代码不紧凑,于是有了nftables,总之坎坷依然正在进行,但是已经和内核没有关系了。即便和内核没有关系,内核中
不还是有x_tables.c吗?将这部分替换成nftables吗?如何联络这部分的kernel维护人员?这都是问题。
      
按照Linux模块的开发风格,一般都是一个内核模块外加一个用户utils工具集,也就是说程序的开发者需要提供这两部分的内容。这一点
上,xtables-addons项目做的比较好。然而xtables-addons是在iptables的框架内执行的,它可分离开发的只是
match/target模块而已,iptables的主干却还是不敢伤筋动骨。也就是说,xtables-addons只是iptables的扩展,正
如它的名字所表达的那样。因此nftables替换iptables的进程就不再仅仅是一个模块/utils配对开发的过程,而是一个平滑过渡的过程,兼
容性的支持又一次成了撒旦。
       平滑过渡的需求也最终确定了nftables进入内核的过程将是一个漫长的过程。

nftables相比iptables性能有提高吗?能驾驭10G环境吗?no,no,no...这不是nftables的职责范围,它要是能作为一个通
用框架存在,使得nf-hipac这样的好东西不再需要自己注册nf_hook_ops的话,那就是它的成功。它要是能提供一套简单易用的API,可以快
速开发match/target,像xtables-addons一样,那就是它的成功,如果它甚至可以让你自定义匹配方式,比如使用hipac算法,使
用hash tuple算法,或者可以自定义包分类算法,那就是它的成功。
            nftables sucks?NO!

时间: 2024-10-27 01:51:08

iptables,nftables sucks?的相关文章

RHEL 6.5 /etc目录误删,怎么恢复?

这个怎么说呢,真是大水冲了龙王庙,一家人不认识一家人啊,一个搞了linux这么多年的人,居然把/etc/这个目录给删了,晴天霹雳......... 想办法解决:最简单的方式就是将另外一台版本相同的系统的/etc/拷贝过来 在这里呢,我只表述一下我的理论部分: 先进入救援模式(设置好IP),由于/etc/fstab表随着大水冲走了,所以chroot /mnt/sysimage进入真系统肯定是不行滴,这里得自定义创建一个目录/mnt/test,将根分区的设备挂载到/mnt/test,这里还会有一个问

俺搞计算机的国内同行们,请踏实点,再踏实点,行吗?

从小俺就相信计算机是最"公正"的,1+1就是2,决算不出3来,有错误,必是"人"的问题.今天,看到了国家一等大奖是给计算机行业的,马上激动地去学习"透明计算"是什么新理论或新技术. 看过之后,第一反应就是给出下面的评价: 作为一名业内工程人员,通读了整篇介绍,第一感觉是"忽悠",第二感觉还是"忽悠",非要用两个以上字的话是"大忽悠". 从介绍来看,整个东西至少忽略了一个关键点:效率.通俗

去IOE,怎么去?

2013年5月17日,最后一台小型机在阿里巴巴支付宝下线,标志着阿里已经完成去IOE化.阿里巴巴的"去IOE"为市场带来了一个成功的范本,证明了打破国外厂商的垄断地位是有可能的,实现自主可控的"中国梦"并非遥不可及. 所谓 IOE 是个简称.是指以 IBM .Oracle.EMC 为代表的小型机.集中式数据库和高端存储的技术架构.其中 I 指 IBM p 系列小型机,操作系统是 AIX,IBM 专有的 Unix 系统: O 指 Oracle 数据库(RDBMS):E

QQ好友在线/离线,怎么测试?

即时通讯是目前internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,那么今天主要针对QQ好友在线状态/QQ群友在线状态功能出发,一起思考其中的实现原理以及我们如何去测试此功能? 当大家在使用QQ的时候,是否和我一样有如下疑问: 在好友列表中为什么可以实时的看到qq好友的在线.离线等状态? 在QQ群的群友列表中能看到当前群友的在线.离线等状态,是如何实现的? 作为测试工程师究竟该如何去测试里面用到的技术? 我带着这些问题,去搜集了一些资料进行了解.学习和总结后,现分享给大家. 关

QQ群友在线/离线,如何测试?

上篇文章『QQ好友在线/离线,如何测试?』针对即时通讯的"状态"进行了分析和总结,主要说到了QQ好友在线/离线实现方案,测试过程中需要注意的测试点. 针对好友状态实时性的要求需要使用不同的方式,如果实时性要求高可以采用推送的方式,那么QQ好友针对在线/离线要求较高,可以采用推送的方式进行同步.大家在做通讯工具方便的项目时,如果实时性要求不高的话,可以采用轮询拉取的方式同步.备注:轮询方式和推送方式在上篇已经介绍到,在这里就不过多描述. QQ群友的状态又是按照什么方式进行同步状态的呢?

为猿七年有余,痒否?痛否?

还未有感,已然岁末,犹叹时之箭逝去如斯也,稍纵命再减一.回首望,为猿七年有余已,虽不成气候,亦未全蹉跎.略做小结,以不惘逝去之时日,亦会大益于尔后路途.若博文能助足下之一二,孤将甚悦. 职业是无数个连接起来的马拉松 小学时,我们很清楚的知道5年后就毕业了(孤当年是五四制,现在貌似有的地方也是),无论多么讨厌老师或者 同学,或者学校,都知道最多忍5年就结束了:初中高中也一样,三四年样子,很快就过去了,多少欢乐悲喜都会很快的过去:大学更是如此,从入学进校园那天起你就开始倒计时,知道四年后的一天要离开

为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?

为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD.Tiptop.用友等产品,深深觉得SAP是贵的有道理! 一套好的ERP系统,不仅能够最大程度承接适配企业的管理和业务流程,在技术上面也能够做到快速部署和挑战.而对用户而言,好用且逻辑性强,体验好.便利可掌控才是能够抓住用户的需求点.很可惜的是,纵观世界上这么多的ERP系统,真正能够为用户考虑而且有自己的核心竞争力的并不多. 我认为一套好的ERP系统,不仅仅是一套软件,更是一个管理思想.选型ERP,要从以下几方面考虑: 一.

现在我这样编程,你呢?

编程不到一年,大学也没好好学.屌丝也经不起培训班折腾.临到毕业了,发现自己对于自己当初选的专业,一无所获.而且学校也没安排实习,自己每天也只想玩游戏. 为了不让家里人觉得他们的孩子一事无成.我决定自己找工作,而且要对得起自己学的专业.这种想法促使我毕业前一个月每天加班加点的学习.我学了些什么呢?毕竟是为了找工作才学习的.所以我就看了看做一个简单的web项目需要会些什么.于是呢,就看了一些SE最基础的东西,当时连数组都没看完.就去看web了,从页面打到后台处理.学会了增删改查就认为可以统治世界了.

什么是Cookie对象,Session对象,application对象?

(1)Cookie对象是: 一个由网页服务器放在您硬盘上的非常小的文本文件. 它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒.它只能被您使用并且只能由提供的服务器读取. 使用Cookie的目的是: 告诉服务器您再次的访问该服务器. Cookie能为您做什么?: 帮您节约时间.如果您自定义页面,或注册产品或服务.cookie帮助微软记住您的身份.当下一次您再次访问的时候,我们将显示您需要的信息.或者当您注册另一个产品或服务的时候,您只需要键入您的E-mail和密码.我们将帮