032月, 2016
0Comments
featured-image

Centos7云主机VPS安装Pptpd

1.安装ppp和pptpd
yum install -y ppp
yum install -y epel-release
yum install -y pptpd

2.配置PPTP

(1)vim /etc/ppp/options.pptpd #编辑,保存
name pptpd #自行设定的VPN服务器的名字,可以任意
#refuse-pap #拒绝pap身份验证
#refuse-chap #拒绝chap身份验证
#refuse-mschap #拒绝mschap身份验证
require-mschap-v2 #为了最高的安全性,我们使用mschap-v2身份验证方法
require-mppe-128 #使用128位MPPE加密
ms-dns 8.8.8.8 #设置DNS
ms-dns 8.8.4.4
proxyarp #启用ARP代理,如果分配给客户端的IP与内网卡同一个子网
#debug #关闭debug
lock
nobsdcomp
novj
novjccomp
#nologfd #不输入运行信息到stderr
logfile /var/log/pptpd.log #存放pptpd服务运行的的日志

(2)vim /etc/ppp/chap-secrets #编辑,保存
test pptpd 123456 * #设置用户名:test 密码:123456

(3)vim /etc/pptpd.conf #编辑,保存
option /etc/ppp/options.pptpd
logwtmp
localip 10.0.0.1 #设置VPN服务器虚拟IP地址
remoteip 10.0.0.6-18 #为拨入VPN的用户动态分配10.0.6.101~10.0.0.200之间的IP

3. 开启系统路由模式
sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
vim /etc/sysctl.conf #编辑
net.ipv4.ip_forward = 1 #找到此行 去点前面#,把0改成1 开启路由模式,如果没有就自行添加
/sbin/sysctl -p #使设置立刻生效
sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

如使用iptables跳到5,4是默认的防火墙firewall

4.设置防火墙firewall并开放NAT转发功能
# firewall-cmd –permanent –add-port=1723/tcp
# firewall-cmd –permanent –add-masquerade
重启防火墙使设定生效生效
# systemctl restart firewalld

5.设置防火墙和NAT转发

这个时候把iptables关闭的话是可以连接VPN了,之所以要把iptables关闭是因为没有开放VPN的端口,客户如果直接连接的话是不允许的。这里还需要设置iptables的转发规则,让你的客户端连接上之后能访问外网。
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT –to 你的服务器的公网IP

iptables -A POSTROUTING -t nat -s 10.0.0.0/24 -o eth0 -j MASQUERADE ##这个没处理,能连上但是只有发送没有接收,打不开网页
iptables -A INPUT -p UDP –dport 53 -j ACCEPT ##这个最蛋疼,开始没注意,能连接上怎么都打不开网页,搞了半天才发现DNS端口没有打开,差点昏死过去!!
#10.0.0.0/24是你分配给客户的ip,后面的那个是你的服务器的公网IP

这个时候还是连接不上的,因为iptables把客户的VPN连接拦截了,不允许连接,所以得开放相应的端口。

具体是哪个端口可以自己查下,我的是默认的,如果你没有更改过的话也会是默认的。

iptables -I INPUT -p tcp –dport 1723 -j ACCEPT
iptables -I INPUT -p tcp –dport 47 -j ACCEPT
iptables -I INPUT -p udp –dport 53 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT

service iptables save #保存iptables更改

保险起见,到了这里应该重启一下pptpd服务和iptables服务生效。

systemctl restart iptables
systemctl restart pptpd

6.设置PPTP开机启动
service pptpd start #启动pptpd
systemctl enable pptpd #设置开机启动

pptpd服务使用的端口是1723,这个端口是系统固定分配的,可以通过查看该端口检查pptpd服务的运行情况。
命令:netstat -ntpl
[root@Centos7 ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1423/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1693/master
tcp 0 0 0.0.0.0:44666 0.0.0.0:* LISTEN 1358/rpc.statd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 2020/pptpd
tcp 0 0 0.0.0.0:66 0.0.0.0:* LISTEN 1579/sshd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1310/rpcbind
tcp 0 0 ::1:631 :::* LISTEN 1423/cupsd
tcp 0 0 ::1:25 :::* LISTEN 1693/master
tcp 0 0 :::66 :::* LISTEN 1579/sshd
tcp 0 0 :::33794 :::* LISTEN 1358/rpc.statd
tcp 0 0 :::111 :::* LISTEN 1310/rpcbind

至此,VPN服务器搭建完成.