Netfilter,iptables/OpenVPN/TCP guard:-(

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

2014年末,和小小在一起

2014年马上就过去了,最后一个周末的中午,和朋友一起吃了日料,睡醒了之后,就剩下我和小小了。突然觉得很空虚,2014年没什么波折,也没什么成绩,本想喝一杯,可是因为只有我和小小,只能忍着,然后小小突然说想唱歌,我只好跟着附和...       xx,yyzz,2,1。。。诗意般的优美,听钢琴曲,...

2014-12-28 20:53:18

阅读数:2697

评论数:0

一个可以直接使用的可用iptables配置的stateless NAT实现

使用iptables配置stateless NAT?我没有搞错。可能你根本不知道这么多NAT的实现细节,或者说根本不在乎,那么本文就当是一个“如何编写iptables模块”的练习了。实际上,我已经实现了一个可以配置stateless NAT的内核模块了,但是它的接口是基于procfs的,并不是说这...

2014-12-27 20:25:56

阅读数:2950

评论数:0

老斜两宗事-七层代理模式还是IP层VPN

1.七层代理模式还是IP层VPN很多人会问,我到底是使用代理模式呢,还是使用VPN模式,如果我想数据在中间不安全的链路上实现加密保护的话。这个问题有一个背景,那就是,你想保护你的数据,可以使用VPN,但是有时候,第七层的代理模式或许更好,比如SSL卸载器,比如内置SSL处理的代理,分为正向代理和反...

2014-12-21 20:13:27

阅读数:3864

评论数:2

爱探险的朵拉

小小喜欢看的动画片我也跟着看起来,发现了一个事实。小小看的动画片都是国外的,比如《爱探险的朵拉》,《米奇妙妙屋》...但是大致宗旨只有两个,值得我们成年人学习:1.所有的事情快要成功的时候,总是有个“捣蛋鬼”前来阻止你的成功,此时,你只需要建立信心,战胜它。2.如果你已经建立了信心,那么拿起你“背...

2014-12-20 22:20:50

阅读数:2803

评论数:1

在Linux上实现一个可用的stateless双向静态NAT模块

关于Linux上如何配置NAT的资料已经不少,可谓铺天盖地!本文与此无关。本文提供一种iptables之外的方式。iptables?不!why?因为iptables配置的NAT是stateful的,它的实现依赖一个叫做conntrack的模块,什么是conntrack?Oh,NO!这可是我的专长,...

2014-12-20 21:35:18

阅读数:6441

评论数:1

可任意操作nf_conntrack的nf_sockopt_ops

内核与用户态通信的接口简直太多了,有时候如果非要将它们分个三六九等也是不合适的,比如臭名昭著的ioctl,一旦臭起来就抽到底了,没人说它得好。有时候它并非想象中的那么坏,绝大多数是因为人们误用了它们,然后哪位大师说了一句它不好,从此以后人们就随大师而去了...对于ioctl,对应到socket类型...

2014-12-20 21:21:34

阅读数:2959

评论数:0

Android上的OpenVPN-TAP模式/策略路由

睡醒写一篇日志。在Android的OpenVPN Service的FAQ上,关于TAP模式有三问三答,最后回答的建议是:Support TAP via emulation。这也是我自己前几个月实现过的。要问为何Android自己不能提供对TAPmode的支持,似乎不关VPNService作者本人的...

2014-12-20 21:18:17

阅读数:11120

评论数:1

OpenSSL的SSL/BIO_get_fd

只要是用到了OpenSSL,总会碰到让人心塞的事。这次是SSL_get_fd。我用一种很简单的方式创建了一个SSL对象,直接在这个对象上进行SSL的accept:bio = BIO_new(BIO_s_accept()); BIO_set_accept_port(bio, "1234&q...

2014-12-20 19:59:25

阅读数:2899

评论数:0

从Loopback接口扯一通Linuxer和Cisco NP/IE谁能爆了谁

NA,NP,IE们整天都会接触到loopback接口,他们在培训的时候,会从书上学到很多关于loopback,很多复习提纲上都会有整整两页的纸将loopback接口的作用总结得让人看到就不禁想要背下来。       Linuxer们也会接触到这个接口,但是在称呼上比职业网管省力多了,他们会将其称为...

2014-12-13 12:07:11

阅读数:2810

评论数:0

OpenVPN的Linux内核版,鬼魅的残缺 part IV:Normal Method

谁能在上海请我吃一顿烤全羊!又折腾了几乎个通宵...对于将OpenVPN弄进内核这件事,我已经找到了两个思路:1.使用UDP的encap rcv HOOK/tun xmit HOOK;2.使用Netfilter的PREROUTING HOOK分离控制通道和数据通道;但是有个问题,那就是它们都仅仅对...

2014-12-13 10:38:05

阅读数:6223

评论数:0

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

是时候给出一个总的图景了,是时候了。我的意思是说,为什么非要将OpenVPN移植到内核,而不是在用户态,即在它本身优化它。为什么呢?事实上我已经在用户态优化了它,虽然有些难以定位的segment fault,但是并不是说我没有时间没有能力搞定这些,知难而退到内核(退到内核碰到panic岂不是更难搞...

2014-12-07 11:22:57

阅读数:2385

评论数:0

OpenVPN的Linux内核版,鬼魅的残缺 part III rework with Netfilter

哥们儿拿到了juniper的offer,由衷祝福,酒足饭饱后的我,在Netfilter的路上却根本停不下来。已经是深夜,回忆这些年在Netfilter上的探索,结合目前的一些状况,突然觉得,既然我已经想把OpenVPN弄到内核了,那为何上一个鬼魅的实现没有使用Netfilter呢?当时我就觉得采用...

2014-12-07 00:45:53

阅读数:6815

评论数:2

OpenVPN移植进内核了,TODO的事情实在太多

花了一个周末,两天一夜,把OpenVPN数据通道移植进了Linux内核。今天小小生病,没去上班,晚上正好总结一下,因为TODO的事情实在太多,又到年底了,公司家里的事情实在太多,可能没有多少时间让我这么折腾了。回到家里应该把时间全部留给我可爱的小小,路上的时间要留给那本厚厚的GEB...总之,没时...

2014-12-01 20:35:17

阅读数:3888

评论数:6

OpenVPN的Linux内核版,鬼魅的残缺 part II:The encrypt engine

一夜入冬啊一夜入冬,医院回来的路上已经困得不行了,不过还是仔细思考了我的OpenVPN内核版。和那些天天在微信朋友圈晒工作的相比我简直弱爆了,我本应该说今天没有去上班,然后心里多么多么内疚的,什么耽误工作之类的,不过那不是我的style,就像我同样不喜欢在工位上贴大量的任务计划一样...     ...

2014-12-01 19:18:20

阅读数:8064

评论数:2

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