Sunday, January 08, 2012

Chinese books for sale

Chinese Books, all goes for S$2.00 each if it is not stated otherwise. Interested please contact 9-2-3-eight-nine-3-two-O, deal at Bukit Batok MRT only.

中文书籍出售,除注明外,一律S$2。有意请 SMS/call 9-2-3-八-九-3-二-零,武吉巴督地铁站交易。


正则表达式必知必会



SQL Server 2000 宝典附CD光盘 S$5.00



索尼源流 - 从废墟上起步



狼图腾


魔鬼经济学



细节决定成败



现代英美诗一百首


Saturday, May 07, 2011

Converting text file to pdf for Sony PRS600 reader

Here are the steps:
  1. Create new document in word 2007
  2. Copy and paste the text content into it
  3. Recommended font MS Yehi Size 15
  4. Set page size to A4 (8.3 inch by 11.7 inch)
  5. Set page margin to Top/Bottom: 1.85 inch, Left/Right: 1.15 inch
  6. After setting this page margin, the content region will be 6 inch by 8 inch
  7. Save the word doc as pdf
  8. Use pdf tool to crop tha page of pdf file, margin sizes to be cropped are save as above
Done!

Wednesday, December 29, 2010

《你见或者不见我》

你见,或者不见我
我就在那里
不悲不喜

你念,或者不念我
情就在那里
不来不去

你爱,或者不爱我
爱就在那里
不增不减

你跟,或者不跟我
我的手就在你手里
不舍不弃

来我的怀里,或者让我住进你的心里
默然 相爱
寂静 欢喜


——仓央嘉措

Thursday, June 17, 2010

佛家四大经典爱情故事(转)

(一)前世是谁埋了你

从前有个书生, 和未婚妻约好在某年某月某日结婚。到那一天, 未婚妻却嫁给了别人。

书生受此打击, 一病不起。家人用尽各种办法都无能为力,眼看奄奄一息。这时, 路过一游方僧人,得知情况,决定点化一下他。僧人到他床前, 从怀

里摸出一面镜子叫书生看。

书生看到茫茫大海,一名遇害的女 子一丝不挂地躺在海滩上。路过一人, 看一眼,摇摇头, 走了……又路过一人, 将衣服脱下,给女尸盖上, 走了……再路过一人,过去, 挖个坑, 小心翼翼把尸体掩埋了………

疑惑间, 画面切换. 书生看到自己的未婚妻. 洞房花烛,被她丈夫掀起盖头的瞬间……

书生不明 所以。僧人解释道:看到那具海滩上的女尸吗?就是你未婚妻的前世。

你是第2个路过的人,曾给过他一件衣服。她今生和你相恋,只为还你一个 情。

但是她最终要报答一生一世的人,是最后那个把她掩埋的人,那人就是他现在的丈夫。书生大悟,唰地从床上做起,病愈。

(二)蛛儿与芝草

从前,有一座圆音寺,每天都有许多人上香拜佛,香火很旺。在圆音寺庙前的横梁上有个 蜘蛛结了张网,由于每天都受到香火和虔诚的祭拜的熏托,蛛蛛便有了佛性。经过了一千多年的修炼,蛛蛛佛性增加了不少。
忽然有一天,佛主光临了圆音寺,看见这里香火甚旺,十分高兴。离开寺庙的时候,不轻易间地抬头,看见了横梁上的蜘蛛。佛主停下来,问这只蜘蛛:“你我相见 总算是有缘,我来问你个问题,看你修炼了这一千多年来,有什么真知灼见。

