VPN恢复使用记录

话说这个月初的时候,突然VPN无法使用了。
看了一下linode的记录,服务器端做了一次重启,没有其他的异常。
经过若干次尝试,最后终于发现,问题可能出在iptables上面,因为默认iptables没有开放任何INPUT的例外。。。
后来试着添加了iptables的规则,重启pptp server,果然又能上了,顿时泪流满面…..

下面还是转载一篇完整的linode server pptp配置文档,以作备用:
源地址:http://www.vpser.net/manage/linode-vps-pptp-vpn-howto.html

因为众所周知的问题,日常的工作学习中会需要用到VPN,这里VPS侦探下面将以Linode VPS为例介绍如何在Debian/Ubuntu Linux环境下搭建PPTP VPN,Linode为国内外知名Linux VPS服务商,Linode购买及测试教程:http://www.vpser.net/usa-vps/linode.html 。

本教程也适用其他的基于Debian/Ubuntu Linux的VPS/服务器,也已在DiaHosting、VPSYOU、oplink上测试通过,如有问题欢迎反馈。

如果您觉得本文对您有所帮助,并想购买 Linode VPS [512M内存, 16GB硬盘, 200GB流量/月 = $19.95/月],请点击 [链接]购买,或者购买时在Referral Code栏填写:8feb8d13729744f394433de7ede23efbbab1205a。(VPS侦探注:购买Linode需要使用Visa/Master信用卡,没有可以找军哥代购。)

准备工作

基于Xen的VPS一台,目前OpenVZ的VPS很少有支持PPTP的。

远程SSH工具,putty或XShell。

1、安装PPTP服务器

apt-get update
apt-get install pptpd
2、配置PPTP服务器

安装完成后使用你熟悉的编辑器,如vi、nano或可视化管理工具winscp编辑/etc/pptpd.conf
查找如下内容:

#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
替换为:

localip 192.168.217.1
remoteip 192.168.217.234-238,192.168.217.245
上面的两行为VPN服务器的IP和VPN客户端连接后获取到的IP范围。

添加PPTP VPN用户

编辑/etc/ppp/chap-secrets 添加如下内容:

username pptpd password *
其中username为你要添加的VPN帐号的用户名,password为你VPN帐号的密码。

如果不喜欢用编辑器可以直接执行下面命令添加VPN帐号:

echo “username pptpd password *” >>/etc/ppp/chap-secrets
修改DNS服务器

编辑/etc/ppp/options,添加如下内容:

ms-dns 8.8.8.8
ms-dns 8.8.4.4
开启IPv4转发

编辑/etc/sysctl.conf文件,去掉net.ipv4.ip_forward=1前的注释
运行如下命令,使配置修改生效

sysctl -p
重启pptpd服务

/etc/init.d/pptpd restart
安装iptables

apt-get install iptables #如果已经安装可以跳过
开启iptables转发

iptables -t nat -A POSTROUTING -s 192.168.217.0/24 -o eth0 -j MASQUERADE
iptables-save > /etc/iptables.pptp
在/etc/network/if-up.d/目录下创建iptables文件,内容如下:

#!/bin/sh
iptables-restore < /etc/iptables.pptp
给脚本添加执行权限:

chmod +x /etc/network/if-up.d/iptables
至此PPTP VPN服务器端的设置就完成了。

客户端设置

Windows的话直接打开网络连接,创建一个VPN链接方式,按提示步骤设置上VPN服务器的IP,用户名、密码链接就可以了。

如有问题欢迎反馈,或到VPS论坛交流。

网站迁移完毕

最近花了一点时间,考察了几个美国独立主机提供商,最终选择了LiNode的19.99$套餐,先买了一个月试用.

购买主机主要有下面几个用途:

1.放置blog, 搭建私人vpn server. 这两点是最主要的应用;

2.挂pt, 主要CHD, 因为北京的ADSL上传太慢了, 在PT站里面要生存很艰难, 而国外主机的网速相当ok, 可以换取很多上传流量;

3.尝试各种好玩的应用, 比如rss reader, gallery, github等等, 当然这个纯属娱乐了;

而满足上面几点要求的主机大概需要具备这几个条件:

1.采用XEN虚拟方案. 常见的虚拟方案包括XEN和OpenVZ, 前者对hardware的利用率偏低, 但是对用户来说看到的是一台真正private的server;后者对hardware的利用率高, 但是对用户来说, 不能控制所有的资源. 具体到我的需求来讲, OpenVZ只能支持OpenVPN, 不能支持pptp/l2tp等, 虽然OpenVPN的安全性很高, 但是搭建起来过于繁琐, 实在没有时间去仔细研究, 因此还是XEN比较实用一些;

2.距离中国大陆的距离越近越好.距离越近通常ping值会低很多, 访问起来会很舒服, VPN的速度也有保障;

3.内存/硬盘/流量限制要足够. 这几个指标基本上就是拿钱堆出来的, 一分钱一分货…

按照上面几个条件,在尝试了几家主机提供商之后, 最后选了LiNode:

1.性价比适中, 最便宜的套餐是19.95$/m, 512M Ram, 20GB Storage, 200GB Transfer, XEN/OpenVZ可选;

2.最新开通了日本东京的机房, 对亚洲用户来说绝对给力, 实测ping值在120ms左右;

3.管理界面简单好用, 还提供一个ajax版本的linux shell, 非常方便;

下面就是购买之后搭建各server的步骤:

1.webserver选择lnmp, 也就是linux, nginx, mysql, php的组合. nginx现在据说已经超越apache了, 性能和资源消耗方面都极佳;

2.网上有人做了lnmp的一键安装包, 直接下载解压运行脚本即可, 极为方便;

3.VPN server选择pptp, 比较简单, 直接安装然后配置用户名密码, 打开ipv4转发即可;

4.blog还是用wordpress, 将原来的blog导出, 再导入新的blog, 也是非常方便, 呵呵;

5.最后装了一个rtorrent, 用来挂pt使用.

最后是这两天使用的感受:

1.网站速度很快, 这个是最基本的了;

2.vpn很稳定, 上facebook和youtube都很顺利, youtube看720p基本不会停下来缓冲, 都是一口气看完的;

3.pt下载可以用相当给力来形容, 有图为证:

之后还有几个打算:

1.搭一个gallery, 要那种支持jquery或者ajax的, 就像facebook的相册那种, 直接点击就能换下一张;

2.搭一个github, 用来在家里和公司之间同步资料, 比如一些笔记什么的, 不过这个还要再探索一下;

纪念网站重开

上周很悲剧的被“我们单位”搜到了小弟前年写的一篇弱文,结果网站直接被关了。。。。
整整一周都在给主机空间的客服留言,今天终于联系上了,做了保证一定会删掉某文章后,网站方得以重见天日,不容易啊

最近计划结婚已经结婚以及结了婚大秀婚纱照的人非常之多,我也决定加快进度,争取上半年搞定。

2011年最大的愿望之春节前修正版:给我来点有技术含量的活吧!!!

2010即将过去

居然快半年没有写一个字了,可以想象生活变得多么混沌。
前几天收到一堆网站+域名欠费/没有备案/需要完善资料的邮件,才想起来给域名和空间续费,又去那个之前误以为骗子链接的备案的网站登记了资料, 终于一切恢复正常了.
还是写点东西吧, 记录一下这半年的乱七八糟.
1.公司改组, 所有人转到了新的平台, 可谓人仰马翻, 一番折腾之后终于安定下来. 很多东西都变了, 但是大部分东西都没变, 尤其是那些最重要的东西;
2.看了几天房子, 最后还是放弃了. 现在还不算刚需, 好歹有个落脚之地, 继续攒钱观望.
3.九十月份的时候颓废了一段时间, 啥也不想做, 过了一个多月才缓过来, 稍微有些斗志了.
4.去了很多次医院, 看胃和颈椎, 还做了胃镜. 结果还凑合, 不严重, 但要注意生活习惯了.
5.Rabe再次离我而去, 不同的是这次我没有追随.

感受也有几条:
1.不知道从哪天起突然有了自信, 从主持周会开始? 还是从第一次遇到比我小的同事开始? 反正是有了点, 但是远远不够.
2.今年我不再看工作内容之外的书了, 回家也不写code不看技术网站了.
3.现在琐事还是很多, 但是依然做的兴致勃勃, 虽然有些时候还是需要强迫自己.
4.综合2和3, 其实是一回事, 但是又觉得有点微妙.
5.以前是这样的: 不自信->看很多工作之外的书->工作不是全身心投入->容易被一些小事搞得很情绪化
6.现在是: 有点自信->专注于工作->十分蛋定
7.区别也是很微妙的, rabe走后, 我思考了一段时间, 更加坚定了之前的想法: 把工作当做事业来做, 而不是当做镀金或者还房贷的工具. 这两种动机所表现出来的行为差别还是很大的, 前者只想做有意思的, 有难度的, 市场需求大, 门槛稍高的工作; 后者则会来着不拒, 主要能为公司赚钱, 扫地也做.
8.当然扫地有点夸张, 像哥25出头的年纪, 应该算是当打之年, 应该有点积累, 在某个比较靠谱领域持续而又长期的积累. 5年以上吧, 才有可能有所斩获.
9.无论发生什么事情, 8都是第一原则. 要有耐心.

焦虑和担忧当然也有很多:
1.在一个如此拼命的公司, 如何活着完成积累? 晚上回家就得赶紧睡了, 绝对不能熬夜了. 哥再也不是那个22的小伙, 可以随便折腾了, 得把自己当成一块evb来看, 很脆弱的, 得小心呵护, 每次使用都要谨慎, 才能用的长久;
2.赚的不算少, 花的却太多. 要节约.

2011会是平淡而美好的一年, 我应该会结束爱情长跑开始一段婚姻, 会继续蛋定的推进手里的工作, 在Android黑不见底的森林里摸索更多的角落. 我的身体应该会感觉到年轻一些.

要对自己有信心, 不要迟到, 说话要大声, 专注, 当责.

又是一个周期

最近工作上受到一点刺激,把心情搞的很糟糕。
还记得去年的时候顿悟一个道理,人在精疲力尽的时候往往情绪上也是最脆弱的,这个时候的刺激往往会很深,而我这次正应了这句话。
前面一个月又是手忙脚乱的一通加班,勉强赶上了schedule,还是有一堆事情放心不下,怕新接手的哥们漏了啥没接到的。但是马上就要transfer出去,要不然另外一滩事儿就耽误了,很是纠结。
这是所谓精疲力尽。
再就是部门开月会,HR客串,介绍了些人员组成上的情况,全部门160个人,本科只有17个,这个比例比我之前以为的数字低太多了,而且我也是这17个之一。
此所谓刺激之一。
然后又开始看android,我是喜欢在一个平台上长期投入的,因为每一个方向背后都需要对整个系统的了解作支撑,然后才有可能做到最好。所以我喜欢把一个平台看的很宽,到处都看看,好处是时间长了可以斩获颇多,坏处是老板要你换平台时就傻了,半天不得要领,不知从何看起。尤其是android这种资料少的可怜的平台,更何况周围做过的人几乎没有。
于是整个学习的过程很是疲惫,而且总是被打断,去调那些枯燥无味形同嚼蜡的寄存器。

还记得刚毕业的时候,每个月数着工资卡里那点钱,憧憬着要是哪天我工资多少多少就怎样;可是现在是体会到了,钱这玩意儿完全不能带给你快乐,你必须自己去找快乐,跟钱真的没关系。(当然房价是一个因素。。。)

今天算了算,来到新的公司10个月了,也该给自己一些改变了:
1.别用加班来表现自己的努力,要用效率和产出来表现;
2.远离那些枯燥,重复,可替代性强的工作,如果有可能的话;
3.改变自己的心态,尽管工作早,依然很稚嫩,多学习才是王道;

考试模型在IT民工日常工作中的体现

对于工程师而言,会遇到很多难题需要解决,其中有很多是比较简单的,类似选择题,判断题。
这些问题只要能解决大部分,及格一般没有问题。
但是仅仅及格,并不能使你胜出,自身竞争力依然很差。
所以要想胜出,就要研究如何做出那些开放性的,需要有很强的创造性,或者对问题本身有很深理解才能解出来的题目。
无论考试还是做工程,都是有时间限制的。
而且你一定要把解答写下来,否则必然是零分。

