VPN 搭建全过程
首先是购买 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
。
然后编辑 DNS, vim /etc/ppp/pptpd-options
。这里用谷歌提供的 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
- Copyright Notice: Creative Commons BY-NC-ND 3.0