手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年09月的文章

IFTTT

刚才在随便看看的时候,发现有人感慨。其实在互联网上的ifttt,在编程也是这样。
试想从第一行代码开始到编码结束,本身就是在执行着不同的ifttt,无非只不过ifttt的环境是在本地,而不是互联网应用了。
然后此人就想,如果我将每一个ifttt进行了封装处理。那么,软件就会象积木一样,一点点的堆起来。然后剩下的问题就是从第一个ifttt开始,怎么样将每一个结果和条件向下传递。

说了半天,ifttt究竟是什么?IFTTT的全称为:IF This Then That。很容易理解。
而且网上还有人举了个小例子:

http://www.shaduruanjian8.com/20110630_ifttt
  1. 它事实上就是我们很熟悉的MUD时代就有的Trigger,WOW里面也有,在Office里面叫Macro(当然,这个就复杂了)。简单说,就是把你的整个网络社交圈当作一个巨大的触发器,一旦特定的事件发生,就会触发IFTTT中设置好的Task的Trigger。而一旦Trigger被处罚,IFTTT就会相应地作出Action。  
  2. 比如说:只要在Twitter上有人Mention我,就给我发一条SMS(手机短信)。  
  3. 这个在IFTTT中就表现为:Trigger设置为Twitter的Mention Me,Action设置为SMS。结果就是如果有人在Twitter上Mention了你,你就会收到一条手机短信,内容为“你被@了。”  
  4. 是不是很有意思?还有更有意思的:  
  5. Task1:如果老婆的Twitter上出现“加班了”三个字,就给我的邮箱发一封Email,标题为“你懂的”;  
  6. Task2:如果我收到一份标题为“你懂的”的Email,就自动向EmailList中“吃喝委员会”一栏的所有人发一份EMail,标题为:老地方搓一顿;  
  7. Task3:如果我收到一份标题为“你懂的”的Email,就自动向黄浦江大酒店发一份EMail,标题为“预订”,内容为“今天晚上7点,4人桌,老菜式,你懂的。”  
  8. Task4:如果晚上我的Twitter没有被Mention,自动发送短信到老婆的手机,内容为:今晚加班,安。  
  9. 于是,结果就是,如果你老婆在Twitter上发言说“今天要加班了,真倒霉!”那你自动收到一份Email,然后自动发出一份订餐Email,一系列的邀请聚餐Email,然后晚上你来黄浦江大酒店,饭菜桌位都已经准备齐全了,一帮借口晚上加班的朋友们嬉皮笑脸地过来和你一顿胡吃猛喝,多惬意啊。然后,如果你和朋友们喝多了,没能在自己的Twitter上用一个小号Mention自己一下,IFTTT就会自动发短信给老婆说你其实是在加班,不是在和朋友们乱喝酒。  
  10. 多么自动化智能化。  
  11. 绝对是以后老婆管老公的首选利器啊!  
  12. 当然,你也可以建立如下Task:  
  13. IF:凌晨04:01,Then:偷菜。(假定偷菜开放时间是凌晨四点)  
  14. 所以,IFTTT是偷菜利器,神码半夜起床,都是浮云……  

ifttt上其实有网站,上面的创意其实就是根据 ifttt的网站上的内容来实现的。不过我在想,大量的trigger,对系统的性能影响怎么样?
那么我开始说的那件事情,你觉得能成吗?将代码写成积木式,不停的堆?我是觉得玄,咱先不谈效率,效率在强大的CPU下面都暂时可以忽略。真的可以将所有的ifttt都能写出来吗?依赖环境怎么办?
我还是随便扯扯吧。不过,简单的还是可以考虑一下下的

Tags: ifttt

Linux运维常用命令

微博上,@IT程序猿微博达人贴出了常用命令,他说:【Linux运维常用命令】实际运维中经常需要用到的命令,很实用。http://t.cn/zl8wFGQ

看了一下图,确实很常用。
大小: 576.13 K
尺寸: 35 x 376
浏览: 1339 次
点击打开新窗口浏览全图

