利用 OpenWrt 实现无线路由器验证 H3C SS

利用 OpenWrt 实现无线路由器验证 H3C SS 智能翻墙n发表于 2015-11-30 | 分类于 工具 | n前言nn 今年防火墙貌似强大了不少,之前一直使

利用 OpenWrt 实现无线路由器验证 H3C SS 智能翻墙n发表于 2015-11-30 | 分类于 工具 | n前言nn 今年防火墙貌似强大了不少,之前一直使用起来挺稳定的 GreenVPN 在校园网的环境下变得越来越难连接得上,上个月一怒之下在 DigitalOcean 买了个 San Francisco 的 VPS,幸好两年前的我机智地申请了 Github 的教育优惠大礼包,免费得到 50$ 的优惠卷,掐指算一下,应该能免费使用十个月的服务~n 配合 Shadowsocks,自己持续用了一段时间,感觉是挺不错的,网络异常稳定,网速也能接近校园网峰值。但是,有一点不太满意,就是 iOS 系统上是没有 SS 客户端的(补充:利用 iOS9 新特性的 Surge 软件是可以走 SS 代理的),有时候躺在床上突然想 Google 一下,除非祈祷 iPhone 能连得上 GreenVPN,不然还得爬下来打开电脑,麻烦死了。n 于是,上周末突然萌发了一个想法:改造升级一下自己一年多前在宿舍搭建的无线路由,使它能支持 SS 代理,那么连上 Wifi 的终端无需做任何设置就可以自由地访问国外的世界。想想都觉得兴奋,所以趁有时间赶紧弄,一开始原以为只需要在无线路由器上装一个 SS 客户端即可,但动手过程中发现它是不提供类似于 PC 上 SS 客户端所提供的 PAC 模式功能,也就是说,倘若要区分对待国内与国外网站的访问方式,转发规则还得自己想办法实现。n原理简介nn 根据网上的「GFW分析报告」,了解到 GFW 屏蔽的方式主要有 DNS 劫持,域名封锁、IP 封锁、关键字审查、暂时访问限制以及流量限制等等方式,而自己在解决 SS 代理区分国内外网站的问题下,需要解决的问题便是如何避免 DNS 劫持与 IP 封锁 。n 对于 DNS 劫持问题,在 SourceForge 的一个名为 「OpenWrt-dist」 的项目上,用户 aa65535 提供了六种在 OpenWrt 系统上能防止 DNS 劫持的方案,而我所选择的方案大致上是符合其中方案四的思路的:使用 dnsmasq 搭配 SS 的 UDP 转发功能( ss-tunnel )进行 DNS 查询。n 对于 IP 封锁问题,我选择的方案是配置 iptables 防火墙来转发 IP 地址,对局域网,亚洲以及 VPS 服务器的 IP 地址不作任何特殊处理,而对于其他 IP 地址的请求,转发到 SS 透明代理功能( ss-redir )所监听的端口,经由 SS 进行加密访问。n 由于之前身边有些朋友会偶尔问我搭建验证 H3C 无线路由的方法,所以在这一篇博客中,顺便在开头讲一下无线路由验证 H3C 的步骤,以供参考。n准备清单nn 一台已刷 OpenWrt 的无线路由器;n 一台搭载 Windows 操作系统的 PC;n 一台已开启 ShadowSocks 服务端程序的国外 VPS 服务器。nn 补充说明:我所使用的路由器为 TP-LINK 旗下的

标签: