月份: 2016-03

Hostgator限时折扣 第二弹

Hostgator似乎是要把60  0ff这个东西常态化了…

没事就推一下.

这次是29号的的12:00 am 到24:00 PM CST时间.

对应北京时间是30号凌晨1:00 am到下午13:00 PM.

http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=smallfount

Hostgator
Coupon: MAR29

Good Luck!

 

《互联网域名管理办法》征求意见 法律形式收紧域名管理

《互联网域名管理办法(修订征求意见稿)》

这是今天看到的工信部的域名管理修改意见稿.

整体的思路的就是文本的形式确立了域名管理的本地化收紧.

比如规定在国内接入网站的域名必须国内注册等等.

这样一来对于个人站长的影响并不大, 因为备案制的存在跟多年的实施, 所以大部分的个人站长要么转战国外要么早早有了备案.

更大的冲击其实是对跨国企业的.因为大量的跨国企业自有的IDC其实都有大量的国外域名存在, 在之前的备案只是到ISP层面, 并不存在所谓的解析问题.

如果按照新办法操作, 那么不在国内做注册可能解析都不给做接入都不行, 这事情就搞很大了.

不管怎么说, 总之就是墙又变厚了.

所以我觉得还是, 早早的放弃国内这种强监管环境把….就算慢点我也宁愿省心点, 每天都不确定的政策环境实在不是什么好玩的事情.

 

虚拟信用卡之globalcash

昨天说要研究一下虚拟信用卡, 今天大概看了一下, 国内之前有一家很著名的已经被关掉了.

然而就是各大银行自己做的, 比如浦发的E-Go之类的…基本上这类卡都是跟着已经有的信用卡的.

所以纯粹的虚拟信用卡现在并不多见, globalcash算是一个.

基本上有个手机号就能申请,而且只要能通过网银转账充值, 就能使用他们的虚拟Master信用卡消费.

可惜的是他们并不支持支付宝或者微信转账, 所以易用性上还是略待加强的.

但是毕竟也是一条路, 而且难度相对低实现比较容易.

有兴趣的朋友可以试试看.

 

没有信用卡怎么买VPN?

今天被问到一个问题, 就是我没有信用卡怎么买VPN呢?

当时我是被问懵逼的…因为我觉得会用VPN的人应该不至于信用卡都搞不定..

所以就问了她有什么支付方式可以用?然后就没有然后了..

然而回头再一想…其实我还是2啊..有些事情真的是被自己给2死的..

这个世界上其实有叫做虚拟信用卡的东西嘛..

这个我回头得好好研究一番..看看能否给出一套好一点的支付方案..

被信用卡给卡住实在是一个我觉得不太应该的缺陷, 必须补足啊!

Hostgator限时折扣

3月25号的12:00 am-24:00 CST, 也就是北京时间26号凌晨1点到下午1点的时间, Hostgator 有60% off的限时折扣.

对于在之前错过他们活动的朋友可以现在补个刀.

http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=smallfount

Hostgator
Coupon: MAR25

Good Luck!

翻墙之APN篇

继续我们的翻墙大业.

之前介绍的无论是路由智能翻墙还是客户端VPN, 基本上都是需要客户端软件支持的.

然而对于用户来说, 有没有一种是可以一次设置完就不用想只管用的解决方案呢?

伟大的劳动人民+奇葩的程序猿=无敌的存在, 所以答案是必须有!

我们有了一个叫APN接入方式.

这个APN是指Anon Proxy Network, 匿名代理网络, 而不是手机信号上的access point network.

实现方式如下:

apn

apn

对用户来说, 需要做的只是在你的wifi或者浏览器里面配置一个PAC文件的地址.

PAC是一个代理自动配置文件.功能就是根据域名或者IP来选择使用不同的代理服务器或者直连.

这样一来呢, 就可以直接在客户端完成路径的分流.

