11

很忙碌,很充实

   Posted by: dalin   in 未分类

首先,我的草稿箱里是有很多草稿的,只是一直没把它们写完而已,把慢慢写完的;
其次,我很好,身体基本健康,心情非常愉快,生活很充实;
然后,对生活充满信心;
最后,哥写的是博客,不是寂寞。

晚安

21

简单而有效的linux服务器内存监控

   Posted by: dalin   in 技术

JDK1.6.0存在着内存泄漏的bug,这个bug在一般情况下影响不大,但在百万级同时在线的服务器上,则会很快累积到一个较大的数字,导致系统内存耗尽而死机(或者停止响应)的情况。

情况最先在一些每台承担同时20万在线的服务器上出现。每个星期总会有几台这样的服务器死机,虽说对业务影响不大,但多多少少还是会有一点影响用户体验。症状是这样的:突然之间监控报警说服务不可用了,系统也无法再登录,但仍然可以ping通。由于无法登录系统,因此无法再登录上系统去进行处理或诊断,唯有重启机器解决。事后也无法在日志中查到任何线索(事实上,系统上的大部分日志都被关闭了,由应用本身来记录日志)。由于死机频率较高,不得不进行调查解决,而线索又有限。最后想了个笨办法:用crontab每隔一分钟将ps,top,free,vmstat等等工具的执行结果保存到一个日志文件上,由此来得到系统死机前的现场情况。通过调查发现,每次死机前,某JAVA编写的服务器软件耗费内存高达97%以上,再接下来,CPU使用率也在攀高(JVM在频繁地进行FullGC导致),再然后,系统就为马克思服务去了。

原因固然要调查并解决,但在解决之前,这个死机的问题还是存在啊,不能不解决啊,特别是快春节了,总不能放假回家还天天重启服务器吧。于是写了个小脚本,将临时处理这个问题。脚本的原理是这样的:每隔一分钟运行一次,使用ps aux查看系统进程信息,将第四列的进程内存率拿出来求和,如果使用率达到95%,则发一条短信报个警,如果方便的话,此时开发及运维就可及时上去查看堆栈情况并做出处理,而当内存使用率达到97%的时候(都达到这个值了,说明运维或开发无法及时上去处理),此时将此服务器进程重启一下。虽然有点暴力,但重启一个进程只需要几秒钟,总好过重启机器的几十分钟吧。用此小脚本进行监控之后,再也没有出现服务器死机的情况。

由于有近千台服务器,死机的情况时有发生,进而联想到能否将此监控推广到所有机器上去。于是将脚本稍做改动(原来只监控那一个服务器进程),监视系统中的所有进程,将它们的内存使用率加起来,如果达到95%以上就发邮件报警(不直接上短信报警是机器极多,极有可能出现被短信轰炸的情况出现),也不作自动重启进程的处理(因为进程极多,乱重启进程可能影响极大以至弄巧成拙)。监控上线2周,接收到8台机器报警,其中5台机器在收到报警后短时间内死机(由于有冗余,死机是可接受的,为了观察效果,故意不作处理),1台机器较特殊,采用了mmap来作存储,内存使用本来就较高,可通过调整阀值解决,2台为误报(mysql会跑出来很多子进程,进程使用共享内存,这样每个子进程都会有一个相同的内存使用率,它们的总和已经远远超过100%。升级脚本后解决)。从这些情况来看,监控是很准确有效的。实现起来也较简单。

至于为什么不用vmstat,free等的数据,容后再述。现在眼睛睁不开了。还有一些细节跟问题以及不足之处后面再更新这个文章加上吧。

31
十二

新年快乐!

   Posted by: dalin   in 涂鸦

由于极久没有更新了,想必各位fans等到花了也谢了吧。谢谢各位捧场。在这个各位倒数迎新年,大林数还有多少活没干完的晚上,悄悄地更新一下。内容自然是经过精心斟酌,仔细推敲,文笔自然是华丽而朴素滴。OK,那么下面正文来了:

新年快乐!!!

8

结婚

   Posted by: dalin   in 情感, 生活

