Netfilter,iptables/OpenVPN/TCP guard:-(

我不会编程,但也不是一点都不会,我稍微会一些 :-)

OpenVPN的Linux内核版,鬼魅的残缺 part I:The PROTOCOL

OpenVPN的多处理一直都是问题,但是作为轻量级VPN,这无所谓,但是如果你要将其作为重量级VPN来用,那就必须考虑了。       之前,我将OpenVPN分裂成了多线程版本,但是由于OpenVPN原本的buffer管理粒度就很粗,以至于我很难在多个线程中能够同时处理一个multi_insta...

2014-11-30 11:26:01

阅读数:4884

评论数:3

OpenVPN的Linux内核版,鬼魅的残缺 Prelude

首先向James yonan致敬!其次吐个槽,这都12月份了,还打雷,看来这股冷空气威力不是一般的大啊,大气环流和气压都被它改变了,我仿佛看到了热空气和雾霾被这股异常强大的寒潮挤压得像难民一样背井离乡....这对于我而言,意义十分重大,从下周一开始,我将告别短袖T恤,穿上衬衫了...再次重申,我这...

2014-11-30 11:14:27

阅读数:2569

评论数:0

继iptables之后的新一代包过滤框架是nftables

夜已深然未央,准备接着讲述有关Netfilter的故事,行文有点松散,由于未打草稿,有点随意识而流,一气呵成不知是自夸还是自嘲,权当小时候写的日记吧,自幼喜欢每天写日记,中学时更是以退士为名折腾了几箱子抄本,前几年由于喝酒就改为周记了,现在意识到了生命短暂,时间甚是不够用,不能在迷迷糊糊中得过且过...

2014-11-26 23:15:26

阅读数:11764

评论数:1

使用内存盘构建自己的分级存储而不是笃信SSD

SSD技术正日渐成熟,容量越来越大,价格越来越便宜,符合摩尔定律,但是内存技术似乎在同样的道路上走得更快。昨晚我想下载几个电影,一共4G多,但是连接上迅雷之后,资源不少,但是速率却成锯齿状,我就不信是网速问题,也不是TCP问题,因为分布式P2P下载的原理和单TCP通道的HTTP以及FTP完全不同,...

2014-11-23 21:42:20

阅读数:7070

评论数:3

可编译易用的模块化nf-HiPAC移植成功

由于早在上周三对这个周末就有了别的安排,要折腾空气压缩机,突然接到通知又要陪老婆去考试,幸亏周四靠晚上的时间完成了nf-HiPAC的移植工作。       模块化nf-HiPAC的工作只能排在晚上完成,周四晚上折腾到12点终于算是完成了。效果也还不错,最初的tar包放到了下载频道“模块化的nf-H...

2014-11-22 18:19:40

阅读数:4083

评论数:2

iptables,nftables sucks?

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

2014-11-22 18:09:56

阅读数:3600

评论数:0

几年前之所预言,其人不死言之依然

猛士夜归,颜色憔悴,然则归魂抖擞!遇一亡灵,仰天叹曰:凝于物而不归于心,集精气斥于粪土,此人污垢也,奈何吾等受其食授,必随其余波,虽恨之而不能言谈,此人性情不通,奈何吾等言之而其不能解。亡,快事也!生存于一脬屎之辐散区域,虽亡灵而甚快!猛士对曰:何出此骂!?答曰:饿其腹而劳其神,离其家而伤其身,白...

2014-11-19 23:07:37

阅读数:2588

评论数:0

Linux-2.6.32内核编译流量计数器nfacct

近期一直想看的一本书是《一朵桔梗花》,和技术无关的一本书,但是这并不能表达我对IT技术已经没有兴趣。事实证明,当我无法理解生活百态,无法理解肮脏的领导人心理,无法理解自认为自己可怜却处处步步为营的肮脏轨迹,无法理解不干活儿却从来都是显得自己很累,无法理解上位后的沉默寡言,无法理解拉窗帘,无法理解由...

2014-11-19 22:37:13

阅读数:4012

评论数:0

玩转高性能超猛防火墙nf-HiPAC

中华国学,用英文讲的,稀里糊涂听了个大概,不得不佩服西方人的缜密的逻辑思维,竟然把玄之又玄的道家思想说的跟牛顿定律一般,佩服。归家,又收到了邮件,还是关于nf-hipac的,不知不觉就想彻底整理一篇文章说个明白,可是哪有个够啊哪有个够。       匆匆吃完晚饭,碗也没刷,餐桌狼藉,家人都在看电视...

2014-11-19 21:44:22

阅读数:9599

评论数:2

HiPAC高性能规则匹配算法之查找过程

收到一封邮件,有位朋友觉得我误解了nf-HiPAC,如此的一个高性能算法怎能被什么传统的hash,tree之类的胁迫。是啊,HiPAC是一个很猛的算法,文档也比较少,这就更加增加了其神秘感,但是这决不意味着它是不可理解的,相反,它的思想很简单。       HiPAC算法本质上是一种基于优先级的区...

