自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 收藏
  • 关注

原创 TCP的TIME_WAIT快速回收与重用

声明一点:Linux中是无法修改tcp的TIME_WAIT值的,除非重新编译,起码我是没有找到怎么改。值得注意的是,net.ipv4.tcp_fin_timeout这个参数是FIN_WAIT_2的值,而不是TIME_WAIT的值。我不知道为何很多人都会把它当成是TIME_WAIT的值,想了一下,我觉得是两点:1.TIME_WAIT过于耀眼,以至于所有出现timeout,加上里面有个tcp的配置,都

2013-10-30 23:20:58 64660 9

原创 TPROXY之殇-NAT设备加代理的恶果

一段往事无独有偶,过了N多年,又到了这个时候,碰到了同样的事情...xx年的万圣节,由于服务器瘫痪我们被罚了500块钱,最终发现瘫痪的原因是TPROXY造成的,当时每个大服务区有一台LVS负载均衡设备,工作在NAT模式下,下联一台核心交换机,核心交换机分出N条线路去往各小区域服务器群,每一个小区域服务群拥有一台TPROXY实现的登录代理服务器,仅仅对登录数据包做代理,其它的包直接通过。      

2013-10-26 23:39:18 24609 1

原创 指出一些常见的谎言与谬误

1.关于读书我是搞IT的,对历史感兴趣,因此会读很多书,互联网时代人们评书就不必在茶馆里评了,各种专业非专业论坛,但是都在评论经典。可是据我的怀疑以及事后的调查,大多数的人都是人云亦云,根本就没有读过,由于经典太具声望而买来摆在书架上,把拥有当读过而去评头论足。其实书和钞票是一样的,正如你有1000万+,仅仅有那么多钱,你却跑去跟人家评论顶级奢侈品,仅仅有书而不读并不算拥有!举出几个经典,我有,但

2013-10-13 10:57:27 4841 2

原创 Linux系统NAT实现机制的升级改进

一点牢骚和希望一直以来,一直对Linux的NAT很不满,也写过《Linux系统如何平滑生效NAT》系列文章中的patch进行修补,还写过一些类Cisco实现的patch,然而都效果不大好,暴雨的夜晚,长假的倒数第二晚,虽然没有10月7日晚雨量大,可是10月6日晚上到7日凌晨,上海嘉定那边的雨也可以堪称暴雨了。一直想看却一直没有时间看的《斯巴达克斯 第三季》终于看完了,雨越大越兴奋,可是巴拉巴西的《

2013-10-13 08:05:12 6845

原创 为一张PCI卡打通经络的过程

一张PCI卡通过“一转二”的转接卡插在主板上,probe调用失败,日志显示读取配置空间的时候发生了奇偶校验错误,可是使用相同的转接卡把它插在另外一台相同机器的主板上时,却运行正常,这就说明不是转接卡的问题,也不是PCI卡的问题,那就是主板的问题了,是这样吗?换另外一张相同的PCI卡使用相同转接卡插在出问题的主板上,运行正常,这貌似也不能说主板有问题...所有的卡金手指擦了又擦,哈了又哈,问题依旧.

2013-10-13 07:57:17 4744 2

原创 Static NAT with iptables on Linux

本文的名字取的比较有意义,因为本文并不是真的要讨论如何在Linux上使用iptables实现static nat!之所以这么命名本文,是想引起别人的注意,因为中文资料,以及国内的搜索引擎,基本上没有人关注这个问题,也几乎没有什么人讨论这个问题,而我却由于项目原因以及平时的折腾,切身体会到了Linux的NAT实现的缺陷。如果你使用google,你会看到大量的国外的技术宅男宅女们在讨论这个问题,虽然也

2013-10-13 07:56:10 5344

原创 Linux NAT基本流程与实现技巧

基于matches的NATLinux的NAT是基于match的,即在满足一系列条件的前提下执行SNAT或者DNAT,因此要求也就比较宽松,唯一的约束就是路由,即路由动作发生的时候,必须是基于最终的目标IP地址,因此DNAT必须发生在路由之前(对于本机发出的数据包,则在路由之后,然后重新路由),如下图所示附:Netfilter与ip_conntrackNetfilterLinux的协议栈仅仅实现了基

2013-10-04 11:35:21 10019 1

原创 互联网上的内容转发

转发:本文的转发并不指转发行为forwarding,而特指非自己原创的内容发布。声明:个人观点,不必较真,无所谓对与错。如果让我补充,我会补充一些外延,比如如今的微博,就像是为转发而生的,转发量基本成了人气最重要的权值;还有微信刷屏,在我的圈子里,这些人包括老年人-一般指父辈那一代,大龄领导,步入社会后变老成的曾经的同学,无聊的手机控。这些人转发微博以及微信刷屏的动机不同,但是效果有一个,那就是占