所以,套用考试的经验去看日常的开发工作:
1.最基本的题目一定要会;
2.最基本的题目不一定非要看书或者真的理解,死记硬背也可以应付;
3.但是死记硬背流在面对题型变化时会死的很惨;
4.死记硬背流总是占多数;
5.如果你很牛逼,非常善于解难题大题,可以申请去参加竞赛,从而不再为那些基础题目浪费时间。但这需要参加选拔,同时也意味着更多的付出。
6.考的好的人会获得更多的资源,无论是真牛逼,还是作弊,或者狗屎运在某次关键考时发飙;
7.但是笑到最后的都是那些真正牛逼,持续付出,而又不会轻易动摇的人。
8.不同的科目差别很大,给人发挥的空间完全不同,像历史和地理这样的科目就从来没听说有奥赛之类的东东。就好比做linux的人总是搞得很深,windows的就相对差一些;
9.了解自己最擅长哪些科目是很重要的。

一些胡思乱想,与君共勉。

团队成本

最近一周整个人都很低迷,每天只想看书写code,不想说话收邮件。
晚上偶然又看到一个同事抱怨每天工作枯燥无味的日志,稍微琢磨了下,发现也是一个共性的问题:
很多工程师喜欢写全新的code,或者debug很有挑战性的bug,而不愿意和别人讨论问题,写文档/报告,why?
写code或者debug会让人感觉爽,大概有下面两点:
1. 这事儿我能做,我比别人强,于是有很强烈的优越感,进而潜意识里认为自己在以后的日子里会越来越厉害,领先周围的人越来越多,等等;
2. 写code也好,debug也罢,让人爽的一个前提是可以完整的debug,换句话说可以看到绝大部分的code,或者只要你愿意,你就可以了解到黑盒子内部的东西是如何工作的,这会让人感到很踏实,你的思维、逻辑推理与判断会与实际的结果很好的匹配。
试想一下,如果你在调试一个没有任何symbol/code的程序,或者你的调试器经常抽风,又或者这个bug完全随机性的出现,估计谁也不会觉得爽。

所以我很多时候,工程师们不愿意开会/沟通/写文档/写报告的原因,很可能是因为担心人际交流的代价太高。
1. 很多时候,你和别人讨论的东西他未必完全听懂,他说的你也听不怎么明白;
2. 每次写报告都要画很多图,要确认很多细节,还要排版,总是抵消掉要报告的这件事情带给你的快感;
3. 有时候可能因为沟通的问题被人打过枪,或者别的老板误会过,那真是最糟糕透顶了。

前几天有一位非常资深的前辈辞职,一半的原因是为了照顾家庭,另一半是觉得公司的限制太多,还是小公司更好发挥。
就我个人而言,对此类事情早已看淡,每个人都有自己的期望和底牌,两者不匹配的时候就会散伙,很正常不过。
不过这件事还是让我一直在想,所谓的限制太多,应该就是团队成本太高吧?
比如你要做一个新的东西,如果在管理宽松些的公司(说小公司不合适,主要还是跟公司文化有关),可能一两个人拼个几天就能出个demo,但是在管理比较严格的公司,在看到demo前可能已经开了N次会,写了数份report了。当然这其中的大部分人都是很投入的在做事情,很少有踢皮球或者和稀泥的事情,但是基本上也会把人的激情磨的差不多了。

所谓事情都有两面性,无论管理宽松还是严格应该都有它的优势和劣势,重点在于认清劣势,发扬优势。
严格的管理对于一个比较大的团队应该是必须的(比如两三百人做同一个项目),否则就离散伙不远了。
但是过于严格的管理肯定会带来更高的团队成本,而且会在团队内部扩散,就好比两个人在屋子里聊天,轻声细语即可。但如果是在菜市场里面聊天,即使俩人离的很近,往往也得提高音量,因为干扰很大,而这些干扰在它们各自的参与者看来都是有用的信息。
毫无疑问,在这样的环境里面,谁都会觉得很烦。

俗话说屁股决定脑袋,我是无法从上到下的去看这几百人的团队是如何run起来的,但是从下往上的看,于个体而言,应该还是有些对策的:
1. 提高沟通的效率,或者简单的理解为速度。举个可能不太沾边的例子,你的手机电池是1000mAh,EDGE上网每分钟耗电10mA,下载速度10KB/s,WCDMA每分钟耗电20mA,下载速度1MB每秒。如果你需要下载一个1MB的mp3文件,用WCDMA的话,显然更省电。
所以提高沟通的效率对于降低沟通成本是非常有效的。
比如仔细琢磨一下你写report的习惯,很多人都是一页一页的写,每一页ppt都要写到OK才到下一页,或者在一个字号/布局/图表的颜色上面纠结。事实上如果分成几个pass去写report,效率会高很多。
首先在纸上把要写的东西列出来,这比在电脑上面打字要快很多,因为我们利用计算机对于文字的处理还是偏向于线性的,只是输入很快,重新组织的时候就非常慢了。然后把基本的文字和大概的图表完成,最后再去修饰小的细节。
再比如需要找某个人沟通的时候,尽量不要邮件往来,很多时候发邮件过去基本上就是告诉对方”我不着急….”, 还是电话或者直接走过去效率更高,但是这也需要消耗更多的能量,说话总是很累的:)

病后感言

进入10年以来一直的高强度工作,加上春节的折腾,终于让身体报警了,从上周日就开始咳嗽流鼻涕,一直咳到今天才有所好转。
于是上周心情极为糟糕,不过工作上倒是有些游刃有余的感觉,来公司半年之后终于对整体的流程有所把握了,尤其春节前后折腾的两周,颇有点“再牛逼也不过如此”的感觉。
今天加班回来的时候没打车,虎年第一次坐公交车回家,心情居然十分阳光,也说不清为什么,可能一个人就会忘记工作,另外省下了打车的钱,心情可能就好了吧,哈哈。
作为一名民工,以后应该多做些电脑之外的事情,多关注下自己除了手指之外身体其他的部分是否活动顺畅,更要多关注一下自己脑子里除了coding和debug之外的模块是否还算灵活。人老如山倒啊!
杜拉拉老说,二十八是职业生涯的第一个分水岭,如今老夫还有不到三年,时间相当紧迫了。
这几个月的忙碌中有发现自己好几处性格上的缺点,一是不善于在交谈时思考,二是不善于在压力下思考。
第一点由来已久,我仔细回想了一下自己十几年的学校生涯,绝大多数时间都是自己看书学习,上课只是复习,少有真正用听或者交谈学到新的知识。工作之后愈加严重,沟通和表达的机会更少,直到现在的公司才有质的改善。
说到这里顺便扯远一点,上周无意中看到一篇文章,讲IBM的薪酬绩效管理,大意是说,老板最看重三个要素,即目标,执行和团队。就是团队这两个字,让我有所顿悟,平时工作中总有许多杂事,刚毕业的时候很烦这些东西,现在反而越来越重视这些东西了,因为慢慢地我发现,这些事情要处理的又好又快并不难,但是一旦处理的不好,杂事就往往升级成大事了,损失的也不再是一点点时间。
而处理杂事,最重要的就是在沟通中思考,反面例子往往是你事后想到了当时怎样怎样做最好,但是事后补救的成本与当时把事情一口气做好相比往往相去甚远。
除此之外,如何在压力下思考也让人很头疼,我经常是面临压力就大脑一片空白,目前也没有找到好的方法,不过有一招倒是有些效果,就是强迫自己去承担更大的责任,面临更大的压力,玩命扛过去之后,再回头看,就会很淡定,淡定就不容易出错,不容易出错基本上就难有压力了。所谓挖掘自己的潜能吧。
最后又想起在云端的男主角做演讲时的话,大意是你的背包里装的东西太多,慢慢地就走不动了。要定时放下自己的背包,轻松的向前跑,于我而言,背包里装的多是害怕失败的恐惧,扔掉倒也不难,脸皮厚些即可,哈哈

无题

这年头信息太多,把有用的信息都冲掉了。真正成功的人都是低调,寡言,而勤于思考的人。
所谓执行力,真正的难点在于对困难的预估和回避能力,而不是立军令状表决心,或者每天催上十遍。
要多研究自己,比如什么时候效率最高?什么情景会让你紧张或者烦躁?什么情况下最容易集中精力?
累了就休息,效率最重要。大好时光不去陪女朋友陪家人,天天宅在电脑上效率还不高的折腾几个bug,不是有病是什么?

为什么会紧张?

因为孤立无援?
因为太想成功?
还是因为把自己封闭起来不愿意和其他人一起承担?

也可能上面这些都不是,只是因为做事前紧后松,总是把自己逼到最后期限,换谁都会紧张。

一定要有改变。