VPN PPTP 配置教程

所属:Linux

PPTP 是什么?

PPTP (Point to Point Tunneling Protocol) 即点对点隧道协议,是实现虚拟专用网(VPN)的方式之一。PPTP 使用传输控制协议(TCP),创建控制通道来发送控制命令,以及利用通用路由封装(GRE)通道来封装点对点协议(PPP)数据包以发送数据。

没有自己的 VPS 吗?赶紧到 Digitalocean 上注册一个吧。不然别再浪费时间往下继续看了。哈哈哈!!

安装 PPTP

这以 debian 系统为例,其它 Linux 系统类似。

1
(sudo) apt-get install pptpd

配置 IP 地址

修改 /etc/pptpd.conf 文件,在最后面添加以下两行

1
2
localip 192.168.9.1
remoteip 192.168.9.11-30

这里的 IP 地址可以随便填写,只要是 ABC 三类中的私有地址都可以的,另外需要注意是 IP 地址避免冲突。
这两句话的意思就是当外部计算机通过 PPTP 联接到 VPN 后所能拿到的 IP 地址范围和服务器的IP 地址设置。
localip 是服务器内部使用的网关,remoteip 是分配给客户用的。

配置 DNS 服务器

修改 /etc/ppp/options 文件,把 DNS 替换成谷歌的 DNS

1
2
ms-dns 8.8.8.8
ms-dns 8.8.4.4

添加 VPN 帐号

修改 /etc/ppp/chap-secrets文件,添加 VPN 用户名和密码,格式如下:

1
username pptp password *

其中 username 就是 VPN 帐号的用户名,password 就是 VPN 帐号的密码, 表示 IP 地址随机分配,(IP 地址是刚刚配置的 remoteip),如需指定 IP 地址,则把 换成某个人具体的静态 IP 地址即可。

配置系统转发

修改 /etc/sysctl.conf,去掉 net.ipv4.ip_forward=1 前的注释(#)
运行如下命令使用配置修改生效

1
sysctl -p

安装 iptables

1
(sudo) apt-get install iptables

开启iptabls转发

1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

避免重启后配置失效,还需要修改 /etc/rc.local 文件, 在 exit 0 这行上面加上 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

重启pptpd服务

1
/etc/init.d/pptpd restart

到这里 VPN 已配置完成了。
接下来用电脑、移动设备进行测试,输入以前想看却看不了、想上却上不去的网站体验下哈。

参考资料