Netfilter,iptables/OpenVPN/TCP guard:-(

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

关于Linux线程的线程栈以及TLS

说明:a.本文描述Linux NPTL的线程栈简要实现以及线程本地存储的原理,实验环境中Linux内核版本为2.6.32,glibc版本是2.12.1,Linux发行版为ubuntu,硬件平台为x86的32位系统。b.对于Linux NPTL线程,有很多话题。本文挑选了原则上是每线程私有的地址空间...

2012-06-30 14:46:40

阅读数:20502

评论数:12

ip_queue和libcrypto实现另一种VPN

第一部分.现有VPN实现简述对于VPN而言,关键在于加密和封装,而这二者的前提首先是可以获得原始IP数据包。现在有几种常见的方式:1.使用专有传输层协议这类典型例子就是IPSec协议族,包括AH,ESP,IKE等,其中前两者用于封装,后一种用于密钥协商。2.使用虚拟网卡+路由典型例子就是OpenV...

2012-06-27 17:58:05

阅读数:3818

评论数:1

折腾了一晚上Windows网络却未果

搞了一晚上Windows网络,还是没有搞明白,也许我不能用“通过怪异的配置总能实现”这种典型的Linux用户思想来审视Windows,我真的错了,毫无成就感,以下是我的难题,在Linux上总能解决而在WIndows很难解决的难题:1.网卡桥接在Linux下,配置网卡桥接实在太简单了,但是几乎什么事...

2012-06-26 17:38:52

阅读数:2697

评论数:3

折腾了一晚上Windows网络却未果

搞了一晚上Windows网络,还是没有搞明白,也许我不能用“通过怪异的配置总能实现”这种典型的Linux用户思想来审视Windows,我真的错了,毫无成就感,以下是我的难题,在Linux上总能解决而在WIndows很难解决的难题:1.网卡桥接在Linux下,配置网卡桥接实在太简单了,但是几乎什么事...

2012-06-26 17:33:19

阅读数:2357

评论数:0

自制迷你路由器过程中的点滴

端午假期搞了一块带有Wifi模块的开发板,本来这是用于研发Android终端的,我本无意于此,因此就拿来做迷你路由器了,当然,我事先知道它肯定可以很方便的灌入Linux内核以及应用程序,否则光这一步就够我喝一壶的了。        所谓的一个路由器,使用Linux来做实在太方便了,对照着家里的TP...

2012-06-26 17:31:15

阅读数:4212

评论数:2

Linux如何做到将外来数据包DNAT到Loopback

前面写了篇文章《使用iptables为何不能将外部进入的包NAT到127.0.0.1》,牵扯到了很多知识,最终的结论就是不能那么做。这个结论让人有些不舒服,说了半天就是阐述它为何做不到,如果我非要将包NAT到loopback呢。比如为了不将端口以及地址暴露给外部,我就是想让代理服务侦听127.0....

2012-06-22 11:48:17

阅读数:3533

评论数:1

使用iproute2配置force-onlink路由

有时候在系统上配置一个32位掩码的IP地址是不错的,这样一来可以使系统路由表瘦身,二来可以防止显式路由之外的主机和本系统通信。这个怎么说呢?通过配置一个32位掩码的IP地址,就会发现在路由表的main表中,少了该地址的直连路由,因为它是32位的,本身不表征不携带任何网络,在路由表的local表中,...

2012-06-22 11:41:56

阅读数:3210

评论数:0

窥视Linux内核的行为的一些方法

想了解Linux内核的行为,需要一定的偷窥经验,大致可以分为以下几个:1.使用printk直接在内核代码或者模块代码的你想偷窥的地方printk一些信息。这种方式需要你会编译内核代码以及编译内核模块,以及将其正确安装进内核并启动之。虽然需要这么多知识,然而这种方式是比较土的。除非万不得已,一定有比...

2012-06-14 18:21:15

阅读数:2943

评论数:0

Linux的NAT实现浅谈

NAT实际上就是一个代理,代理NAT内部的所有机器,NAT的分类就是按照“如何代理”来讲的,不管是基于连接的NAT实现,还是基于包的NAT实现,都要处理好一个映射关系,那就是转换后的包的返回包如何转换回原始的。        Linux的NAT是对称NAT,而不是锥形NAT,虽然很多时候Linux...

2012-06-14 18:19:18

阅读数:11518

评论数:1

Linux socket设置mark的必要性

Linux的Netfilter钩子点的位置会导致一些奇怪的问题,比如本机发出的包无法使用基于mark的策略路由,这是因为mark一般是在Netfilter中进行的,而Linux的路由处在OUTPUT钩子点之前,因此这是一个顺序倒置的问题,如何来解决呢?只能在路由之前打上mark,而我们知道,对于外...

2012-06-14 18:16:44

阅读数:9342

评论数:0

使用iptables为何不能将外部进入的包NAT到127.0.0.1

如有下面的iptables规则:iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:1234你觉得会成功吗?试一下就知道,不会成功。这是为什么呢?奇怪的是,不但没有返回包,即使本地没有...

2012-06-14 18:13:15

阅读数:5657

评论数:2

凌乱的乐趣与悲哀

1.原来沿着自动扶梯逆行如此费力起初以为沿着自动扶梯逆行很轻松呢,结果试了才知道...6月6号去嘉定办事,在曹杨路转地铁11号线,由于这是第一次在那里转车,不知道11号线两个方向竟然在不同的层,往江苏路和往嘉定方向一个在上一个在下,我像往常一样随便就找个扶梯下去了,结果发现错了,找了半天才找到上去...

2012-06-09 15:37:20

阅读数:2478

评论数:2

Linux对称NAT的UDP穿越

和同事讨论UDP打洞技术,后做了一个简单的实验,由于Windows上设置NAT以及察看其原理太麻烦或者根本就不可能,于是还是使用Linux做了实验,发现基于Linux ip_conntrack这种对称NAT也能很简单的实现UDP穿越,实验很简单,并且这种UDP穿越还不需要公网服务器的协助(因为它们...

2012-06-09 15:11:25

阅读数:8019

评论数:5

Netfilter的expect连接的原理和利用

ip_conntrack有一个特性,那就是可以跟踪expect连接,所谓的expect连接,理解起来很简单,那就是“在一个连接中生成的另一个连接”,那么如何来识别一个连接要生成另一个连接呢?以FTP为例,FTP服务器会将文件传输所用的地址和端口信息作为数据载荷传输到对端的,Linux网关捕获这个数...

2012-06-09 11:10:50

阅读数:5290

评论数:1

Netfilter策略路由和uRPF

在Linux中,往往会出现一些奇怪的现象,如果你仅仅知道一些皮毛,那么这些现象将会让你抓耳挠腮,因为Linux往往遵循RFC建议而有时却不会保持持久的大众化实现,毕竟,Linux并不是一个人搞定的,特别是网络协议栈这一方面。uRPF这个概念很多人都知道,Linux的实现却很不一致,在Linux实现...

2012-06-03 19:02:32

阅读数:4172

评论数:2

Netfilter的rpfilter技术-Linux的uRPF

作为IP路由的一种补充,uRPF(单播反向路径转发)可谓非常有用,它认证了IP数据报的源地址,在一定程度了保护了网络的安全,比如有效防止了洪泛攻击。然而直到Linux内核的2.6的高版本版本,Linux只能实现严格的uRPF,这是由fib_validate_source函数来完成的,具体配置在/p...

2012-06-03 18:59:38

阅读数:4920

评论数:1

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