这样的模式对于服务器端要求略高, 需要墙内墙外各有一套, 通过服务器之间的通信来实现翻墙, 而用户因为只跟墙内的跳板服务器通信, 并且墙内代理可以开Cache或者使用感受会很好.

具体表现就是: 配置简单, 自动代理无需手动开关, 速度快.

不过这个模式的缺点也是很明确的:

1.由于使用的是代理模式, 所以实际上用户跟墙内服务器的通信是明文不加密的状态的, 这在私人服务器, 自建的VPS上的时候很少有感觉, 但是, 一旦被服务商大规模使用起来了, 那么流量的汇聚就很明显, 这也是APN的服务商几乎都不长久的根本原因.

2. 在移动平台上, PAC文件的配置是无法应用在蜂窝网络的, 只能在wifi下工作, 这就意味着, 当你在无wifi状态下, APN+PAC的模式就失效了, 用户需要准备另外一套方案来解决这个问题.

3. 由于一条通道必须有2台服务器, 所以成本必然相对高, 所以一般来说价格也会略贵一点.

由于这些原因, 市场上的APN供应商一直都处于不稳定的状态, 曲径熊猫都已经完蛋, 土行孙基本已经封闭, 轻云谢公屐也相对封闭, ZPN现在是邀请测试状态.

至于让用户自己起VPS做这个..我个人是不推荐的…因为与其要准备2套方案应对不同的网络环境, 不如直接来一套Shadowsocks解决问题更加实际.

翻墙之IPv6篇

在之前自动翻墙配置EdgeOS篇续中, 我说我一直把IPv6作为备用方案, 所以今天才有了翻墙之IPv6篇

其实在有现在的策略路由方案之前, 我都是直接把IPv6作为主力的, 因为太方便了. 而且因为基于不同的协议栈, 所以不用考虑路由分流的问题.这样就避免了一个技术难题.

因为国内除了教育网基本都没有IPv6的公网协议部署, 所以对大众用户来说, 毫无疑问需要的就是一个能提供IPv6 Tunnel并且桥接流量到国外的供应商.

现在世界上最著名的IPv6供应商就是He.net的Tunnel Broker项目.

免费, 稳定, 技术成熟, 平台支持全面, 我个人用下来的感觉就是近乎完美, 唯一的问题就是youtube能访问却不能看视频.

https://tunnelbroker.net/

我们需要在Tunnelbroker的网站上注册一个ID.

然后在左边菜单里找一下

来创建一个新的IPv6通道.

tunnelserver

选择一个合适的服务器端(建议ping一下或者MTR一下看看速度如何)

填上自己的公网IP以后就可以生成tunnel了.

Tunnelinfo

Tunnel ID呢是你这个通道的ID号码, 类似身份证号码.

还有一些IPv4 IPv6的地址等, 这些都是通道的相关信息.

 

到这里, 其实服务器端已经完成.

不过He.net很良心, 不需要我们太担心自己会不会配置

setting

基本上, 常见的路由器系统都已经包含在内了.

只要保证自己的公网IP正确, 直接把命令行复制进CLI界面配置就能搞定了, 简单易用到极限了.

当然, 因为国内的IP地址的资源问题, 就算有IP地址也是动态的为主, 所以最好的话能有个可以自动更新客户端IP的东西.

He.net把这个也想好了..

ipupdate

只要能在拨号的时候自动起访问这个URL, Tunnelbroker就会自动更新客户端的IPv4的IP, 然后通道就能顺利启动了.

可以说, Tunnelbroker的IPv6隧道才是最方便的翻墙方案, 可惜的是IPv6推广多年仍然没有足够大的使用范围.所以基本上除了Google也就没太大用处了.

 

翻墙之VPN篇

之前的路由器翻墙估计看完以后很多人都觉得好麻烦,为啥要搞那么吃力呢?

因为人要折腾嘛…为了自己一点点的偷懒折腾一下才舒服呗.

不过对于大部分的普通用户而言, 无论是手机还是PC, 直接挂个VPN才是最省心的办法.

最近手上拿到一个不错的资源, 这里跟大家分享一下.

vyprvpn 不知道有人是否使用过.

我先把他们最大的优势报一下:

  1. 无限流量! 没错就是所有的付费帐号都没有流量限制
  2. 全平台! iOS, Android, Windows, Mac, 甚至于基于Tomato的路由器都可以装.
  3. 有自己的私有协议. 在Pro以上的套餐中, 不仅可以支持PPTP, IPsec等常见的公有协议, 还有他们自己的私有VPN协议的存在, 在最大程度上保证了安全

而且从价格上来说并不高企, 非常亲民.

注册以后可以3天免费试用, 不舒服就退就是了.

根据使用和支付习惯有几种不同的价格模式:

  1. 首月折扣  第一个月半价, 基础套餐只要5刀不限制流量, 不过后面就价格就没那么低了, 不过你可以再注册一个啊. 推荐对协议跟设备数量要求都很低的童鞋循环使用.

50%

2. 年度折扣 这个其实首月半价的年度包, 适合于喜欢用基础套餐的童鞋并且想长期用不再一个个月注册的, 不过我建议想买这个的同学继续往下看.

annual dis

3. Pro套餐特别优惠  这个是Pro套餐的特别优惠活动, 可以60刀买下一年的Pro级别的套餐, 从价格上来说跟上面的其实完全一样, 但是你可以多一个客户端连接多了协议的选择, 所以可以说是年度付费用户的不二之选

pro40%

 

有需要的童鞋赶紧去试试看呗…也许这就是你需要的…

自动翻墙配置EdgeOS篇续

上一篇我们说明了使用纯VPN连接的方式来做自动翻墙.

因为VPN的方式就必然需要另外一头也有相同协议的服务器端, 这就意味着要么自己在VPS上建自己的VPN服务器,

比如我常说的搬瓦工, 一来是便宜, 二来是因为搬瓦工几乎把所有VPN需要用到的服务跟端口都给开了, 所以软件安装相对容易多了.

要么去买一些商用的VPN服务,比如:

VyprVPN, 在最基础的套餐jin仅支持PPTP, 但是在后续的pro套餐里可以支持几乎所有参见的的协议.

不过现在我们还有别的选择, 那就是shadowsocks.

这是一个开源的加密Socket5代理协议, 跟VPN相比最大的区别就是他的客户端相对轻量化, 所以大部分的路由器系统都可以运行在后台.

所以在路由器平台上相当流行, 也进而导致了同样使用shadowsocks协议的服务供应商的大量出现.

所以如果不愿意自己建VPS的服务端, 也可以直接去买相关的服务.

关于Shadowsocks的服务器端怎么安装就不在这里说了, 因为不同的服务器不同的系统差别比较大.

在EdgeOS这端, 我们需要在Debian的系统里安装2个工具, 一个是Shadowsock, 一个是ChinaDNS.

ERL3用的版本可以在这里找到:http://www.onlyos.com/archives/shadowsocks-libev-chinadns.html

因为是Linux端, 需要的话可以用Wget或者PSCP从Windwos拷贝过来.

Deb使用dpkg安装, ChinaDNS则是解压以后直接chmod +x赋权以后就能直接用了.

基本思路如下:

Shadowsocks负责流量的转发…ss-redir启动以后可以绑定在127.0.0.1的某个端口上, 等待路由协议把需要翻墙的包转发到这个端口上然后发送到服务器端

ChinaDNS负责作为本地的DNS服务器解析域名, 因为ChinaDNS本身带有-m的压缩指针模式, 同时支持使用433等非标准的域名端口, 所以可以成功绕开GFW去国外域名服务器拿到正确的IP.

并且支持非污染的IP从国内DNS拿IP, 被污染的出国拿, 所以最大程度上绕开了域名污染,并且避免了CDN, 位置服务等带来的不遍.

