Centos7下搭建PPTP服务
手里有台阿里云服务器,需要实现通过这台阿里云服务器。搭建一个pptp服务,实现公司电脑和家里电脑能够连通。
原理:通过连接阿里云服务器上搭建的pptp服务,实现多台电脑进入同一个虚拟网络实现
查看系统是否支持
modprobe ppp-compress-18 && echo yes
禁用防火墙或者开启相关端口
停止和禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
或者开启防火墙的端口
firewall-cmd --zone=public --add-port=1723/tcp --permanent
firewall-cmd --reload
阿里云服务器还需要登陆到网页版控制台,设置出网口和入网口规则
全部 GRE 目的: -1/-1 源: 0.0.0.0/0
自定义 TCP 目的: 47/47 源: 0.0.0.0/0
自定义 TCP 目的: 1723/1723 源: 0.0.0.0/0
安装服务
yum -y update
yum install epel-release -y
yum install ppp ppp-devel pptpd iptables iptables-services -y
配置pptp服务IP
vim /etc/pptpd.conf
找到localip 和 remoteip 配置如下
localip 192.168.0.1 #任意配置一个地址,但是要跟remoteip在一个网段(这个就是pptp协议分给服务的ip了)
remoteip 192.168.0.10-20 #自定义分配给客户端的网段和地址池 (其他连接上pptp服务的在这个网端里随机分配)
配置pptp服务的dns
vim /etc/ppp/options.pptpd
修改这段 ,其他的不用变动
ms-dns 8.8.8.8
ms-dns 8.8.4.4
给客户端连接上这个服务器设置认证密码
vim /etc/ppp/chap-secrets
在下方输入(以下test是用户名 123456是密码)
test * 123456 *
修改内核
vim /etc/sysctl.conf
增加一行 net.ipv4.ip_forward = 1
设置MTU
vim /etc/ppp/ip-up
在exit 0 上一行加入
ifconfig ppp0 mtu 1472
设置iptables
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -jMASQUERADE
注意这个转发规则,不通的架构,命令是不一样的
XEN架构:是这个 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
OpenVZ架构: iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP
有个软件可以查看vps架构
yum install virt-what
virt-what
启动服务和设置开机自启动
systemctl restart pptpd
systemctl enable pptpd
客户端之间互相ping通
通过以上配置客户端都可以连通了
客户端之间如果要互相访问需要增加配置
打开内核转发:
sysctl -w net.ipv4.ip_forward=1
开放iptables的转发规则,允许转发
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
centos安装客户端连接服务命令
yum install pptp pptp-setup
pptpsetup --create vpn --server 47.94.xx.xx --username xx --password xxx --encrypt --start
如果报错:LCP terminated by peer (MPPE required but peer refused)
需要执行命令:
modprobe nf_conntrack_pptp
modprobe nf_conntrack_proto_gre
echo 'require-mppe' >> /etc/ppp/peers/vpn1
再重新执行 pptpsetup --create vpn --server 47.94.xx.xx --username xx --password xxx --encrypt --start
windows下连接上之后无法访问外放解决办法