2011年4月9日星期六

VPN 连接后修改路由表控制不同网络的访问

    原理:我们可以添加路由,将所有本地网络(所有国内网络范围),路由到我们使用 VPN 前的默认网 关。而剩余的,也就是国外的网络范围,自动流经 VPN。这就很好的解决了 VPN降低本地网络访问速度的问题。
    然后:要找到本地的 IP 地址范围,我们使用的是国内的地址范围。因为这个数据库属于公开数据,我们可以从 CNNIC 或者 APNIC 获得相关数据。剩下的就是对地址库进行分析,然后生成路由添加和删除的脚本就可以了。 
    由于我的机器分别有 Ubuntu,iPad,Android 和 Windows XP,因此,需要两个系统脚本。脚本语言不同,但是参数是一样的。
    - on 表明开启国内路由走默认网关的配置。也就是说添加国内网络的路由指向原默认网关。
    - off 表明关闭这个功能。也就是说删除之前操作所添加的路由。
    - update 是指下载更新 IP 地址库。 代码编写以及使用 Linux
    对于 Linux(Ubuntu,iPad,Android) 最通用的莫过于Shell了,因此,用Bash完成了这个脚本。在Ubuntu系统上测试,应该支持大部分 Linux 系统。
    下载脚本到本地 
    unzip vpnroute.zip
    sudo bash vpnroute.sh on
    需要删除添加的路由,可以执行: sudo bash vpnroute.sh off 需要更新网络路由数据,可以执行:
    bash vpnroute.sh update
    Windows Windows 的批处理文件虽然也能写一些东西,但是总觉得它的功能太受限了。因此,这次我使用 PowerShell 来写这个脚本。PowerShell 是微软 2006 年推出的抗衡 *nix 中的 shell 的产品,通过紧密结合 .Net  Framework 大幅提高命令行及脚本的能力。熟悉 linux shell 脚本的朋友会在使用中会发现有很多语法似曾 相识。虽然有各种不适应,但是不得不说 PowerShell 还是很强大的。可以从这里下载http://u.115.com/file/f2df3c71d4 
    下载的脚本,比如 c:\temp
    修改 PowerShell 执行权限,默认只能执行签名脚本。
    开始->附件->Windows PowerShell->右键点击 Windows PowerShell->以管理员身份执行
    在命令行里执行:
    Set-ExecutionPolicy -ExecutionPolicy Unrestricted
    可能会提示如下信息:
    执行策略更改
    执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临about_Execution_Policies 帮助主题中所述的安全风险。是否要更改执行策略?
    [Y] 是(Y) [N] 否(N) [S] 挂起(S) [?] 帮助 (默认值为“Y”): 选择 Y,或者回车即可。
    然后,进入下载文件所在目录,执行脚本
    cd c:\temp
    .\vpnroute.ps1
    如果脚本可以执行,它会返回如下帮助信息:
    PS d:\tmp> .\vpnroute.ps1
    Route networks of CN to the default gateway instead of VPN tunnel
      usage: vpnroute.ps1 {on|off|update}
        on Add routes of CN to default gateway
        off Remove routes of CN
        update Force download/update CN network data
        如要添加路由,希望所有中国范围的IP使用默认的网关访问,就运行:
        .\vpnroute.ps1 on
        如果想要去掉添加的路由,就运行
        .\vpnroute.ps1 off
        想更新中国IP路由数据,就运行
        .\vpnroute.ps1 update
        Windows 的 PowerShell 脚本执行速度不是很高,在 Linux 上使用Bash 添加路由大约只需要10-20秒,在 Windows 上使用 PowerShell 需要 70-80秒。大家如果看到有段时间没响应,不要着急,给他一些时间就会好的。

      iPad下配置OpenVPN,并且用路由表控制本地IP不走VPN

        首先需iPad越狱方法不再赘述。哪里能获得支持OpenVPN的vpn呢?您可以自己买一个vps然后自己架设;可以淘宝购买;可以找专门卖vpn的网站。但是强调一点的是必须支持文件读取用户名密码的,需要每次连接都输入的不行。
          需要注意的就是在 user/Documents/Configurations 这个目录里需要建立一个文件夹(例如:openvpn),之后把配置文件等放到这里面去。
          下面着重讲一下路由表。配置这个的好处就是可以让只有国外的ip才通过vpn访问,国内的不通过。好处不言而喻,不会影响国内网络的访问速度。
          2.用文本编辑器(我用哦哦vim),在v4.blockcn.com_udp.443.ovpn这个文件末尾粘贴上routes.txt里面的内容
          3.在v4.blockcn.com_udp.443.ovpn这个文件开头增加:max-routes 1200 需要注意的是,尽量别用notepad,它无法识别某些换行。之后的步骤就一切按照东哥的文章就可以了。如果您担心iOS上没有route命令,那么没关系,在您安装guizmovpn的时候已经装上了nets的cmd包。 由于guizmovpn不是免费的,只有7天免费试用,之后要花$4.99,破解版可以从xSellize里下载,中文讲解可可参考:http://bbs.weiphone.com/read-htm-tid-1823096.html 。

        2011年4月7日星期四

        转个有关房地产的当代寓言

        兔子月薪5千,打算用20万建一个窝。
            狼不允许,说私自建就是违章建筑,只允许向王八买。
            王八是搞房地产的,先用20万贿赂狼取得开发权,再用50万元向狼买这块地,投资10万元把兔子窝盖好,向兔子要价200万元。
            兔子拿不出这么多钱于是向狐狸借200万元,连本带利300万,20年还清,
            兔子全家二十年给狐狸打工。
            狼、狐狸、王八都挣了钱,只有兔子亏,连孩子也不敢生了。
            兔子越来越少,狼觉得这样下去大家没肉吃,于是调控。
            狼显得非常重视兔窝价格太贵的问题,研究部署了遏制兔窝价格过快上涨的政策措施。最后认定兔窝价格卖得太高的原因是因为有的兔子买了兔窝后自己不住而进行倒卖所致。
            于是狼规定:兔子买了兔窝5年内卖了的,要向狼交纳营业税。
            结果兔窝价格没降下来,狼却发了大财。
            狼又对狐狸说:只借钱给首先交了更多钱的兔子,并提高高利贷的利息,多买兔子窝的不借,全交现钱。
            这样狐狸在兔子的购窝过程中也发了财。
            王八借着兔窝价格上涨的行情,以更高的价格向狼买地,并转嫁到兔窝价格上,再加价后卖给兔子。
            看到狼辛苦地为自己操劳,兔子很感谢狼,但还是发现兔窝价格越来越贵。
            狼说:这事挺复杂,还真不太好办,不过兔子们放心,我们将继续调控,可以向已经有兔窝的兔子征收兔窝税┉