XML/HTML代码
  1. 1.删除0字节文件  
  2. find-type f -size 0 -exec rm -rf {} ;  
  3.   
  4. 2.查看进程  
  5. 按内存从大到小排列  
  6. ps -e -o "%C : %p : %z : %a"|sort -k5 -nr  
  7.   
  8. 3.按cpu利用率从大到小排列  
  9. ps -e -o "%C : %p : %z : %a"|sort -nr  
  10.   
  11. 4.打印说cache里的URL  
  12. grep -r -a jpg /data/cache/* | strings | grep "http:" |awk-F'http:' '{print "http:"$2;}'  
  13.   
  14. 5.查看http的并发请求数及其TCP连接状态:  
  15. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  
  16.   
  17. 6.sed-i '/Root/s/no/yes/' /etc/ssh/sshd_config sed在这个文里Root的一行,匹配Root一行,将no替换成yes.  
  18.   
  19. 7.1.如何杀掉mysql进程:  
  20. ps aux |grep mysql |grep -v grep|awk '{print $2}' |xargs kill -9 (从中了解到awk的用途)  
  21.   
  22. killall -TERM mysqld  
  23.   
  24. kill -9 `cat /usr/local/apache2/logs/httpd.pid`试试查杀进程PID  
  25.   
  26. 8.显示运行3级别开启的服务:  
  27. ls /etc/rc3.d/S* |cut-c 15- (从中了解到cut的用途,截取数据)  
  28.   
  29. 9.如何在编写SHELL显示多个信息,用EOF  
  30. cat << EOF  
  31. +--------------------------------------------------------------+  
  32. | === Welcome to Tunoff services === |  
  33. +--------------------------------------------------------------+  
  34. EOF  
  35.   
  36. 10. for的巧用(如给mysql建软链接)  
  37. cd /usr/local/mysql/bin  
  38. for i in *  
  39. do ln /usr/local/mysql/bin/$i /usr/bin/$i  
  40. done  
  41.   
  42. 11.取IP地址:  
  43. ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-或者  
  44.   
  45. ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'  
  46.   
  47. 12.内存的大小:  
  48. free -m |grep "Mem" | awk '{print $2}'  
  49.   
  50. 13.  
  51. netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %sn",$5,$6}' | sort  
  52.   
  53. 14.查看Apache的并发请求数及其TCP连接状态:  
  54. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  
  55.   
  56. 15.因为同事要统计一下服务器下面所有的jpg的文件的大小,写了个shell给他来统计.原来用xargs实现,但他一次处理一部分,搞的有多个总和....,下面的命令就能解决啦.  
  57. find / -name *.jpg -exec wc -c {} ;|awk '{print $1}'|awk '{a+=$1}END{print a}'  
  58.   
  59. CPU的数量(多核算多个CPU,cat /proc/cpuinfo |grep -c processor)越多,系统负载越低,每秒能处理的请求数也越多。  
  60.   
  61. ---------------------------------------------------------------------------------------  
  62. 16 CPU负载 # cat /proc/loadavg  
  63. 检查前三个输出值是否超过了系统逻辑CPU的4倍。  
  64.   
  65. 18 CPU负载 #mpstat 1 1  
  66. 检查%idle是否过低(比如小于5%)  
  67.   
  68. 19内存空间 # free  
  69. 检查free值是否过低也可以用# cat /proc/meminfo  
  70.   
  71. 20 swap空间 # free  
  72. 检查swap used值是否过高如果swap used值过高,进一步检查swap动作是否频繁:  
  73. # vmstat 1 5  
  74. 观察si和so值是否较大  
  75.   
  76. 21磁盘空间 # df -h  
  77. 检查是否有分区使用率(Use%)过高(比如超过90%)如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:  
  78. # du -cks * | sort -rn | head -n 10  
  79.   
  80. 22磁盘I/O负载 # iostat -x 1 2  
  81. 检查I/O使用率(%util)是否超过100%  
  82.   
  83. 23网络负载 # sar -n DEV  
  84. 检查网络流量(rxbyt/s, txbyt/s)是否过高  
  85.   
  86. 24网络错误 # netstat -i  
  87. 检查是否有网络错误(drop fifo colls carrier)也可以用命令:# cat /proc/net/dev  
  88.   
  89. 25网络连接数目 # netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n  
  90.   
  91. 26进程总数 # ps aux | wc -l  
  92. 检查进程个数是否正常(比如超过250)  
  93.   
  94. 27可运行进程数目 # vmwtat 1 5  
  95. 列给出的是可运行进程的数目,检查其是否超过系统逻辑CPU的4倍  
  96.   
  97. 28进程 # top -id 1  
  98. 观察是否有异常进程出现  
  99.   
  100. 29网络状态检查DNS,网关等是否可以正常连通  
  101.   
  102. 30用户 # who | wc -l  
  103. 检查登录用户是否过多(比如超过50个)也可以用命令:# uptime  
  104.   
  105. 31系统日志 # cat /var/log/rflogview/*errors  
  106. 检查是否有异常错误记录也可以搜寻一些异常关键字,例如:  
  107. # grep -i error /var/log/messages  
  108. # grep -i fail /var/log/messages  
  109.   
  110. 32核心日志 # dmesg  
  111. 检查是否有异常错误记录  
  112.   
  113. 33系统时间 # date  
  114. 检查系统时间是否正确  
  115.   
  116. 34打开文件数目 # lsof | wc -l  
  117. 检查打开文件总数是否过多  
  118.   
  119. 35日志 # logwatch –print配置/etc/log.d/logwatch.conf,将Mailto设置为自己的email地址,启动mail服务(sendmail或者postfix),这样就可以每天收到日志报告了。  
  120. 缺省logwatch只报告昨天的日志,可以用# logwatch –print –range all获得所有的日志分析结果。  
  121. 可以用# logwatch –print –detail high获得更具体的日志分析结果(而不仅仅是出错日志)。  
  122.   
  123. 36.杀掉80端口相关的进程  
  124. lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh  
  125.   
  126. 37.清除僵死进程。  
  127. ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9  
  128.   
  129. 38.tcpdump抓包,用来防止80端口被人攻击时可以分析数据  
  130. # tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts  
  131.   
  132. 39.然后检查IP的重复数并从小到大排序注意"-t +0"中间是两个空格  
  133. # less pkts | awk {'printf $3"n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"n"'} | sort -n -t +0  
  134.   
  135. 40.查看有多少个活动的php-cgi进程  
  136. netstat -anp | grep php-cgi | grep ^tcp | wc -l  
  137.   
  138. chkconfig --list | awk '{if ($5=="3:on") print $1}'  
  139.   
  140. 41.kudzu查看网卡型号  
  141. kudzu --probe --class=network  
  142.   
  143. 匹配中文字符的正则表达式:[u4e00-u9fa5]  
  144. 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了  
  145.   
  146. 匹配双字节字符(包括汉字在内):[^x00-xff]  
  147. 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)  
  148.   
  149. 匹配空白行的正则表达式:ns*r  
  150. 评注:可以用来删除空白行  
  151.   
  152. 匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?</1>|<.*? />  
  153. 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力  
  154.   
  155. 匹配首尾空白字符的正则表达式:^s*|s*$  
  156. 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式  
  157.   
  158. 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*  
  159. 评注:表单验证时很实用  
  160.   
  161. 匹配网址URL的正则表达式:[a-zA-z]+://[^s]*  
  162. 评注:网上流传的版本功能很有限,上面这个基本可以满足需求  
  163.   
  164. 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$  
  165. 评注:表单验证时很实用  
  166.   
  167. 匹配国内电话号码:d{3}-d{8}|d{4}-d{7}  
  168. 评注:匹配形式如0511-4405222或021-87888822  
  169.   
  170. 匹配腾讯QQ号:[1-9][0-9]{4,}  
  171. 评注:腾讯QQ号从10000开始  
  172.   
  173. 匹配中国邮政编码:[1-9]d{5}(?!d)  
  174. 评注:中国邮政编码为6位数字  
  175.   
  176. 匹配身份证:d{15}|d{18}  
  177. 评注:中国的身份证为15位或18位  
  178.   
  179. 匹配ip地址:d+.d+.d+.d+  
  180.   
  181. 评注:提取ip地址时有用  
  182.   
  183. 匹配特定数字:  
  184. ^[1-9]d*$  //匹配正整数  
  185. ^-[1-9]d*$ //匹配负整数  
  186. ^-?[1-9]d*$  //匹配整数  
  187. ^[1-9]d*|0$ //匹配非负整数(正整数+ 0)  
  188. ^-[1-9]d*|0$  //匹配非正整数(负整数+ 0)  
  189. ^[1-9]d*.d*|0.d*[1-9]d*$  //匹配正浮点数  
  190. ^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配负浮点数  
  191. ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮点数  
  192. ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$  //匹配非负浮点数(正浮点数+ 0)  
  193. ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数+ 0)  
  194. 评注:处理大量数据时有用,具体应用时注意修正  
  195.   
  196. 匹配特定字符串:  
  197. ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串  
  198. ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串  
  199. ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串  
  200. ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串  
  201. ^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串  
  202. 评注:最基本也是最常用的一些表达式  

那个看内存从小到大的还真不知道。。。。那个取IP地址的,在现在的VPN一键安装包中很常见。我现在写脚本都是用PHP来实现的。现在有了这个,以后考虑用Bash写的时候就有很多参考了。

记忆中的片段

在10岁左右的时候,来过一次上海 ,那时候叔叔在上海的一家印刷厂里当裁缝。印刷厂的名字是上海十一印刷厂。有没有人民两个字不记得了。
然后来玩了将近有一个月,去了大世界、西郊公园。公交车是5分还是2分来着记不清了。
记忆中,厂里夏天有冰水,还有大光明冰砖(这个记不清是买的还是发的了。),反正我睡觉后醒来,叔叔在工作,旁边放着我溶化的冰砖。
其实,最想说的好象应该就是大世界里的一场电影。到现在为止,记忆犹新,场景是一个庄园,有西部牛仔,有拔枪游戏,然后牛仔好多都是机器人。但一直不知道是什么电影名称。。。

今天上网查了一下,用的关键字是:庄园 机器人 快速拔枪 牛仔,结果查到的都是什么摩尔庄园。最后。。。我真的找到了,关键词:电影 机器人 西部牛仔
第一条的内容就是:电影一部老片美国片未来游乐场西部牛仔全部是机器人因为事故 ...,收到了这个回复,很开心:

《西部世界》 70年代的一部老科幻片,中国曾引进过  详情见链接:  http://baike.baidu.com/view/5107579.htm

又是VPN手记。。。

这是一个自动安装脚本,for 大便系列。比如 大便和ubuntu(版权不是我的,我也只是拿来改改) :

XML/HTML代码
  1. #!/bin/bash  
  2.   
  3. function installVPN(){  
  4.         apt-get update  
  5.         #remove ppp pptpd  
  6.         rm -rf /etc/pptpd.conf  
  7.         rm -rf /etc/ppp  
  8.         apt-get -y remove ppp pptpd  
  9.         apt-get -y install ppp pptpd iptables  
  10.   
  11.         #注意,这里的一些refuse-pap之类的要注意,如果不能连接首先改这里。  
  12.         #如果一直出错,将require-mschap-v2和require-mppe-128 这两行加密注释掉,(对应源文件)  
  13.         echo name pptpd >> /etc/ppp/pptpd-options  
  14.         echo refuse-pap >> /etc/ppp/pptpd-options  
  15.         echo refuse-chap >> /etc/ppp/pptpd-options  
  16.         #refuse-mschap  
  17.         echo require-mschap-v2 >> /etc/ppp/pptpd-options  
  18.         echo require-mppe-128 >> /etc/ppp/pptpd-options  
  19.         echo proxyarp >> /etc/ppp/pptpd-options  
  20.         echo nodefaultroute >> /etc/ppp/pptpd-options  
  21.         echo lock >> /etc/ppp/pptpd-options  
  22.         echo nobsdcomp >> /etc/ppp/pptpd-options  
  23.   
  24.   
  25.         echo ms-dns 8.8.8.8 >> /etc/ppp/pptpd-options  
  26.         echo ms-dns 8.8.4.4 >> /etc/ppp/pptpd-options  
  27.         echo ms-dns 4.3.2.1 >> /etc/ppp/pptpd-options  
  28.   
  29.         #写到pptpd.conf文件中  
  30.         echo option /etc/ppp/pptpd-options >> /etc/pptpd.conf  
  31.         echo logwtmp >> /etc/pptpd.conf  
  32.         echo localip 192.168.99.1 >> /etc/pptpd.conf  
  33.         echo remoteip 192.168.99.9-99 >> /etc/pptpd.conf  
  34.   
  35.         #这个最好只能处理一次。否则每次都会修改,以防万一,改两次吧。。第一次应该失败  
  36.         sed -i 's/#net\.ipv4.ip_forward=0/net\.ipv4.ip_forward=1/' /etc/sysctl.conf  
  37.         sed -i 's/#net\.ipv4.ip_forward=1/net\.ipv4.ip_forward=1/' /etc/sysctl.conf  
  38.         #echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf  
  39.         sysctl -p  
  40.         #以下内容是for OPENVZ  
  41.         #iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0' | cut -d: -f2 | awk 'NR==1 { print $1}'`  
  42.         #sed -i 's/exit\ 0/#exit\ 0/' /etc/rc.local  
  43.   
  44.         #echo iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0' | cut -d: -f2 | awk 'NR==1 { print $1}'` >> /etc/rc.local  
  45.         #echo exit 0 >> /etc/rc.local  
  46.   
  47.           
  48.   
  49.         # --- the sentence below was remarked By yanwen ,  what are you doing ??-----  
  50.   
  51. }  
  52.   
  53. function installOpenVZ(){  
  54.         (installVPN)  
  55.         iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0' | cut -d: -f2 | awk 'NR==1 { print $1}'`  
  56.         sed -i 's/exit\ 0/#exit\ 0/' /etc/rc.local  
  57.   
  58.         echo iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0' | cut -d: -f2 | awk 'NR==1 { print $1}'` >> /etc/rc.local  
  59.         echo exit 0 >> /etc/rc.local  
  60.         (setDefaultUser)  
  61. }  
  62. function installXen(){  
  63.         (installVPN)  
  64.         iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth0 -j MASQUERADE  
  65.         sed -i 's/exit\ 0/#exit\ 0/' /etc/rc.local  
  66.   
  67.         echo iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth0 -j MASQUERADE >> /etc/rc.local  
  68.         echo exit 0 >> /etc/rc.local  
  69.         (setDefaultUser)  
  70. }  
  71.   
  72. function setDefaultUser(){  
  73.         #默认用户  
  74.         echo gouki \* 123456 \* >> /etc/ppp/chap-secrets  
  75.         /etc/init.d/pptpd restart  
  76. }  
  77.   
  78. function repaireVPN(){  
  79.         echo "begin to repaire VPN";  
  80.         mknod /dev/ppp c 108 0  
  81.         /etc/init.d/pptpd restart  
  82. }  
  83.   
  84. function addVPNuser(){  
  85.         echo "input user name:"  
  86.         read username  
  87.         echo "input password:"  
  88.         read userpassword  
  89.         echo "${username} pptpd ${userpassword} *" >> /etc/ppp/chap-secrets  
  90.         /etc/init.d/pptpd restart  
  91. }  
  92. function disableEncyption(){  
  93.         sed -i 's/^require-mschap-v2/#require-mschap-v2/' /etc/ppp/pptpd-options  
  94.         sed -i 's/^require-mppe-128/#require-mppe-128/' /etc/ppp/pptpd-options  
  95.         /etc/init.d/pptpd restart  
  96. }  
  97. function enableEncyption(){  
  98.         sed -i 's/^#require-mschap-v2/require-mschap-v2/' /etc/ppp/pptpd-options  
  99.         sed -i 's/^#require-mppe-128/require-mppe-128/' /etc/ppp/pptpd-options  
  100.         /etc/init.d/pptpd restart  
  101. }  
  102. echo "which do you want to?input the number."  
  103. echo "1. install Xen VPN service"  
  104. echo "2. install OpenVz VPN service"  
  105. echo "3. repaire VPN service"  
  106. echo "4. add VPN user"  
  107. echo "5. disable encryption"  
  108. echo "6. disable encryption"  
  109. read num  
  110.   
  111. case "$num" in  
  112. [1] ) (installXen);;  
  113. [2] ) (installOpenVZ);;  
  114. [3] ) (repaireVPN);;  
  115. [4] ) (addVPNuser);;  
  116. [5] ) (disableEncyption);;  
  117. [6] ) (enableEncyption);;  
  118. *) echo "nothing,exit";;  
  119. esac  

第一次写和改。连参数都不会。将就点了。。嗯。上面的内容复制起来比较麻烦,所以我做一个文件,可以直接下载:
放到自己的目录下,chmod a+x 这个文件。再执行就OK了。
你可以先看一下这个文件。。。以防万一
下载地址:untitled.sh

Tags: vpn

还是VPN的问题(openVZ , debian ,buyVM)

昨天发了一个微博,说是buyvm上面的VPN很容易装。非常方便,只要下载一个脚本包就OK了。
但是我用了之后还是发现没有用。。能连得上,但是上不了网,而且在/etc/ppp/pptpd-option里也设置了ms-dns,为什么上不了网呢?

找了一下,突然发现,/etc/pptpd.conf里就剩两行内容了,localip和remoteip,奇怪那怎么加载option呢???
对比了一下老文件,是有这么一行的:option /etc/ppp/pptpd-options
所以,立刻将这一行加入,OK,可以上网了,但是这时候还不支持加密。。如果选择了加密,就无法登录
再看/ppp/pptpd-options,居然也只有2行ms-dns的配置。连name什么的都没有,怪不得我刚才加的用户选择了服务名称为pptpd的时候都不能连接上网。我晕啊

对着原有的文件,加入:

XML/HTML代码
  1. name pptpd  
  2. refuse-pap  
  3. refuse-chap  
  4. #refuse-mschap  
  5. require-mschap-v2  
  6. require-mppe-128  
  7.   
  8.   
  9. proxyarp  
  10. nodefaultroute  
  11. lock  
  12. nobsdcomp  

再重启一下/etc/init.d/pptpd restart,一切都正常了。这些人啊。为了偷懒,也不能这样啊,心哇凉哇凉的,果然不可尽信一键包。下次我也来做一个一键包算了。。。NND