“怎么样?”蜘蛛遇见佛主很是高兴,连忙答应了。佛主问到:“世间 什么才是最珍贵的?”蜘蛛想了想,回答到:“世间最珍贵的是‘得不到’和‘已失去’。” 佛主点了点头,离开了。
就这样又过了一千年的光景,蜘蛛依旧在圆音寺的横梁上修炼,它的佛性大增。一日,佛主又来到寺前,对蜘蛛说道:“你可还好,一千年前的那个问题,你可有什 么更深的认识吗?”蜘蛛说:“我觉得世间最珍贵的是‘得不到’和‘已失去’。”佛主说:“你再好好想想,我会再来找你的。”
又过了一千年,有一天,刮起了大风,风将一滴甘露吹到了蜘蛛网上。蜘蛛望着甘露,见它晶莹透亮,很漂亮,顿生喜爱之意。蜘蛛每天看着甘露很开心,它觉得这 是三千年来最开心的几天。突然,有刮起了一阵大风,将甘露吹走了。蜘蛛一下子觉得失去了什么,感到很寂寞和难过。这时佛主又来了,问蜘蛛:“蜘蛛这一千 年,你可好好想过这个问题:世间什么才是最珍贵的?”蜘蛛想到了甘露,对佛主说:“世间最珍贵的是‘得不到’和‘已失去’。”佛主说:“好,既然你有这样 的认识,我让你到人间走一朝吧。”
就这样,蜘蛛投胎到了一个官宦家庭,成了一个富家小姐,父母为她取了个名字叫蛛儿。一晃,蛛儿到了十六岁了,已经成了个婀娜多姿的少女,长的十分漂亮,楚 楚动人。
这一日,新科状元郎甘鹿中士,皇帝决定在后花园为他举行庆功宴席。来了许多妙龄少女,包括蛛儿,还有皇帝的小公主长风公主。状元郎在席间表演诗词歌赋,大 献才艺,在场的少女无一不被他折倒。但蛛儿一点也不紧张和吃醋,因为她知道,这是佛主赐予她的姻缘。
过了些日子,说来很巧,蛛儿陪同母亲上香拜佛的时候,正好甘鹿也陪同母亲而来。上完香拜过佛,二位长者在一边说上了话。蛛儿和甘鹿便来到走廊上聊天,蛛儿 很开心,终于可以和喜欢的人在一起了,但是甘鹿并没有表现出对她的喜爱。

蛛儿对甘鹿说:“你难道不曾记得十六年前,圆音寺的蜘蛛网上的事情 了吗?”甘鹿很诧异,说:“蛛儿姑娘,你漂亮,也很讨人喜欢,但你想象力未免丰富了一点吧。”说罢,和母亲离开了。
蛛儿回到家,心想,佛主既然安排了这场姻缘,为何不让他记得那件事,甘鹿为何对我没有一点的感觉?几天后,皇帝下召,命新科状元甘鹿和长风公主完婚;蛛儿 和太子芝草完婚。这一消息对蛛儿如同晴空霹雳,她怎么也想不同,佛主竟然这样对她。
几日来,她不吃不喝,穷究急思,灵魂就将出壳,生命危在旦夕。太子芝草知道了,急忙赶来,扑倒在床边,对奄奄一息的蛛儿说道:“那日,在后花园众姑娘中, 我对你一见钟情,我苦求父皇,他才答应。如果你死了,那么我也就不活了。”说着就拿起了宝剑准备自刎。
就在这时,佛主来了,他对快要出壳的蛛儿灵魂说:“蜘蛛,你可曾想过,甘露(甘鹿)是由谁带到你这里来的呢?是风(长风公主)带来的,最后也是风将它带走 的。甘鹿是属于长风公主的,他对你不过是生命中的一段插曲。而太子芝草是当年圆音寺门前的一棵小草,他看了你三千年,爱慕了你三千年,但你却从没有低下头 看过它。蜘蛛,我再来问你,世间什么才是最珍贵的?”
蜘蛛听了这些真相之后,好象一下子大彻大悟了,她对佛主说:“世间最珍贵的不是‘得不到’和‘已失去’,而是现在能把握的幸福!”
刚说完,佛主就离开了,蛛儿的灵魂也回位了,睁开眼睛,看到正要自刎的太子芝草,她马上打落宝剑,和太子深情地拥抱在了一起……

(三) 千年等待

有个年轻貌美的少女,出身豪门、多才多艺,她家的门槛都快被媒婆踩断了,她仍不想出嫁,因为她始终都在盼望如意 郎君的出现。

