文章目錄
  1. 1. 更新centos7源
  2. 2. 安装及配置
    1. 2.1. 检测PPP是否开启
    2. 2.2. 安装软件及依赖
    3. 2.3. 设置VPN账号密码
    4. 2.4. 修改/etc/pptpd.conf文件
    5. 2.5. 修改/etc/ppp/options.pptpd文件
    6. 2.6. 修改/etc/sysctl.conf文件
    7. 2.7. 添加iptables转发规则
    8. 2.8. 开机自动启动
  3. 3. MAC使用自建VPN
  4. 4. 脚本部署
  5. 5. 参考链接

更新centos7源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$ vim /etc/yum.repos.d/epel.repo

#添加如下内容
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

#保存退出并执行如下命令
$ yum makecache

安装及配置

检测PPP是否开启

1
2
3
4
#开启成功的标识
cat: /dev/ppp: 没有那个设备或地址
# or cat: /dev/ppp: No such file or directory
# or cat: /dev/ppp: No such device or address

安装软件及依赖

1
$ yum install make openssl gcc-c++ ppp iptables pptpd iptables-services

设置VPN账号密码

1
2
3
4
5
$ echo "账号 pptpd 密码 *" >> /etc/ppp/chap-secrets
# /etc/ppp/chap-secrets 账号密码格式说明
# Secrets for authentication using CHAP
# client server secret IP addresses
# 注意:上面的用户名和密码都区分大小写

修改/etc/pptpd.conf文件

搜索localip,去掉下面字段前面的#,然后保存退出

1
2
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

修改/etc/ppp/options.pptpd文件

搜索ms-dns,去掉搜索到的两行ms-dns前面的#,并修改为下面的字段

1
2
ms-dns 8.8.8.8
ms-dns 8.8.4.4

修改/etc/sysctl.conf文件

在conf末尾添加下面的代码,使内核支持转发

1
net.ipv4.ip_forward=1

运行如下命令,是内核转发修改生效

1
$ sysctl -p

添加iptables转发规则

1.适用于OpenVZ架构

1
iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig | grep 'inet' | grep 'netmask' | grep 'broadcast' | grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 {print $2}'

2.适用于XEN架构(Linode采用)

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

配置iptables转发规则:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
$ iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
$ /usr/libexec/iptables/iptables.init save

$ mknod /dev/ppp c 108 0
$ chmod +x /etc/rc.d/rc.local

# 把相关转发规则添加到/etc/rc.local这个文件
$ echo "1" > /proc/sys/net/ipv4/ip_forward
$ echo "mknod /dev/ppp c 108 0" >> /etc/rc.local
$ echo "echo \"1\">/proc/sys/net/ipv4/ip_forward" >> /etc/rc.local

$ echo "iptables -A INPUT -p tcp --dport 1723 -j ACCEPT" >> /etc/rc.local
$ echo "iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT" >> /etc/rc.local
$ echo "iptables -A INPUT -p gre -j ACCEPT" >> /etc/rc.local
$ echo "iptables -A OUTPUT -p gre -j ACCEPT" >> /etc/rc.local

$ echo "iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356" >> /etc/rc.local
$ echo "iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE" >> /etc/rc.local

# 重启iptables和pptpd服务
$ systemctl restart iptables
$ systemctl restart pptpd

# 注意:再重启iptables服务后一定要再执行一遍nat转发规则
$ iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

开机自动启动

1
$ chkconfig pptpd on

MAC使用自建VPN

  1. 配置服务器、账号、密码等
  2. 点击 VPN(PPTP) -> Advanced-> Options-> 把Send all traffic over VPN connection 选择上

脚本部署

链接:https://github.com/zhaodg/pptpd-centos7-install-script

使用方法:

1.Update centos7 yum

1
$ sh install-centos7-yum-pero.sh

2.Install pptpd and run it

1
$ sh install-pptpd.sh

参考链接

  1. http://www.wanghailin.cn/centos-7-vpn/
  2. http://www.wanghailin.cn/scka/centos7-yum-pero/
  3. http://blog.xuzeshui.com/archives/121.html
  4. http://www.longlan.net/2013/06/04/736/
文章目錄
  1. 1. 更新centos7源
  2. 2. 安装及配置
    1. 2.1. 检测PPP是否开启
    2. 2.2. 安装软件及依赖
    3. 2.3. 设置VPN账号密码
    4. 2.4. 修改/etc/pptpd.conf文件
    5. 2.5. 修改/etc/ppp/options.pptpd文件
    6. 2.6. 修改/etc/sysctl.conf文件
    7. 2.7. 添加iptables转发规则
    8. 2.8. 开机自动启动
  3. 3. MAC使用自建VPN
  4. 4. 脚本部署
  5. 5. 参考链接