国庆前一个月,某同学小A打了个电话过来,先是拐弯抹角嘘寒问暖地闲侃了几句。该同学在老家开手机店,平时基本上是没怎么联系,回家的时候才有联系的。这个时候打个电话过来,会有啥事啊?小A同学接着就问了:“国庆去哪里玩啊?”“没打算去哪,可能回家吧。”“回家好啊,到时回家吧,呵呵。”笑声中透着一股傻乎乎和阴谋(强人,能够同时在笑声中演绎出憨厚和奸诈,令人佩服啊!)。

一股冷意从迅速脚底下生成,然后以时速1W KM的速度兵分二路沿着左右腿的经脉窜到丹田,在丹田处汇合加满油之后,沿着任脉狂飙至脑门,成功占领脑门并在脑门处留下几滴冷汗之后又顺着督脉直奔肛门,然后散发至全身,逼出一颗颗可爱的鸡皮疙瘩。

我嘴角抽搐了两下:“莫非兄台喜事近?”。小A同学豪爽地笑了起来:“是啊,到时回家记得来喝两杯。”“-_-!一定一定!”

此事按下不表。又过几日,另一个平时神龙见首不见尾的同学小B来电:“国庆有什么安排没有?”

“打算回家。”

“别回家了,过来广州吧。”

还是那股冷意,这次全身乱窜,差点就弄得我走火入魔了。小心翼翼地问了句:“莫非您也要结婚了?”

“正是!”

好一个晴天霹雳!你怎么也就结婚了呢!?你怎么就不能再等等呢?!事已至此,多说无用。既然都是10月1号摆酒,一个在家,一个在广州,只能到时再看了。

既然红色炸弹已经精准无误地命中了咱,咱总得联络一下各路诸侯,商讨一下应对事宜,免得到时乱了阵脚。

话说有一路诸侯,暂且称之为小C,在深圳经商,与我常有来往。这小C同学为人质朴,敦厚善良,跟我一样,光棍20余年,对这泡妞沟女之事,还常需我指点一二。今年年初时,曾与我打赌,看看谁慢结婚。不料国历6、7月左右,小C来电,告知我,经友人介绍,他光荣地恋爱了。

这次小A小B结婚,我打电话给小C,除了商讨这应对之策之外,也顺口提了一句:“你小子不会也在这个时候凑热闹吧?”

小C一阵心虚地说:“不会不会,咱还年轻。明年再结,明年再结。”基于多年来建立起来的深厚的革命友谊,我很相信他,说:“这样我就放心了。”

不料,9月底的时候,正当我砸锅卖铁地筹备红包的时候,小C同学来电:“本人定于下月11号,即10月11号结婚,大宴四方,请准时出席!”

我当场晕厥3秒钟。然后强撑一口气,摆事实讲道理苦口婆心地对他宣传起晚婚晚育优生优育计划生育的基本国策和男人当以事业为重的人生哲理以及婚姻是爱情的坟墓以及自由和理想的牢笼等无数历史大贤的生活总结。小C同学静静地听完,然后平静地说:“父母之命,媒妁之言。聘书已下,日子已定,多说无益。你看开些,准时出席。若不出席,后果自负。”

我带着一脸失落和悲伤,瘫坐在椅子上,久久不能自我……

注:小A小B小C皆是男同学,若有想歪,以为其中某人与我曾经有过刻骨铭心、惊天动地的爱情故事者请到厕所面壁。

19

linux下USB电视盒的使用

   Posted by: dalin   in 技术

奥运会快要开始的时候,突然想起自己去年买过一个USB电视盒,买完之后基本上没有用过,现在刚好奥运会开始了,可以拿出来用了。于是翻箱倒柜地把它找出来了。

这是一个型号为优图UTV300的USB电视盒,应该是个山寨货吧,反正别指望官方linux驱动就是了。翻出来插上电脑,dmesg看了一下,em2860的芯片,linux识别出来了,但具体是什么卡,什么tuner,内核识别不出来,所以没办法直接用。不过不用担心,只要知道是什么芯片,我相信总是能搞定它,毕竟跟其它同芯片的差别应该不会太大。先是按照常规的方法试了一下:就是在加载电视盒驱动模块的时候(通过lsmod看出这个模块的名字叫em28xx),加上card和tuner参数,参数一个个试,看看是不是刚好会有一个可以用的。结果很遗憾,不行。