2013-10-04 09:39:29 5206 1

原创 编写一个Linux虚拟网卡来实现类NVI

我们可以在Linux上使用loopback接口来模拟两个阶段的路由抉择,第一个阶段是走一遍PRE/POST ROUTING流程,将NAT实施完毕,第二阶段完成单纯路由转发。然而需要在Netfilter上挂钩子,以便取消关联在skb上的路由项,并且取消关联在skb上的conntrack信息,因为在第二阶段的单纯路由流程里面,我不希望再有什么基于conntrack的动作,因此如果需要有基于conntr

2013-10-04 09:36:56 5243

原创 Linux实现基于Loopback的NVI(NAT Virtual Interface)

Loopback实际上是个hole但是如果它不是一个hole,它确实可以做一些事,类似Cisco的NVI那样。既然前期是“如果它不是一个hole”,那就需要对代码进行一些修改。在修改之前,你必须明白的是,Linux的loopback接口为什么是一个hole。        标准规定,所有试图经过loopback接口去往其它地方(非本机)的数据包要全部丢弃。Linux使用loop hole做到了这一

2013-10-04 09:33:45 7355

原创 用IP地址的用途理解Loopback接口

1.问题IP地址到底是属于主机的还是属于网卡的?这个问题有点太学院派了,现实中,只要懂得IP地址的概念以及IP路由,基本上没有问题。IP作为一个网络层协议,它更多的意义在于寻址而不是标识主机,因此你可以认为IP是属于网卡的。        然而不同的人对于IP地址有不同的看法,程序员看来,IP地址是属于主机的,因为他们总是用一个套接字来表示一个服务,套接字中的IP地址表示一台主机,协议和端口号表示

2013-10-04 09:27:44 36888 1

原创 闲聊计算机IP网络

记得刚上第一节《计算机网络》课的时候,下课时就记得网络分为通信子网和资源子网,当时觉得这是多么的教条,时隔多年以后,再来回味这个通信子网和资源子网的划分,还真是能牵扯出来不少东西呢...           通信子网和资源子网的划分是横向的划分,而纵向的划分就是诸协议栈。        什么是通信子网呢?通信子网就是负责网络交通的子网,它的任务就是路由寻址。什么是资源子网呢?资源子网中存储资源数据

2013-10-04 09:24:43 5846 3

原创 UNIX一切皆文件的思想正确吗

一切皆XX,这一看就是本质论以及整体论信徒的呐喊!引.关于树型模型树型模型和一切皆文件没有直接的关系,只是它们的经历很类似。近期看了一本老婆买的书,《视觉繁美》。在古代,人们对树情有独钟,最终包括组织架构,包括分类都变成了树,读到了后面的章节,我才发现,原来树型模型并不是一切的本质,它是在公元前10000左右的美索不达米亚的新月地带人为产生的,即农业革命导致了人们产生了树型模型的观念。

2013-10-04 09:17:50 10078 1

一个iptables的stateless NAT模块实现

如果你在寻找Linux上配置诸如Cisco设备上的static双向NAT的方法,这个或许就是你想要的; what?你觉得它完不成PAT?是的,它不行。但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题。不要从概念上分析,事实上,static双向NAT是完全对称的,一对一的 ,也只有在BOX两边的网络在拓扑级别是完全对等的情形下,这种NAT或许才是有用的,Cisco设备经常处在这样的位置,比如一个很大的stub节点的出口位置,比如两个domain的中间位置... 我将名字取为STATIC-2-WAY-NAT,比较长也比较怪,完全不符合UNIX的小写短名传统,我的想法是:这样可以少写很多的帮助信息,因为名字就是自解释的。

2014-12-27

模块化的nf-HiPAC

原版的nf-hipac需要为内核打patch,且只支持较低版本的内核,构建起来相对比较麻烦。 模块化后的nf-hipac可以直接作为内核可加载模块编译,且适配了高版本的Linux内核。为了移植工作简化,去掉了和iptables模块的联动支持!

2014-11-21

配置文件还有一些other

代码和配置iptables配置文件,还有一些别的东西

2010-04-16

关于linux内核以及其他个人体会的文集

本文集是我用将近两年的时间写成的,大多数文章是关于linux内核的,另外还有一些我自己对计算机的理解,还有一些历史,音乐方面的东西。适合于对linux内核思想感兴趣的阅读,文章偏重于对于思想的理解。

2009-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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