摘要: 相距上次写日志的时候已经相距一周了,所以现在写的东西又变成周记了,所以简单总结总结这一周的东西。 上一周真是很搞,经历了好多事情,心情极度动荡,所以什么东西都没有干,也就什么东西都没有写。 回了一趟学校,发现BY已经变成我了,在我的位置上面住了半个月,睡我的床睡了半个月,丫正享受着我的生活。别的人没怎么见,和XM出去玩了玩,去了时间,去吃金汉斯,去打台球,打保龄球。 周日回来参加YK的生日,一吃饭... 阅读全文
posted @ 2010-04-20 22:41 wudanzy 阅读(174) 评论(0) 推荐(0)
摘要: 今天主要是把设计文档写了,虽然不知道怎么写,但是大概写了写, 1 功能描述 4over6隧道模块在整个linux系统中的作用是,将进入隧道的IPv4分组分装成IPv6隧道包,并发送出去;将收到的IPv6隧道包解封装,并根据情况转发至本地网络。由于项目的实际需求,只需要在cpe上面建立一个隧道,所以只存储了目的机器和本地机器的ipv6的地址,对于进入隧道发送模块的所有的包都会被封装成隧道包发送到... 阅读全文
posted @ 2010-04-14 22:11 wudanzy 阅读(244) 评论(0) 推荐(0)
摘要: 现在的linux内核就自带了转发功能,只需要配置就能使用,今天配置了一下,遇到很多意外的情况,有很多细节需要注意。 打算搭建的场景是:一共三台机器,A,B,C。从A eth1连接到B eth0,B eth1连接到C eth0。这样A到C的包会经过B,现在要使得B能够成为一个路由器。 首先是开启linux的转发功能#echo 1 > /proc/sys/net/ipv4/ip_forward。... 阅读全文
posted @ 2010-04-12 22:25 wudanzy 阅读(453) 评论(3) 推荐(0)
摘要: 今天上午加下午,按照学长的要求修改了隧道模块,而且调试通过了。 修改主要是去掉其他的模块,而且重新写了ioctl()函数。经过这次编写,终于感觉到内核编程的繁琐,不是复杂,而是繁琐,很多平时经常使用的函数都不可以使用。刚开始的时候想把源地址和目的地址固定了,结果发现内核不支持地址格式转化的函数,后来只好另外写了个函数,把我们熟悉十进制格式的地址转化成二进制的地址才行了。 接着是编写ioctl的函数... 阅读全文
posted @ 2010-04-12 17:13 wudanzy 阅读(275) 评论(0) 推荐(0)
摘要: 学习了好几天的vim,总结一下。 vim是linux下面的比较主流的编辑工具,一般使用linux比较多的人都使用vi或者vim来编辑程序。 首先是模式,一共有normal模式,输入模式,覆盖模式。一般很多操作都从normal模式开始,这是最基础的模式。按i进入输入模式,R进入覆盖模式。在normal模式下面可以使用各种不同的命令来达到各种效果。 hjkl分别是左下上右移动的命令,e往右一个单词,$... 阅读全文
posted @ 2010-04-12 00:48 wudanzy 阅读(223) 评论(2) 推荐(0)
摘要: 闲得无事,写写日志。这周感觉什么都没有干,所以也没有写日志,这应该相当于是周记了。 项目都有点搁浅,4over6的那个隧道,上次讨论的结果是要修改,取消那个封装表,而且还要写一个接口的函数来代替,用来精简原来的代码。另外新的那个项目,拍脑瓜的项目,还得先看一堆RFC,draft什么的,不知道什么去搞。   跟学长聊了聊天,真是有点担心自己的毕业问题,学术啊学术,我现在做的东西完全就不是... 阅读全文
posted @ 2010-04-10 22:56 wudanzy 阅读(136) 评论(0) 推荐(0)
摘要: 今天做的工作主要是把4over6的代码提纯了一下。 工作的时候有几个发现,第一是在配置的时候,load里面,给tunnel配置了一个ipv4地址,ipv6地址,上次写的时候以为这个ipv6的地址是不需要的,但是今天发现这个是必需的,因为在tunnel封装的时候,封装之后的ipv6的头部是没有ipv6的地址的。然后在查找路由的时候顺便给它一个地址,这个地址就是给tunnel配置的地址。所以如果在配置... 阅读全文
posted @ 2010-04-06 00:10 wudanzy 阅读(214) 评论(0) 推荐(0)
摘要: 今天终于把4over6的隧道配置好了,太不容易了。 本来想的是使用linux自带的隧道进行配置,但是发现不行,linux自带的隧道在注册协议的时候注册的是ipv4协议族的,也就是在ipv4处理了之后才上交,ipv6处理之后上交的机制没有。所以只能是配置学长写的那个了。 早知道我就早点使用调试信息了,不过也由于我没有经验,所以单单一个调试就弄得我非常费劲,我也是第一次知道原来只有456级别的信息才会... 阅读全文
posted @ 2010-04-02 02:23 wudanzy 阅读(462) 评论(0) 推荐(0)
摘要: 今天在linux下面配置了ipip隧道。 我开了两台虚拟机,都是通过NAT方式上网的,A的ip地址为192.168.132.132,B的ip地址为192.168.132.130,现在想配置一个隧道,在A端的地址为219.243.40.40,在B端的地址为219.243.40.32。 在A机器上面: 首先安装ipip。 $sudo modprobe ipip 然后建立隧道 $sudo ip ... 阅读全文
posted @ 2010-04-01 05:02 wudanzy 阅读(1070) 评论(0) 推荐(0)
摘要: 今天看了看内核里面实现的ipip,终于把它给看下去了。 内核里面实现的时候,首先定义一个tunnel类型的结构体,在这个结构体有一个指针指向一个net_device{},然后这个net_device{}里面的priv指针又指向这个tunnel类型的结构体,所以一个tunnel和一个net_device一一对应。里面定义了一个ipip_net,这是一个储存tunnel的hash表。里面有对三种类型的... 阅读全文
posted @ 2010-04-01 04:44 wudanzy 阅读(422) 评论(0) 推荐(0)