上网找了一下,看看有没有前辈已经弄过这个了。虽然没有,不过发现佳得美的UTV330用的芯片是跟这个一样的。那么也许我可以尝试一下按UTV330的方式把它装上。可惜官方内核里也没有UTV330的驱动,只能下载驱动,自己编译安装驱动的内核模块了。从网上找到的资料,通过Mercurial下载了驱动:

hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel

编译安装。结果编译安装无法通过,看了错误提示,感觉应该问题不大。打开vim,找到出错的地方,dirty hack了一下,ok了。后面还是出了几个错误,通过同样的手段搞定,终于把驱动装上了。装上tvtime,试了一下,没报错。然后就是漫长的频道扫描。把音频线插上,混音器调好,打开一看,哈哈哈,出来了,效果还可以。

终于赶上奥运会开幕之前把它装上,用它好好地欣赏了精美的奥运会开幕式。

结果过了两天,我习惯性地全面升级系统,把内核也给升级了。然后当然驱动又得重装啦。结果这次却没有那么顺利了,编译的时候一大堆错误。再想通过dirty hack的手段搞定它已经很难了,不知道是不是下载下来的驱动有问题,发现里面好多函数根本就没定义。重新搜索了一下,又找到另外一个版本的驱动:

hg clone http://linuxtv.org/hg/v4l-dvb

这个驱动倒是很好,很顺利地编译通过。打开tvtime一看,嗯,效果不错,不过没有声音!检查了一下设置,接线,没找出问题,看来是驱动本身的问题了。给模块换上各种参数,终于发现使用另外一个参数的话有声音了,但却没了图像。其实换参数主要就是不断地选择不同的现成的电视盒型号驱动。折腾好久了(还出动了脚本)发现还是这样,要不不就是有声音,没图像,要不就是有图像没声音,看来是真没辙了。最惨的是,archlinux升级内核的时候,是直接替换,而不是重新安装,想回滚都不行。而且我当时在升级完之后,还顺手就把cache文件给删了,所以如果想换回原来的内核是比较麻烦了。

奥运比赛正在如火如荼地进行着,这给了我解决电视盒驱动问题的动力(网上直播效果太差)。思路是很清晰的,既然某个参数有画面没声音,某个参数有声音没画面,那将它们结合起来不就可以了吗?just hack it!

找到驱动的关键代码(活用grep),比较两个参数的不同之处,然后把有关声音部分的代码拷到另外那个参数的相关代码那里去,保存,编译。重装加载模块。结果很失望,仍然是有画面,没声音。后来仔细听了一下,不对,不是没声音,只是声音极小而已。到这里基本上已经绝望了,因为这是我想出来的最完美的解决方法了,可是效果居然还是这么差。

结果当我重启系统的时候,柳暗花明又一村,它居然正常工作了!想了一下原因,应该是刚刚在重新加载内核模块的时候,漏掉将em28xx_alsa重新加载了,所以才会以为不成功。

最后,总算是搞定了。虽然有点折腾,但是,happy hacking。思考也是种乐趣啊。给块金牌奖励一下自己吧。

28

Linux/Unix SA的自我修养(一)

   Posted by: dalin   in 技术

我不算一个专业的Linux/Unix SA,我只是一个Linux技术支持。不过经常会干一些SA干的工作,也接触过一些很牛的SA跟一些不大称职的SA。因此有些关于SA的“自我修养”的问题跟大家探讨探讨。

一、专业修养

1、专业英语

