Centos7 搭建PPTP-VPN 服务

 happyzxb   2020-08-04 21:46   7263 人阅读  0 条评论

申明:此教程部分转载于网络,使用于企业内部网络的加密转输访问,不可用于非法行为。文章纯属技术交流记录。用于非法行业为者自行承担责任。

PPTP点对点隧道协议(PPTP,Point-to-Point Tunneling Protocol)是一种协议(一套通信规则),它允许企业通过私人“隧道”在公共网络上扩展自己的企业网络。注意:苹果手机从ios10起不支持pptp vpn了

PPTP以通用路由封装(GRE)协议向对方作一般的点对点传输。通过TCP1723端口来发起和管理GRE状态。因为PPTP需要2个网络状态,因此会对穿越防火墙造成困难。很多防火墙不能完整地传递连接,导致无法连接。 在Windows或Mac OS平台,通常PPTP可搭配MSCHAP-v2或EAP-TLS进行身份验证 ,也可配合微软点对点加密(MPPE)进行连接时的加密。

搭建清单:

Centos7 (我这里使用腾讯云的服务器)

ppp和pptpd 包

iptables (我这里使用iptables)

win10客户端(连接测试使用)

1、查看是否支持

[root@VM_centos ~]# modprobe ppp-compress-18 && echo yes

yes

[root@VM_centos ~]# cat /dev/ppp

cat: /dev/ppp: 没有那个设备或地址

2、禁用firewalld防火墙和安装需要的包

#停止和禁用firewalld

[root@VM_centos ~]# systemctl stop firewalld

[root@VM_centos ~]# systemctl disable firewalld

#增加epel yum源

[root@VM_centos ~]# yum install epel-release -y

#安装需要的包

[root@VM_centos ~]# yum install ppp ppp-devel pptpd iptables iptables-services -y

3、修改配置文件pptpd.conf option.pptpd

[root@VM_centos ~]# vim /etc/pptpd.conf

#找到此处去掉前面注释

localip xxx.xxx.xxx.xxx  #内网ip地址(云服务器的eth0网卡地址,不是服务器公网地址)

remoteip 192.168.0.10-20  #自定义分配给客户端的网段

[root@VM_centos ~]# vim /etc/ppp/options.pptpd

#修改成下面的参数

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

ms-dns 8.8.8.8

ms-dns 114.114.114.114

proxyarp

lock

nobsdcomp 

novj

novjccomp

nologfd

logfile /var/log/pptpd.log

4、修改用户认证配置文件chap-secrets

[root@VM_centos ~]# vim /etc/ppp/chap-secrets

#添加用户格式:用户名 pptpd 密码 *

# Secrets for authentication using CHAP

# client    server    secret            IP addresses

test    pptpd 123456 *

5、打开系统ipv4转发 sysctl.conf

[root@VM_centos ~]# vim /etc/sysctl.conf

#有此项的话修改数值为1 没有的新添加一条

net.ipv4.ip_forward=1

#应用生效

[root@VM_centos ~]# sysctl -p

6、启动pptpd服务

[root@VM_centos ~]# systemctl start pptpd

7、开放需要的端口(iptables和云服务器的安全组),此步操作完就可以先测试下是否可以连接了

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

iptables -A INPUT -p tcp --dport 443 -j ACCEPT    

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -A INPUT -p gre -j ACCEPT

#保存规则

[root@VM_centos ~]# service iptables save

#重启生效

[root@VM_centos ~]# systemctl restart iptables

记得打开了阿里云的安全组端口

1.png

8、增加转发规则,和修改mtu的大小,为了可以连上vpn后上网

#注意这里网段和上面配置文件网段一致,eth0和本机网卡名称一致(本机只有eth0和lo)

[root@VM_centos ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

#保存规则

[root@VM_centos ~]# service iptables save

#重启生效

[root@VM_centos ~]# systemctl restart iptables

#修改MTU默认值1396为1500,在exit 0前面加一句

[root@VM_centos ~]# vim /etc/ppp/ip-up

.......

ifconfig $1 mtu 1500

exit 0

#重启下pptpd服务

[root@VM_centos ~]# systemctl restart pptpd

1.png

9、win10客户端连接测试(连接后所有上网流量都通过vpn服务器)

win10客户端pptp vpn主要配置参数

1.png

win10客户端连接后的信息,上公网和访问内网机器

1.png

1.png

2.png

3.png

4.png

10、(2020.6.16更新)如果想用本地网络上网,又可以访问连接vpn服务器的网络(连接后上网流量还是通过本地网络)

1.png

1.png


本文地址:https://zxbblog.com/?id=224
版权声明:本文为原创文章,版权归 happyzxb 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?