首先是购买 VPS,这里选择的是 BUDGETVM,支持支付宝、paypal 和信用卡。最便宜的方案是 $14.99/year。购买链接:https://www.budgetvm.com/account/cart.php?pid=250。主机参数如下图:

性能配置

  支付完成后,等待十分钟左右,主机就能配置好了。收到包含 IP、用户名和密码的邮件后,用任意一种 ssh 登录软件登录上主机。这里用的是 Xshell

  登录上之后,马上就可以开始安装 VPN 服务了。命令: apt-get install pptpd ,如果提示“E: Unable to locate package pptpd”的话,尝试用 apt-get update 更新源。

  接下来编辑三个文件:

  • /etc/pptpd.conf
  • /etc/ppp/pptpd-options
  • /etc/ppp/chap-secrets

  首先编辑主机的内网 IP 和 IP 池, vim /etc/pptpd.conf

IP 配置

  然后编辑 DNS, vim /etc/ppp/pptpd-options 。这里用谷歌提供的 DNS。

DNS 配置

  最后设置用户名和密码, vim /etc/ppp/chap-secrets 。可以建立多个用户,每行一个,每个用户有四个属性需要填写:client(用户名)、server(默认是 pptpd,可以填 *)、secret(密码)、IP address(指定 IP,不指定可填 *)。每个属性之间以 tab 隔开。

  设置好以上文件后,执行 /etc/init.d/pptpd restart 重启 pptp 服务。

  接下来设置防火墙:

# 開啟 VPN 連線
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A OUTPUT -p gre -j ACCEPT
# 開啟 NAT
iptables -A FORWARD -i ppp+ -j ACCEPT
iptables -A FORWARD -o ppp+ -j ACCEPT
iptables -A POSTROUTING -t nat -o ppp+ -j MASQUERADE

  笔者这里按照以上方法配置好之后一直都连不上,直到第二天才能顺利连接,不知道是什么原因。

  连接上 VPN 之后,可能发现 无法上网 ,可以尝试以下两个方法:

  1. 执行 vim /etc/sysctl.conf ,将 net.ipv4.ip_forword = 1 取消注释,如果没有这个注释,那么添加这一行内容。保存退出后执行: sysctl -p

  2. 在本地右键 VPN 连接,属性→网络→ Internet 协议(TCP/IPv4)→属性→高级,取消勾选“在远程网络上使用默认网关”。

  如果尝试了以上步骤,还是不能正常使用,请参考以下命令:

iptables -t nat -A POSTROUTING -o venet0 -s 192.168.0.0/24 -j SNAT --to-source 000.000.000.000

  其中 venet0 也可能是 eth0 等,可以用 ifconfig 看一下。000.000.000.000 是 VPS 的公网地址。


References

连接 VPN 之后无法上网
Ubuntu 安装 PPTP VPN
在 Linux 安装 VPN Server 教学(pptpd on CentOS)
Ubuntu 搭建 VPN 服务器 pptpd 安装配置

Post Info


Published

04 November 2014

Category

work

Tags