不管情愿或不情愿,专业英语的阅读能力是一个Linux/Unix SA最重要的修养之一。且不说大部分的Linux/Unix文档都是用英文写的,单单系统提示就足以让一个Linux/Unix SA重视专业英语的重要性,并下定不掌握不罢休的决心了。我们常常可以在论坛上见到很多初学者“冰天雪地裸体前空翻720度跪地求助”,往往点进去一看,却不禁令人哑然,出错的原因很简单那些暂且不说,关键是有些错误,系统已经明明白白告诉他了,甚至有些还已经给出了解决方法了。可是这些求助者还是不得不作出一些伤风败俗的求助行为来。除去那些没有看提示的习惯的人,绝大部分的人就是因为看不懂英语所以不知道问题出在哪,该怎么解决。虽然现在已经有一部分系统/软件的出错提示已经做了中文本地化了,但更多还是英语的,所以不懂英语,出错问题了,只能把出错提示往网上一贴,求人帮忙翻译一下了。

还有一个原因就是前面说过的:大部分的Linux/Unix文档都是用英文写的。当然,现在中文的文档也有不少了。不过,有一点,中文的文档往往会有些滞后,你遇到的问题中文文档找不到解决办法,但通常英文的往往都已经有了。另外有一点就是中文的文档好多都是教人知其然,而不教人知其所以然的,比如教人怎么安装配置某软件或服务往往都是这样:a.从某某地方下载某某软件;b.解压安装,或tar zxvf ,或rpm,或yum,或apt-get,或新立得……;c.修改某配置文件如下……;d.启动,测试,完成。结果往往看文档的人的需求跟写文档的人略有不同,聪明的还好,知道自己举一反三,愚钝一点的就傻了眼了,照做还是不行。又或者下次又有同样的需求,又得翻文档了。而英文文档好多则不同,不但教人知其然,还教人知其所以然。比如redhat的官方文档,比如samba的官方文档等等。看这样的文档,不但帮助你解决了当前的问题,还可能帮助解决了以后可能存在的问题。

总而言之,英语水平不行(不强求日常生活中的那些英语,起码专业英语的阅读),想学好Linux/Unix是要相对困难一些的。事实上,专业英语要学好也不难,来来去去好些单词,遇上不懂的单词还可以查词典,专业英语的语法又不复杂,很少有很种望不到边的长句。

2、一颗无畏的心,一个好动的脑

在我接触过的Linux人中,有些人的表现真会让人有种恨铁不成钢的感觉,不论是接触过的一部分SA还是一部分RHCE学员。因为有时候遇到的问题真的很简单,甚至系统已经给出答案了,他们还会马上就来求助。他们不是看不懂提示信息。最关键的是,他们首先不自信,遇到问题心理先咯噔一下:完了,出错了,怎么办啊。并不相信自己能够解决它并尝试去解决它,而是选择了逃避,或者转移责任、求助。作为一个Linux/Unix SA,这是不可原谅的!!!应该要有一颗无畏的心!一颗战胜困难的决心!逃避或者求助也许能让你暂时避开或者解决问题,却也同时不会让你进步!遇到问题的时候,应该先冷静下来,问问自己:真的无法解决吗?动动脑子:我该怎么去解决它?

好,假设你已经有了一颗无畏的心了,遇到问题不打算逃避或者立即上网求助了,我们来试试动动脑子。一个问题出现了,立即先问问自己:问题出在哪?当然,我知道你无法马上知道问题出在哪,我们来动动脑子。问题出在哪,系统是不是已经告诉我了?找答案。终端下是否已经有了出错提示?假如没有,系统日志是否已经提示我了?日志通常在/var/log目录下,很令人崩溃的一种情况是,有些人,你已经提醒他去这个目录下看日志了,他会立马问你,哪个日志?好,如果你是很赶时间,那不计较,帮你赶快解决,但如果你不赶时间,你为什么不学着自己找一下呢?/var/log下面的日志文件并不多,就那么几个,大部分日志的名字就告诉了你这是什么应用的日志了,比如/var/log/maillog,动动脑筋,就会发现,其实自己能很快找出在哪个日志文件中找到自己需要信息了。假如日志也没有我们想要的信息,那我们是否还有其它的途径获得想要的信息?比如一些测试工具?一些测试选项?换种环境试试?好了,以后遇到问题的时候,试试别被吓倒,别马上去向人求助,照这些问题先好好动动脑子。