有一天,她去庙会散心,在万头钻动的人群中,瞥见一名年轻男子,心中确知就是她苦苦等待的人,然而,场面杂沓拥挤,她无论如何 都无法靠近那人,最后眼睁睁地看着心上人消失在人群中。之后,少女四处寻找此人,但这名年轻男子却像是人间蒸发,再也没有出现。落寞的她,只有每日晨昏礼 佛祈祷,希望再见那个男人。她的至诚,感动了佛心,于是现身遂其所愿。

佛祖问她:“ 你想再看到那个男人吗?”

“是的,哪怕 见一眼也行!”

“若要你放弃现有的一切,包括爱你的家人和幸福的生活呢?”

“我愿放弃”少女为爱执着 。

“你 必须修炼五百年,才能见她一面,你不会后悔吧?”

“我不后悔”斩钉截铁。

于是女孩变成一块大石头,躺在荒郊野外,四百九十九 年的风吹日晒,女孩都不以为苦,难受的却是这四百多年都没看到一个人,看不见一点点希望,才让她面临崩溃。最后一年,一个采石队来了,相中了她,把她凿成 一块条石,运进城里,原来城里正在建造石桥,于是,女孩变成了石桥的护栏。就在石桥建成的第一天,女孩就看见了那个等了五百年的男人!他行色匆匆,很快地 走过石桥,当然,男人不会发觉有一块石头正目不转睛地望着他。这男人又一次消失了。

佛祖声音再次出现:“满意了吗?”

“不! 为什么我是桥的护栏?如果我被铺在桥的正中,就能碰到他、摸他一下了!”

“想摸他一下?那你还得修炼五百年!”

“我愿意!”

“很 苦喔,你不后悔?”

“不后悔!”

这次女孩变成了一棵大树,立在一条人来人往的官道上,每天都有很多人经过,女孩每天观望,但 这更难受,因为无数次希望却换来无数次的希望破灭。若非前五百年的修炼,女孩早就崩溃了!日子一天天过去,女孩的心逐渐平静了,她知道,不到最后一天,他 是不会出现的。又是一个五百年啊,最后一天,女孩知道他会来的,但她的心中竟然不再激动。他终于来了!还是穿着她最喜欢的白色长衫,脸还是那么俊美,女孩 痴痴地望着他。这一次,他没有匆匆走过,因为,天太热了。他注意到路边有棵大树,休息一下吧,他想。他来到树下,靠着树根,闭上双眼睡着了。女孩摸到他 了,而他就紧靠在她的身边!但是,她无法向他倾诉这千年的相思。只有尽力把树荫聚拢,为他遮挡毒辣的阳光。男人只小睡片刻,因为他还有事要办,他拍拍长衫 上的灰尘,动身前一刻,他回头看了看,又轻轻抚摸一下树干, 然后,头也不回地走了!

当那人逐渐消失的那一刻,佛祖又出现了。

“你 是不是还想做他的妻子?那你还得修炼。”

女孩平静地打断了佛祖的话:“我是很想,但是不必了。”

“哦?”

“这 样已经很好了,爱他,并不一定要做他的妻子。”

“哦!”

“他现在的妻子也曾像我这样受苦吗?”女孩若有所思。

佛 祖微微点头。

女孩微微一笑:“我也能做到的,但是不必了。”

就这一刻,女孩似乎发现佛祖微微地吁了一口气,

女 孩有些诧异:“佛祖也有心事?”

“这样就好,有个男孩可以少等你一千年了,为了看你一眼,他已经修炼两千年了。”佛祖脸上绽放着笑容。

(四) 商人的四个妻子

从前,有个人娶了四个妻子,第四个妻子深得丈夫喜爱,不论坐着站着,丈夫都跟她形影不离。非常宠爱。第三 个妻子是经过一番辛苦才得到,丈夫常常在她身边甜言蜜语,但不如对第四个妻子那样宠爱。第二个妻子与丈夫常常见面,互相安慰,宛如朋友。只要在一块就彼此 满足,一旦分离,就会互相思念。而第一个妻子,简直像个婢女,家中一切繁重的劳作都由她担任。她身陷各种苦恼,却毫无怨言,在丈夫的心里几乎没有位置。