IPset负责标记GFWlist内的域名进入相关的组.

IPtables 负责将符合要求的对应的组的流量转发到Shadowsocks

这中间, 还需要一个本地Dnsmasq的支持, 不过这里的Dnsmasq主要的是直接去访问127.0.0.1:(ChinaDNS的端口), 作为一个转发跟缓存的存在, 因为Ipset需要Dnsmasq的解析记录去存入group

因为主要是Debian下的DNS操作, 所以具体操作我就不详细写了.

ss的配置主要是config.json的这个文件, 以及ss-tunnel的问题.

因为ss一开始并不支持UDP协议, 所以在DNS解析的时候, UDP包没有地方去, 所以ChianDNS使用8.8.8.8:53作为墙外的DNS, 那么我们可能需要ss-tunnel作为UDP转发通道.

一旦涉及到UDP流量, 那么请考虑所使用的SS版本因为只有C语音版本是支持UDP的, python版本无法使用UDP转发所以服务器端装什么也要考虑到.

当然我们也可以让ChinaDNS启用压缩指针模式.

在这些都准备好的情况下, 我们只需要一条iptabels的命令:

iptables -t nat -A PREROUTING -p tcp -m set –match-set group-name dst -j REDIRECT –to-port 1188(ss-local-port)

就可以把ipset对应的翻墙组的流量都扔到ss上然后出国拉.

我个人使用的方式是结合了几种方式的:

  1. 我用PPTP的VPN作为DNS解析的通道, 因为对速度要求低而且不需要考虑SS服务器端是否支持UDP
  2. SS作为流量的转发主力, 主要是因为如果要更换服务器信息我只要改下配置文件或者新建配置文件就可以, 不需要考虑路由等问题
  3. IPv6隧道备用, 作为第三路径保证前2个都出问题的情况下我去google和inbox都不会出问题.

ERL3是一台非常强大非常好用的路由, 然而因为图形界面的简陋, 命令行的相对晦涩, 导致了使用的人比较少, 相关资料也远不如ROS来的丰富.

然而因为后台Linux系统的开放, 甚至于可以直接在上面apt-get, 就跟一个树莓派一样, 所以对于Linux比较熟悉的用户甚至于可以直接在上面创建编译环境生成需要的工具.

并且他的存储其实是一个U盘…如果觉得原厂的容量不够了, 可以直接拆机换一个16G的上去…屌炸天有木有.

有兴趣的朋友去买一个来玩玩呗.

Ubiquiti Networks Edgerouter Lite 3Port Router (ERLITE-3)

Ubiquiti EdgeRouter X Advanced Gigabit Ethernet Routers ER-X 256MB Storage 5 Gigabit RJ45 ports

注意ER-X跟ERL的硬件平台不同所以软件包并不通道.

自动翻墙配置EdgeOS篇

ROS篇结束以后,我们来记录一下现在正在工作的EdgeOS的配置.

大概介绍一下Edge Router Lite 3这个路由器.

ERL3是Ubnt发售的一款纯有线的路由, 以NAT速度快闻名, 有记录是在1G的网络上可以跑出900多M的NAT速度…所以说速度很快.

有兴趣的朋友可以去amazon收一个:

Ubiquiti Networks Edgerouter Lite 3Port Router (ERLITE-3)

 

下面这个是ER-X, 相对ERL-3有缩水不过ERL3的价格比这个高不少, 所以ER-X还是比较超值的

Ubiquiti EdgeRouter X Advanced Gigabit Ethernet Routers ER-X 256MB Storage 5 Gigabit RJ45 ports

 

当然也可以国内某著名网站

其内嵌的EdgeOS的本质是跑在一个Debian系统上的Vyatta路由系统, 因为vyatta现在已经被博通收购, 所以现在的EdgeOS是基于原本的开源代码后续开发的, 在命令行格式上仍然完全集成了vyatta的模式.