如果找到问题所在了,并能解决它,那当然很好。如果动了脑子了,还不能找到问题所在或者知道问题所在却不能解决它。那我们再继续动脑子:做假设。比如现在你上网上不了了,怎么办?系统的提示信息没什么意义,它就是告诉你上不了网了,却不会告诉你为什么上不了网了。我们来动动脑子想想看。跟上网有关的有哪些因素,分别假设是这些因素出了问题。比如,是否网线没接好?是否IP没设置?是否子网掩码没设置?是否网关没设置?是否DNS没设置?是否防火墙阻止了?是否你想访问的那个网站本身出了问题?是否你自己有RPWT,咳咳,·这个是开玩笑。好了,做了假设了,当然就是分别一个个去测试是否这些因素导致的。如果是,解决它,如果不是,继续验证下一个……要注意的是,要从最简单的开始,否则可能会白白浪费时间。比如问题很简单,就是网线掉了,结果你在那里又ifconfig,又ping,又traceroute,又route,又cat /etc/resolv.conf的折腾大半天,最后无力地倒下,然后你的脑袋挨着地板的时候,眼睛无力往上睁了一下,结果看到了一个松动掉在地上的网线接头,两眼一瞪,双脚一伸,就这么死不瞑目了,多冤啊~

总结:在能看懂系统提示信息的前提下,遇到问题的时候首先要克服自己的恐惧心理,然后要冷静思考,往往问题总是能够很容易地解决的。当然,有时候受知识水平、能力范围所限,还是有一些问题解决不了的,这个时候再去求助也不迟。求助的时候,别忘了附上系统提示信息,说明关于这个问题,你做了哪些思考,做了哪些尝试,你的尝试结果是什么,这些都对帮助你尽快解决问题有很大的用处。

22

测试

   Posted by: dalin   in 未分类

测试一下是否还可以发表日志

22

近期生活报告

   Posted by: dalin   in 生活

感觉有点累,不断地上班啊上班啊上班啊上班啊,天天上班,没有周末。还经常在机房里呆着,没地方坐,空调大,辐射大。难怪原本就很差的皮肤现在更是
越来越差了,不要紧,就当是再次青春期好了。

天气热,晚上不好睡觉。于是每天都在心里下定决心12点以前睡觉,结果又都在2点睡觉。还好,精神不算太差。沃尔玛门口跳舞的大妈们消停一些了,声音没开
到让我感觉有点振动了。估计是有人投诉了。嗯,甚好。否则我不知道会不会哪天突然冲下去把他们的音箱砸了。

00同学来深出差一两个月。感觉甚好。想念那帮兄弟姐妹们。在00同学的唆使下,坚定了去云南跑一趟的想法。我看就7月底8月初吧。昆明-》大理-》丽江
-》香格里拉。昆明主要是见见老朋友,那边没啥好玩的了,00同学说要包吃包住包潇洒的,我已经拿个小本本记起来了,哦,对,还要带我泡温泉。然后看情
况,有兴致或者有人的话,就去一趟大理,没有的话就冲丽江奔去。不知道土司家的二儿子──和老大是否在那边已经黑白两道通吃了。不管了,反正是打算去那边
艳遇一番的。到时脸上就贴着“艳遇”二字到处晃悠。在那边呆的时间视艳遇情况而定吧。完了之后再往香格里拉方向出发。美丽的香格里拉有个脸蛋红朴朴的老吴
同学在那边等着我。去了自然是不用说,照旧三包:包吃包住包潇洒。老吴说,没的问题,咱们去泡温泉吧。难道云南现在流行泡温泉?总结:这将会是一次会友艳
遇以及温泉之旅。

乌脚同学一直叫我去珠海跑一趟,从3月份说到现在,我满口答应,可是一直拖到现在,没能成行。我倒也是想去,可是没时间啊,从3月份到现在,有空的仅几个
周末就回家了两趟,大雨倾盆了一两次,接待朋友一两次。如果7月5、6号能安排出时间来就最好了,如果不行,恐怕得等到深圳大学的课上完再说了。突然冒出
一身冷汗,深圳大学的那帮学生破坏力可不小,看来我又要被折腾个半死,想想看,每时每刻都有10个人排着队让你授业解惑,半夜里都会吓醒过来。好吧,我顺
便减减肥好了。