一 天, 个人要出国做长途旅行,他对他四个妻子说:“你肯跟我一块儿去吗?”
第四个妻子回答:“我可不愿意跟你去。”
丈夫恨她无情,就把第三个妻子叫来问:“你能陪我一块去吗?”第三个妻子回答道:“连你最心爱的第四个妻子都不愿意陪你去,我为什么要陪你去?”
丈夫把第二个妻子叫来说:“你能陪我出国一趟吗?”,“我受过你恩惠,可以送你到城外,但若要我陪你出国,恕我不能答应。”
丈夫也憎恨第二个妻子无情无意,对第一个妻子说:“我要出国旅行,你能陪我去吗?”
第一个妻子回答:“我离开父母,委身给你,不论苦乐或生死,都不会离开你的身边。不论你去哪里,走多远,我都一定陪你去。”
他平日疼爱的三个妻子都不肯陪他去,他才不得不携带决非意中人的第一个妻子,离开都城而去。

原来,他要去的国外乃是死亡世界。拥有四个妻子 的丈夫,乃是人的意识。
第四个妻子,是人的身体。人类疼爱肉体,不亚于丈夫体贴第四个妻子的情形。但若大限来临,生命终结,灵魂总会背负着现世的罪福,孤单寂寞地离去,而肉体轰 然倒地,没有办法陪着。
第三个妻子,无异于人间的财富。不论多么辛苦储存起来的财宝,死时都不能带走一分一毫。
第二个妻子是父母、妻儿、兄弟、亲戚、朋友和仆佣。人活在世上,互相疼爱,彼此思念,难舍难分。死神当头,也会哭哭啼啼,送到城外的坟墓。用不了多久,就 会渐渐淡忘了这件事,重新投身于生活的奔波中。
第一个妻子则是人的心,和我们形影相随,生死不离。它和我们的关系如此密切,但我们也容易忽略了它,反而全神贯注于虚幻的色身。

Thursday, April 22, 2010

CentOS OpenVPN 配置

系统是CentOS 5 X86

首先,你要联系客服打开VPS的tun/tap、iptables要支持NAT(有些VPS的控制面板可以直接打开),也可以告诉客服,你要用 OpenVPN,让他把应该打开的都打开。

一:服务器

1. 下载LZO和OpenVPN

wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
wget http://openvpn.net/release/openvpn-2.1.1.tar.gz


2.安装OpenSSL,Gcc 和 make

yum install -y openssl-devel
yum install gcc
yum install make

5. 安装LZO和OpenVPN

tar zxvf lzo-2.03.tar.gz //解压
cd lzo-2.03
./configure
make
make install //安装
cd ..
tar zxvf openvpn-2.1_rc15.tar.gz //解压
cd openvpn-2.1_rc15
./configure
make
make install //安装
cd ..
cp /root/openvpn-2.1_rc15/easy-rsa/ -r /etc/openvpn //拷贝文件

6.生成证书

初始化PKI

cd /etc/openvpn/2.0/
export D=`pwd`
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=$D/keys
export KEY_SIZE=1024
export KEY_COUNTRY=Cn
export KEY_PROVINCE=FJ
export KEY_CITY=FZ
export KEY_ORG="Rex" //引号要用英文半角符号
export KEY_EMAIL="mail@mail.com" //引号要用英文半角符号
. vars

7.创建证书颁发机构(CA)

./clean-all //这行命令是清空Keys文件夹下的所有文件
./build-ca

接下来的信息你可以自己填写

8. 建立server key

./build-key-server server

接下来的信息你可以自己填写

9. 生成客户端 key

./build-key client1 // client1 可以自定义 这个是客户的名字

接下来的信息你可以自己填写

10.以此类推建立其他客户端 key,当然你也可以不用,也可以在使用中在添加,不过比较麻烦,文章后会有教程

./build-key client2
./build-key client3

注意在进入 Common Name (eg, your name or your server’s hostname) []: 的输入时, 每个证书输入的名字必须不同.

11. 生成Diffie Hellman参数 (这个很重要)

./build-dh

12. 将 keys 下的所有文件打包下载到本地(可以通过winscp,http,ftp等等……)

tar zcvf yourkeys.tar.gz keys/

13. 创建服务端配置文件

mkdir /etc/openvpn/2.0/conf
cp /root/openvpn-2.1_rc15/sample-config-files/server.conf /etc/openvpn/2.0/conf/server.conf

14.服务端配置文件(server.conf) 我建议使用winscp 把/etc/openvpn/2.0/conf/server.conf 下的server.conf 文件下载到本地用Notepad++工具编辑。这里给个参考

port 1194
proto udp
dev tun
ca /etc/openvpn/2.0/keys/ca.crt //这个需要按照具体目录设置
cert /etc/openvpn/2.0/keys/server.crt //这个需要按照具体目录设置
key /etc/openvpn/2.0/keys/server.key //这个需要按照具体目录设置
dh /etc/openvpn/2.0/keys/dh1024.pem //这个需要按照具体目录设置
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

15.启动OpenVPN

setsid /usr/local/sbin/openvpn --config /etc/openvpn/2.0/conf/server.conf // 这个命令是能在你退出Putty继续让服务工作
/etc/rc.d/init.d/iptables start

16. OpenVPN 访问外网的设置(如果不设置,你连上后只能在你和VPS之间建立VPN)

关闭Putty后重新登录 输入

ifconfig

输出:如:

venet0:1 Link en

cap:UNSPEC

Hwaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet addr:你的VPSIP地址 P-t-P: 你的VPSIP地址 Bcast: 你的VPSIP地址 Mask:255.255.255.255

“venet0”要记录下来!(不同的地方不一样)

继续输入

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

其中的venet0 按情况更改

继续输入

/etc/init.d/iptables save
/etc/init.d/iptables restart

注意 有的时候可能不行 那么可以尝试用这个命令

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 你的服务器IP

17.查看

输入

sysctl -a | grep for

查看结果 如:

net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf. venet0.mc_forwarding = 0
net.ipv4.conf. venet0.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.ip_forward = 1

如果你的主机上列数值不是为1, 则要将其改成1, 用这个命令

如:

sysctl -w net.ipv4.ip_forward=1

18. 设置 OpenVPN 服务器 reboot后自动启动 openvpn

vi /etc/rc.local
/usr/local/sbin/openvpn --config /etc/openvpn/2.0/conf/server.conf &

19.到此 基本就可以链接上去试试了,访问下如ip138.com 这类的网站,看看你的IP哦~

二:客户端配置

1. 下载 openvpn-2.1_rc15-install.exe(此版本集成 OpenVPN GUI)

2.安装OpenVPN GUI(用默认安装)

3.配置

将上面yourkeys.tar.gz中的下列证书文件解压到 你的OpenVPN GUI安装路径\OpenVPN\config文件夹下

ca.crt client1.key client1.crt

记住ca.key 千万别泄露哦

4. 修改client.ovpn

把你的OpenVPN安装路径\OpenVPN\sample-config下的client.ovpn文件复制到你的OpenVPN安装路径\OpenVPN\config文件夹下,用记事本打开client.ovpn

找到remote my-server-1 1194,把my-server-1改成你的VPS IP地址

5. 双击 client.ovpn 即可启动 openvpn, 或者通过 OpenVPN 的控制启动 VPN

6.出现 Initialization Sequence Completed 表示成功

三:如何在一起都安装好之后继续生成客户端配置文件呢?

1.登录 Putty,输入

/cd /etc/openvpn/2.0/
. vars
./build-key client2 //client2是客户端名字 然后按照步骤继续生成即可

备注:
附上一个用于停止OpenVPN的命令:

killall -9 openvpn

=========================================================

然后cd /etc/openvpn/easy-rsa/2.0进入,生成OpenVPN需要的证书。

vi vars来编辑环境变量,这里涉及到编辑器vi的用法,不会用就自己google一下。

把最后几行根据实际情况修改:

export KEY_COUNTRY="CN"
export KEY_PROVINCE="GD"
export KEY_CITY="GZ"
export KEY_ORG="Black-Xstar Net Empire"
export KEY_EMAIL="webmaster [at] black-xstar.com"

保存后运行. vars设置生效。

接下来运行./build-ca server创建证书颁发机构。

Generating a 1024 bit RSA private key
........................++++++
....++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [CN]:回车
State or Province Name (full name) [GD]:回车
Locality Name (eg, city) [GZ]:回车
Organization Name (eg, company) [Black-Xstar Net Empire]:回车
Organizational Unit Name (eg, section) []:回车
Common Name (eg, your name or your server's hostname) [Black-Xstar Net Empire CA]:回车
Name []:回车
Email Address [webmaster@black-xstar.com]:回车

注意红色的地方,需要按回车的。

创建CA之后来生成服务器证书,输入./build-key-server server

Generating a 1024 bit RSA private key
...++++++
...............++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [CN]:回车
State or Province Name (full name) [GD]:回车
Locality Name (eg, city) [GZ]:回车
Organization Name (eg, company) [Black-Xstar Net Empire]:回车
Organizational Unit Name (eg, section) []:回车
Common Name (eg, your name or your server's hostname) [server]:回车
Name []:回车
Email Address [webmaster@black-xstar.com]:回车

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:回车
An optional company name []:回车
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :P RINTABLE:'CN'
stateOrProvinceName :P RINTABLE:'GD'
localityName :P RINTABLE:'GZ'
organizationName :P RINTABLE:'Black-Xstar Net Empire'
commonName :P RINTABLE:'server'
emailAddress :IA5STRING:'webmaster@black-xstar.com'
Certificate is to be certified until Nov 18 17:25:15 2019 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

同样注意红色字的部分,是需要人工输入的。

服务器证书生成完了,我们来生成客户端证书,理论上每个OpenVPN用户都有独立的证书,我们先来生成一个试试。

输入命令:./build-key client1,这里的client1是客户端名称,如果第二个就是client2了。

Generating a 1024 bit RSA private key
.......++++++
.........++++++
writing new private key to 'client1.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [CN]:回车
State or Province Name (full name) [GD]:回车
Locality Name (eg, city) [GZ]:回车
Organization Name (eg, company) [Black-Xstar Net Empire]:回车
Organizational Unit Name (eg, section) []:回车
Common Name (eg, your name or your server's hostname) [client1]:回车
Name []:回车
Email Address [webmaster@black-xstar.com]:回车

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:回车
An optional company name []:回车
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :P RINTABLE:'CN'
stateOrProvinceName :P RINTABLE:'GD'
localityName :P RINTABLE:'GZ'
organizationName :P RINTABLE:'Black-Xstar Net Empire'
commonName :P RINTABLE:'client1'
emailAddress :IA5STRING:'webmaster@black-xstar.com'
Certificate is to be certified until Nov 18 17:31:21 2019 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

注意红色字的部分,和上面生成服务器证书差不多。

最后生成Diffie Hellman参数:./build-dh,这个需要一点时间的。

完成上面的过程后,把/etc/openvpn/2.0/keys里面的东西下载回来。

接下来我们开始配置OpenVPN了,我的配置文件只是一个参考,可以根据实际情况修改。

首先cd ..回到上一级目录,然后vi server.conf新建一个配置文件,输入下面内容:

port 443
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

其中DNS服务器地址可以换成主机商的,也可以和我一样用opendns。另外我有了tcp协议和443端口,是为了方便我在cmwap下使用,也 可以换别的。

到这里为止OpenVPN就配置好了,接下来我们设置外网访问。

输入vi /etc/sysctl.conf开始编辑,找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存。然后执行sysctl -p这个命令。

输入iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 1.2.3.4添加规则,注意最后1.2.3.4改成你的VPS的IP地址。

完成后用/etc/init.d/iptables save保存iptables设置,然后/etc/init.d/iptables restart重新启动下。

把OpenVPN添加到开机启动,用vi /etc/rc.local进入编辑,在后面加入/usr/sbin/openvpn --config /etc/openvpn/server.conf &这一行。

需要在服务器上完成的操作到这里就结束了,输入openvpn --config /etc/openvpn/server.conf &启动。

CentOS SSH 命令

平时常用的CentOS SSH基本命令包括:

top、yum、getconf、more、rpm、hostname、rm、cd、mv、ln、cp、find、df、wget、unzip、tar

top
/* 性能分析工具 */

yum check-update
/* 检查可更新的 rpm 包 */
yum update
/* 更新所有的 rpm 包 */
yum update 包名
/* 更新指定的 rpm 包 */

getconf LONG_BIT
/* 查看 CPU 位数(32 or 64) */

more /etc/redhat-release
cat /etc/redhat-release
/* 查看当前 linux 的版本 */

rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
/* 查看现在已经安装了那些软件包 */

hostname
/* 查看主机名 */

rm -rf mydir
/* 删除 mydir 目录 */
rm abc.tar
/* 删除 abc.tar 文件 */
cd mydir
/* 进入 mydir 目录 */
cd -
/* 回上一级目录 */
cd ~
/* 回根目录 */

mv tools tool
/* 把 tools 目录改名为 tool */

ln -s tool abc
/* 给 tool 目录创建名为 abc 的符号链接, 比如 FTP 中 www 链接到 public_html 目录 */

cp -a tool /home/leavex/www
/* 把 tool 目录下所有文件复制到 www 目录下 */

find abc.cgi
/* 查找文件名为 abc.cgi 的文件 */

df -h
/* 查看磁盘剩余空间 */

wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
/* 下载远程服务器上的文件到自己的服务器 */

wget -c http://openvpn.net/release/openvpn-2.0.9.tar.gz
/* 继续下载上次未下载完的文件 */

unzip phpbb.zip
/* 解压 zip 文件 */

tar cf toole.tar tool
/* 把 tool 目录打包为 toole.tar 文件 */
tar cfz compressed.tar.gz tool
/* 把 tool 目录打包且压缩为 compressed.tar.gz 文件 */

tar xvf wordpress.tar
/* 解压 tar 格式的文件 */
tar -tvf myfile.tar
/* 查看 tar 文件中包含的文件 */
gzip -d ge.tar.gz
/* 解压 .tar.gz 文件为 .tar 文件 */

/etc/init.d/httpd restart
/* 重启 Apache 进程 */
/etc/init.d/pptpd restart
/* 重启 pptp vpn daemon 进程 */

Wednesday, June 24, 2009

自勉: 对话守则

1989年,捷克知识分子哈维尔等人,在布拉格成立了“公民论坛”,制定8条《对话守则》,在街头巷尾张贴,内容是:

  1. 对话目的是为了寻求真理,而不是为了竞争;
  2. 不要作人身攻击;
  3. 保持主题;
  4. 辩论时要用证据;
  5. 不要坚持错误不改;
  6. 要分清对话与只许自己讲话的区别;
  7. 对话要有记录;
  8. 尽量理解对方。
引用傅国涌老师的话:

8条守则简单明了,而且很实用,它不仅是用来约束自己这一方,同时也希望对话的另一方遵守。只有成为双方共同信守的规则,这样的守则才是有效的。这个对话守则实在太好了,值得人人学习,大力推广,特别是有一些守则恰好是我们习惯的思维方式中所缺乏的。无论是强势利益群体,还是弱势利益群体,归根到底都要学会对话,学会在对话中生活,而不是在仇恨和暴力中生活,对话是最佳的选择。学会对话,就是要告别自说自话,告别赢家通吃的意识,告别以强凌弱、强词夺理,当然也要告别仇恨意识、敌人意识,逐渐就我们只有一个中国,共有一片大陆,共有一个时代这些观念形成共识,在包容克制中化解矛盾。有矛盾并不可怕,矛盾也许会永远伴随着人类社会,重要的是我们面对矛盾的姿态,学会在对话、博弈中不断地解决矛盾,这个过程就是社会进步的过程。哈维尔他们制定的这8条对话守则,为我们提供了一个活的范例。我们生活在“对话的时代”前夜,这样的守则对我们尤为珍贵。