2014-11-17 22:23:17

阅读数:5666

评论数:0

Linux协议栈优化之Netfilter分类conntrack

首先,如果你不同意我以下的观点,本文就不必看了:如今内存不值钱,空间换时间很划算,要知道,一万年前的1秒和一万年后1秒是一样的,你要是觉得人们做的事情可能不同,但是请记住,永远都会发生“安迪给你的被比尔拿走”之类的事情,对于你而言,什么都没有改变!       虽然空间可以被拓展,但是要讲技巧。以...

2014-11-16 20:28:44

阅读数:7967

评论数:0

ipset高大上性能果断将nf-HiPac逼下课

netfilter,sourceforge,github上有一个凄凉的项目,那就是nf-hipac,这个曾经给Linux firewall设计带来希望的项目早在2005年就停止了更新和维护,而我本人则是在2007年才被曹老师带上道的...知道hipac则是2012年的事,曾经在2.6.13上编译成...

2014-11-16 12:46:56

阅读数:8783

评论数:4

于Linux-2.6.32内核上编译ipset-6.23的坎坷经历

新版本的ipset上周在儿童医院给小小看病等待叫号的间隙,收到了Netfilter邮件列表的推送消息,一览了ipset最新的6.23版本的新特性,很多正是我目前所需要的,特别是timeout和skbinfo参数的支持,具体的详情请自行查看manual,如果不想看那么多,我这里简单的贴一下:   t...

2014-11-14 21:15:05

阅读数:6418

评论数:4

浅夜的感悟因为夜未央

不管你有多么专业,遇到不懂的人,你就啥也不是,因此体现自己很专业的最好方式就是将自己懂的东西用最简单的方式分享给别人;那不勒斯在呼唤,那么布雷根茨呢?结果到头来说不定还是塔兰托;米酒,不烈,但值得品,化成舌唇间淡淡的甜;想在网上找点关于openvpn的技术资源,结果找到的TMD无一例外全是我自己写...

2014-11-11 21:35:44

阅读数:5802

评论数:0

协议栈处理中的conntrack HASH查找/Bloom过滤/CACHE查找/大包与小包/分层处理风格

1.路由CACHE的优势与劣势分级存储体系已经存在好多年了,其精髓在于“将最快的存储器最小化,将最慢的存储器最大化”,这样的结果就使资源利用率的最大化,既提高了访问效率,又节省了资源。这是所有的CACHE设计的基本原则。       对于内存访问,几乎所有的CPU都内置了一级cache,二级cac...

2014-11-11 20:58:51

阅读数:7411

评论数:2

OpenVPN优化之-TLS握手控制通道的建立

关于OpenVPN数据通道的一次优化正在进行中,当我参考了”巨型帧“的概念和思想后,我仔细思考了TCP/IP协议栈的设计和实现,于是我得出了一个可能是错误但是起码在我的场景中很实用的结论:上层协议尽管把数据发出吧,不要管数据的大小,如果真的需要拆分,那就由下层来完成吧。       这个结论的一个...

2014-11-09 21:40:15

阅读数:7701

评论数:7

Linux协议栈查找算法优化随想

Linux的网络协议栈实现可谓精确却不失精巧,不必说Netfilter,单单说TC就够了,但是有几处硬伤,本文做一个不完备的记录,就当是随笔,不必当真。0.查找的种类Linux协议栈作为一个纯软件实现,保留了硬件接口,但是本文不涉及硬件。       在Linux的协议栈实现中,由于没有硬件电路的...

2014-11-09 13:41:05

阅读数:6009

评论数:0

OpenVPN优化之-巨型帧

近几日忙过了头,一直纠结于OpenVPN的性能问题,这实在是个老问题了,几年来一直都是修修补补,直到多线程多处理的实现,解决了server模式服务端的吞吐量问题,使得多个CPU核心可以得到充分的利用。但是对于客户端的优化,一直都没有很好的解决方案。       也许,粗犷的作风实在是非常适合服务端...

2014-11-07 23:38:37

阅读数:6168

评论数:2

Linux邻居子系统的细节之confirm-OpenVPN server模式的MAC地址学习

在《Linux实现的ARP缓存老化时间原理解析》一文中,我剖析了Linux协议栈IPv4的邻居子系统的转化,再次贴出那个状态机转化图,可是这个图更详细了些,因为它有一个外部输入,那就是confirm:       请注意,如果socket或者路由子系统在上层confirm了一个neighbour,...

2014-11-02 11:53:46

阅读数:3449

评论数:1

数据包的分类和调度-Linux TC的另一种解释

如果从分层递归的角度理解Linux的TC框架,很容易将队列分为有类队列和无类队列,这个角度上看,有类队列和无类队列的地位是平等的。但实际上,它们之间是有层次关系的。之所以将其分为有类队列和无类队列,完全是实现意义上的,你可以看到,Linux对于TC框架的实现非常紧凑,正是基于这种递归的“排队规则,...

2014-11-01 16:47:59

阅读数:5049

评论数:1

提示
确定要删除当前文章?
取消 删除