一个适用于 CN 网络的 VPN 解决方案

部署图

说明

  • VPN Clients 是位于 CN 网络的 VPN 客户端。
  • ns.example.net 和 vpn.example.net 可以是同一台机器,应位于防火墙(即 the Great Firewall,下同)内。
  • radius.example.net 和 pgsql.example.net 位置无所谓,但是最好和 vpn.example.net 很近或者位于同一台机器,以便获得更短的延时。
  • ss-server.example.net 应位于防火墙外。

安装

ss-server.example.net
安装 shadowsocks-libev 服务器端
pgsql.example.net
在 FreeBSD 上安装 PostgreSQL
radius.example.net
在 FreeBSD 上安装 FreeRADIUS
ns.example.net
使用 dnsmasq 和 shadowsocks-libev 构建一个干净的域名服务器
vpn.example.net
strongSwan 的安装和配置

#cisco-ipsec, #dnsmasq, #freebsd, #freeradius, #gfw, #gfwlist, #gfwlist2dnsmasq-awk, #ikev2, #ipsec, #iptables, #letsencrypt, #postgresql, #shadowsocks-libev, #ss-redir, #ss-server, #ss-tunnel, #strongswan, #ubuntu, #vpn

在 FreeBSD 上安装 mpd5 设置基于 PPTP 的 VPN 服务器

参见这篇博客:mpd5 on FreeBSD 10.0(英文)。在 PhotonVPS(链接含 Referral ID)的 VPS 上,测试成功,操作系统版本为 FreeBSD 9.3-RELEASE-p43。

另外补充一下,需要在文件 /etc/rc.conf 中增加如下配置,以便开机时自动启动:

gateway_enable="YES"
pf_enable="YES"
mpd_enable="YES"

其中
gateway_enable="YES"sysctl net.inet.ip.forwarding=1
pf_enable="YES" 对应 /etc/rc.d/pf restart
mpd_enable="YES" 对应 /usr/local/etc/rc.d/mpd5 start

关于使用操作系统用户密码登录 VPN 的设置可以参考在 FreeBSD 上用 mpd5 构建 PPTP VPN(如果这个链接不能访问,可以访问转载在 FreeBSD 上用 mpd5 构建 PPTP VPN)。

#freebsd, #mpd5, #nat, #pf, #pptp, #vpn

#photonvps