个人问题,这是一个严肃的问题。同学甲乙丙丁曾说,大林,你要求太高了。我矢口否认。现在看来得正视这个问题了。让我用IT男的逻辑分析一下吧:条件一、
大林同学不是个变态,大林同学一样喜欢美女,大林同学无法接受男男之恋;条件二、大林同学不缺乏mm或明或暗送过来的秋天的菠菜。结论:大林同学要求恐怕
真的高了。要求真的高吗?咱也没要求脸蛋多漂亮,身材多好,钱有多少啊。咱不就要个温柔体贴的而已嘛。这要求也不算高啊。再深入分析一下吧。虽然见人就说
介绍个mm来认识吧,可本质上,俺心里应该是不着急的。每天上班下班,回家上网。这自由自在的日子可的还是挺惬意的。宅就宅吧,总体上来说还是充实的。偶尔还跟朋友去KK歌,还是不错的。最多就是缺乏雌性荷尔蒙中和,内分泌有点失调罢了。不怕,咱有王老吉。

练练英语。现在看英语电影可以不看字幕了。虽然还是有不少听不懂,不过至少电影还是能看懂的。小小的成就感。关键在词汇量了。看看小说,慢慢积累吧。现在
连卖山寨机的大叔大妈们都一口流利的英语了,再不进步,就要被淘汰了。

按理来说,我只是一个linux厂商的技术支持,去为客户服务,只要涉及到我所服务的系统就行了,可事实往往不是这样……

事件一、某银行让我去给他们的redhat服务器配个samba,我去了,然后很快就搞定了。要走的时候,对方的技术人员说,你刚刚弄了什么,我们的domino服务器怎么跑不起来了。我无语……我说,我刚刚操作你不是一直看着吗,我就动了samba的配置文件,其它啥也没动啊。对方说,那我们的domino怎么跑不了了?刚刚就你操作过电脑啊。我又无语……好吧,既然这么说,看来不把问题解决,我是跑不了了。可是domino这玩意儿我从来没接触过啊。没办法了,翻log了,查报错的地方。折腾了三四个小时之后,问题解决了,也证明了确实不是我的问题。可是我多花的那三四个小时可是没办法要回来了。唉,反正自己又学习到东西了,算了吧。

事件二、某公司,做网站的。来了一批服务器,有23台,买了rhel5,我去给他们装,也帮他们搭好环境(LAMP,tomcat,nfs)。 搞定之后当然是要测试一下啦。结果发现出错。当然,出错了就得找我这个操作人员。当然,我又推卸不了责任喽,服务器是我在搞,问题肯定是出在我身上啦。我把日志调出来一看,一眼就看出问题来了:他们的程序写的有问题,php程序里include的路径把/写成\了。我指着出错的地方对他们的开发人员,你们自己看看吧……然后他们沉默。我帮他们把路径改回来了,ok,正常了。还好还懂一点php,不然又被冤枉了……嗯,我帮他们debug,是不是得找他们要点酬劳啊^_^

事件三、某期货公司,一台服务器(还有一台热备),上面跑着一个rhel4.5,一个sybase数据库,跟一个金仕达的应用程序。结果某天打了个电话过来,说,这服务器性能太差了,系统是不是有问题啊?屁颠屁颠地背着俺滴本本就打的过去了。到了那一检查。咦,系统很正常啊,io,load都没问题啊。当然,这么跟客户说是没有用滴,他们会以为你是在推卸责任。反正问题没解决,人是走不了滴。好吧,既然如此,又少不得蒙一蒙了。初步判断,应该是sybase数据库的问题。说,应该找数据库的工程师才对啊。答,急着用(sybase在深圳貌似木有工程师)。一副你少给我来这一套的样子。好吧,既然你非要赖在俺们伟大的OS上面,那就别怪俺这个几乎没碰到sybase的人把你的服务器当小白鼠了。从硬盘里翻出本葵花宝典来,哦,不对,是sybase文档。大概瞅了一下,咱没见过猪走路(其实俺家就养着两头猪呢),但也好歹吃过猪肉啊,知道问题大概是sybase的优化问题,比如cache啦,比如cpu啦,就着重看了一下。然后把原来的一些东西备份一下。就在那鼓捣一通,幸不辱命,客户满意了。老天,虽然俺几年前的毕业设计就是数据挖掘的东西,可是俺几年没接触都基本忘光了(嗯,曾经去面试,被一条简单的select语句给羞辱了……),居然被我折腾出来了,运气还算可以。

