Centos7安装PPTP-VPN
临近节假日大批量员工离岗,部分部署在内网的业务没有进行公网映射,需要进行访问,如果每一个业务都进行映射也不是很安全。故此在内网搭建PPTP作为VPN来访问内网。
一、前期准备工作
1.安装好Centos7操作系统,配置好网络。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=66366608-0996-463c-98ff-d5450d81d9f2
DEVICE=eth0
ONBOOT=yes ##这里配置网卡启用把no改为yes
IPADDR=192.168.1.254 ##这里配置静态IP地址
PREFIX=24 ##这里配置子网掩码
GATEWAY=192.168.1.1 ## 这里配置网关
IPV6_PRIVACY=no
DNS1=202.106.0.20 ##这里配置DNS
DNS2=114.114.114.114
PEERDNS=no
保存退出重启网络服务
systemctl restart network
2.关闭和禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3.查看是否支持PPTP
modprobe ppp-compress-18 && echo yes
回显yes表示支持
4.更新软件包和依赖
yum -y update
5.安装epel源
yum install epel-release -y
6.安装vim编辑器
yum -y install vim
二、安装PPP和PPTP
yum -y install ppp
yum -y install pptpd
三、修改配置文件
1.配置服务端地址
vim /etc/pptpd.conf
localip 配置PN服务器的本地IP地址 192.168.1.254
remoteip 配置VPN客户端分配的IP地址段 10.99.99.2,10.99.99.253
2.配置DNS地址
vim /etc/ppp/options.pptpd
3.配置客户端用户密码等信息
vim /etc/ppp/chap-secrets
client 配置用户名
server 配置服务类型 这里我们使用pptpd
secret 配置用户密码
IP addresses 配置用户获取地址 * 代表分配任意的ip
数据之间用tab隔开
4.规则配置
vim /etc/sysctl.conf
在末尾添加以下命令,启用IPv4数据包转发功能
net.ipv4.ip_forward = 1
这里需要注意的是sysctl.conf打开后只有上半部分蓝色的注释需要将下面的整段配置粘贴进来,否则可能导致拨号连接失败。
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
kernel.sysrq = 1
报讯退出后sysctl -p 更改生效
sysctl -p
5.创建规则文件
vim /usr/lib/firewalld/services/pptpd.xml
添加如下信息
<?xml version="1.0" encoding="utf-8"?><service><short>pptpd</short><description>PPTP</description><port protocol="tcp" port="1723"/></service>
6.添加网络规则
开启NAT
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
开启端口连通
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 10.99.99.0/24 -j TCPMSS --clamp-mss-to-pmtu
这里很重要 ,可能会造成无法上网。
允许通过 TCP 协议访问 1723 端口
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
允许通过GRE协议访问
iptables -A INPUT -p gre -j ACCEPT
保存配置
service iptables save
7.修改MTU值
vim /etc/ppp/ip-up
添加 ifconfig $1 mtu 1356
如果mtu默认值为1500 修改为1356
8.重启服务
重启iptables、设置开机自启动
systemctl restart iptables
systemctl enable iptables
重启pptpd、设置开机自启动
systemctl restart pptpd
systemctl enable pptpd
三、防火墙、阿里云配置
如果有公网IP并部署在本地的配置一下防火墙NAT规则
如果部署在阿里云上的配置一下安全组
1.配置防火墙
2.阿里云配置安全组
四、客户端拨号测试
以Windows10为例,打开网络设置找到VPN,添加VPN连接,具体设置如下。