今天我们来配置vpn 中的pptpd。点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术。
实验环境: 无法上网的客户端通过连接 vpn 实现上网功能。实验ip如下图
默认情况下,本地yum包里是没有pptpd 的安装包的,我们需要安装EPEL。
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm#下载epel
#如果没有系统 wget的话,那就进行安装 yum install wget -y
rpm -ivh epel-release-latest-7.noarch.rpm#解压
yum repolist ##检查是否已添加至源列表
yum install ppp pptpd -y#安装
localip 192.168.86.20 #主机的内网IP
remoteip 192.168.23.30-38 #主机的外网IP
打开 vim/etc/ppp/chap-secrets 添加如下内容
"tang"pptpd"123456"*
#tang是用户名,123456是密码 ,*代表获取上面remoteip地址池中的任意IP
打开 vim /etc/ppp/options.pptpd 添加以下内容
ms-dns 192.168.23.2
ms-dns 202.96.128.166
#这里是配置dns,由于我的实验环境是虚拟机nat外网,所以配置如上。请根据你的环境配置NDS
建议大家先关闭防火墙。等客户端测试好了后,再开启防火墙,允许pptp服务通过
systemctl restart pptpd#重启服务
systemctl stop firewalld#关闭防火墙
客户端测试
这个是我没连接vpn前的环境,连网关都没有,是无法上网的
点击网络和共享中心 > 设置新的连接或网络 > 连接到工作区 > 使用我的Internet 连接(VON)(I) >我将稍后设置Internet 连接
已经连接上vpn 了,我们来看看能不能上网。
发现是可以上网的
我们接着回会到linux服务器去,把防火墙开起来,会发现客户端连接不上了,因为防火墙还没允许pptp
我们来允许吧,命令如下
firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade
firewall-cmd --query-masquerade
firewall-cmd --permanent --zone=public --add-port=1723/tcp
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -i eno33554992 -p gre -j ACCEPT
firewall-cmd --reload
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
注:前面安装epel 参考至linux公社:http://www.linuxidc.com/Linux/2015-10/124002.htm