综上所述,一个linux技术支持工程师,除了本职工作上的东西要懂(嗯,招聘语录上的话来说叫精通),还要同时了解(招聘语录上的话还是叫精通)各种各样的技术,比如php,c,python,数据库,domino,嗯,要是还有系统上面跑着银行的对账系统的话,还要精通这个。总而言之,你的客户在用什么,你就要精通什么,虽然那可能跟你一点关系都没有,但如果你不想被人冤枉,那就只有精通吧。俺还曾经修过打印机,虽然在那之前,我还从来没摸过打印机。俺还曾经帮领导的女儿做作业,作业的内容就是做一个网站……

我,就是一个内裤穿在外面的Linux技术支持工程师,哇哈哈哈!

16

用上ipv6了

   Posted by: dalin   in 技术

当然,不是直接就有一个ipv6地址给我使用。是通过IPv6 Tunnel Broker 来实现的。什么是IPv6 Tunnel Broker呢?抄一段文字给大家看看:利用現有 IPv4 網路,透過二端建立起一條 隧道(Tunnel) ,Server端透過這個 Tunnel 發送一組 IPv6 位址給另一端,使兩端可以使用 IPv6 封包在 Tunnel 內傳遞,如同現行很熱門的 VPN應用,是同相道理,使用者在外可使用公司內部私人網路,一樣是透過 Tunnel 建立,公司內部網段 IP 在 Tunnel 內傳遞,只不過這時換成 IPV6 封包。

详细的信息大家可以上google搜索一下。我采用的是台湾的亚太电信集团提供的ipv6 tunnel broker ,大家可以自己打开链接看看。下面我简单介绍一下linux下怎么用这个分配到一个IPv6地址。

http://download.apbb.com.tw/ipv6/gw6c-5_1-BETA4-src.tar.gz 下载linux版客户端。

然后

mkdir gw6c
cd gw6c
tar zxvf /path/to/gw6c-5_1-BETA4-src.tar.gz
cd gw6c-config
make target=linux exportdir=../tspc-advanced export
cd ../gw6c-messaging
make target=linux exportdir=../tspc-advanced export
cd ../tspc-advanced
make target=linux all
make target=linux installdir=/usr/local/gw6c install

这样我们就完成安装了,很简单,是吧?接下来:

cd /usr/local/gw6c/bin

vi gw6c.conf

找到server的那一行,改成

server=tb.ipv6.apol.com.tw

保存,退出。

然后就是执行./gw6c。一小会儿之后,就会告诉你完成了,哇哈哈哈,就这么简单!

ifconfig看一下:
[root@www tspc-advanced]# ifconfig
……
tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: 2001:f10:5001:4a2::2/128 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
RX packets:701 errors:0 dropped:0 overruns:0 frame:0
TX packets:683 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:75753 (73.9 KiB) TX bytes:487004 (475.5 KiB)

成功了。然后可以访问一些ipv6网站测试一下,比如 http://ipv6.google.com,hoho,没问题!而且,可以爬墙!搜索任何字符都不会被GFWed了!

可是现在ipv6的应用相当,支持ipv6的网站也极少,有什么用呢?hoho,告诉你,再通过一层tunnel,可以用来爬墙,比如 http://www.sixxs.org 就提供了这个服务,任何网站,只要在域名的后面加上 sixxs.org ,就可以通过sixxs的ipv6服务器进行tunnel, 比如 http://zh.wikipedia.org.sixxs.org ,哈哈哈,终于可以爬墙访问wikipedia啦,enjoy it!