由于EdgeOS其实是Debian上的一个应用, 所以我们很多时候可以跳过edgeos, 直接在debian上操作来实现一些edgeos上并不能实现的功能.

思路其实仍然一样, 我们需要解决2个问题:

  1. DNS污染的问题
  2. 流量区分的问题

因为我们可以直接在Debian上操作, 所以我们的选择就多了很多很多…毕竟Linux base的东西太多了.

所以我们现在选择这样的组合来完成我们需要的功能:

  1. VPN隧道+IPset+edgeOS的防火墙规则转发
  2. SS隧道+Ipset+ChinaDNS+iptables防火墙规则转发
  3. 上面这种的混合模式

首先我们来介绍一下第一种,这种方式的好处在于不需要对路由内的debian做太多的操作, 相对来说比较容易实现.

VPN的隧道可以选择IPsec SSL, L2TP或者PPTP.

广告一波我在用的VPS:https://bandwagonhost.com/aff.php?aff=5802

我在搬瓦工已经有了PPTP, 所以就自然直接上PPTP了, 不过因为ERL的GUI模式是没有PPTP的设置界面的, 所以我们需要使用edgeOS的命令行模式:

configure
 edit interfaces pptp-client pptpc0
 set user-id your-sername
 set password your-password
 set server-ip your-vps-ip
 set require-mppe
 commit
 save
 exit

只要数据正常, vpn就会自动拨号连接起来, 然后就是NAT:

configure
set service nat rule 5012 type masquerade
set service nat rule 5012 outbound-interface pptpc0
commit
save
exit

NAT完成以后, 我们需要搞定路由,

在搞定路由之前, 我们先需要认识一下IPSET这个Linux的工具, IPSET算是Dnsmasq和iptables的一个辅助工具, 主要的功能是快速的把域名或者IP归类, 然后帮助防火墙来识别, Dnsmasq算是附带的.

所以这里就有一个逻辑, 就是我们把所有gfwlist所知道的被墙的域名都转换为IPSET所能认识的配置文件, 在这样的情况下通过IPSET所归类的组, 我们可以要求dnsmasq去制定的DNS服务器去解析, 而避免了被墙的域名遭到污染, 同时呢, 这个组又可以作为防火墙的选择依据, 让这组的路由全部都走VPN通道出去:

具体的思路可以参考:

https://xiaoding.org/?p=391

这位兄弟的博客, 上面同时也有编译好的高版本的Dnsmasq, 因为系统内建的是2.61版本不支持ipset功能.

在理解这些以后, 我们可以先通过系统命令创建一个组:

configure
 set firewall group address-group group-name
commit
save

这时候ipset就有了一个可以自由使用的组了.

然后我们就把gfwlist转换成所需要的ipset设置, 因为gfw太大了, 所以我们需要跑个python的脚本, 可以从github直接抄来:

https://github.com/smallfount/gfwlist2dnsmasq

gfwlist2dnsmasq, 我把文件直接上传了可以直接下:

然后用python2 跑一遍就可以得到需要的ipset列表, 并且会根据脚本的配置去配置放到指定的地方然后dns的解析也是我们设定的方式.

最后就是防火墙规则的配置了:

configure
set protocols static table 1 interface-route 0.0.0.0/0 next-hop-interface pptpc0
set firewall modify your-group-name rule 1 action modify 
set firewall modify your-group-name rule 1 destination group address-group your-group-name 
set firewall modify your-group-name rule 1 modify table 1 set firewall modify your-group-name rule 1 protocol all
set interfaces ethernet eth1 firewall in modify your-group-name 
commit 
save

这样的配置就会让系统的防火墙根据group去区分不同的出口.

然而问题还是有: 因为gfwlist的转换并不完美, 所以可能会有不少域名有问题.

所以还有另外的办法,我们下一篇继续