EdgeOS PPTP VPN客户端配置

背景及目标

买了个Ubnt EdgeRouter Lite,应同事的需求,研究配置自动翻墙。
考虑过之前配置的各种VPN:PPTPL2TPIPSecAnyConnect/OpenConnect。目前搞定的只有PPTP。

本次配置使用远程PPTP Server,只考虑Google、Twitter和Facebook的自动翻墙,其他可以参照思路自己加路由和NAT。

环境

假设网络已经配置好,eth0为内网口,eth1为外网口。

配置

基本知识

默认账号密码为ubnt/ubnt,可以使用web(https)或SSH连接。本次配置以命令行为主,可以选择使用Web的Console或者SSH。

1 PPTP客户端

官方有文档,http://wiki.ubnt.com/PPTP_Client_-_CLI_Commands
server-ip可以支持域名或者IP。

这些没什么可解释的。

2 确定目标网络IP段

Google

Google的IP段之前搞过一次,Google IP Address Ranges。spf纪录,点开文章看就行。

Twitter

Twitter的一样.

Facebook

Facebook的spf记录没什么用,但是官方给了个获取IP的方法:Sharing Best Practices for Websites & Mobile Apps

这个表里有重复的,需要去重。

完成上述操作后,可能会整理出一个很多行的网段列表,而去很多网段可以合并。这里推荐自己写的网段合并的PHP类:https://github.com/sskaje/ip_calc.
整理之后,我人肉把所有的网络都合并成了 CIDR 16。

3 配置Firewall Network Group

配置Network Group的目的是给NAT用。
没什么用

4 NAT

这块我是从web端点的,没有去看命令怎么配。贴一段配置文件:

5 静态路由

人肉点或者命令行用如下参数:

自己替换一下上边的网络列表

6 DNS

DNS污染是墙的基本功能。
系统自带的DNS服务基于Dnsmasq, 文档在 http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
按照如下参数配置所有需要使用vpn解析的域名记录。

EdgeOS PPTP VPN客户端配置 by @sskaje: https://sskaje.me/2014/12/edgeos-pptp-vpn%e5%ae%a2%e6%88%b7%e7%ab%af%e9%85%8d%e7%bd%ae/

Incoming search terms: