Centos7 搭建 PPTP-VPN

Centos 7与老版本有大差别,所以旧的配置VPN方法可能不适用,采用新的方法来配置VPN.

准备

添加epel源

命令行执行 yum install epel-release

命令行执行 yum makecache

安装组件

运行命令 yum install ppp iptables pptpd 安装组件

运行命令 /etc/pptpd.conf 找到localip,去掉下面字段前面的#,然后保存退出

1
2
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

运行命令 nano /etc/ppp/options.pptpd ,找到ms-dns,去掉搜索到的两行ms-dns前面的#,并修改为下面的字段:

1
2
ms-dns 8.8.8.8
ms-dns 8.8.4.4

运行命令nano /etc/ppp/chap-secrets编辑/etc/ppp/chap-secrets设置VPN的帐号密码:

1
用户名 pptpd 密码 *

运行命令nano /etc/sysctl.conf修改内核参数,在conf文件末尾添加以下代码,使内核支持转发

1
net.ipv4.ip_forward=1

运行命令sysctl -p使内核修改生效

运行以下命令添加下面的iptables转发规则

XEN架构

1
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

OpenVZ架构

1
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP

但是添加转发规则后重启就会失效,Centos 6系统可以使用service iptables save保存配置,但Centos 7不支持,我们需要将配置写入rc.local文件中,开机自动设置

运行命令chmod +x /etc/rc.d/rc.local赋予rc.loacl执行权限

运行命令nano /etc/rc.d/rc.local编辑rc.local,并把上面的转发规则写到文件末尾

保存退出,没了。

启动组件

  1. 运行命令/etc/init.d/pptpd start启动pptpd
  2. 运行命令chkconfig pptpd on使pptpd开机自动启动
  3. 完成,连接,上网~