实验四 基于PPTP的远程VPN实现【网络安全】
前言
2023-5-7 23:10:12
以下内容源自《【网络安全】》
仅供学习交流使用
推荐
第27节 远程访问虚拟专网工作流程及实验演示
千锋网络安全教程:day20、10-远程访问VPN
Centos7搭建pptp一键安装脚本
Centos7.5 系统使用pptpd搭建服务器
实验四 基于PPTP的远程VPN实现
使用:
废话不多说,先上脚本地址:Centos7一键pptp
使用:
1、
wget http://files.cnblogs.com/files/wangbin/vpn_centos.sh
2、
chmod +x ./vpn_centos.sh
3、
./vpn_centos.sh
配置CentOS PPTP服务端
按照如下操作步骤,配置CentOS PPTP服务端。
1.远程登录ECS实例。
具体操作,请参见连接方式概述。
此处使用另外一个本地虚拟机
执行如下命令,完成PPTP服务端安装。
yum install -y ppp pptpd
回显如下图所示,表示PPTP服务端安装成功。
我这里pptpd没安装到
参考:Centos7.5 系统使用pptpd搭建服务器
在安装PPTPD服务之前,需要先更新一下yum源
(1)安装wget
yum install -y wget
(2)添加EPEL源:
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
(3)安装epel源:
rpm -ivh epel-release-latest-7.noarch.rpm
(4)检查是否添加到源列表中:
yum repolist
(5)更新源列表
yum -y update
(6)安装PPTPD:
yum install -y pptpd
6、设置×××内网IP段
vi /etc/pptpd.conf
将以下两行前面的#号删掉,配置×××内网的IP段,也可自行设置
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
7、配置opptions.pptpd
vi /etc/ppp/options.pptpd
(1)修改DNS:
修改dns服务的两行:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
(2)修改日志记录:
添加日志存放位置:
nologfd
logfile /var/log/pptpd.log #日志存放位置
8、设置×××账号密码:
编辑/etc/ppp/chap-secrets ,创建×××账号密码,
vim /etc/ppp/chap-secrets
备注:添加用户名密码的格式
用户名 pptpd 密码 * #每个字段之间用tab键隔开 *表示用任意IP连接×××都可以
在此建立两个账号
root pptpd 123 *
test pptpd 456 *
9、修改内核参数
编辑/etc/sysctl.conf 修改内核参数,支持内核转发
vim /etc/sysctl.conf
, 在最下面添加:
net.ipv4.ip_forward=1
输入命令生效:sysctl -p
10、修改防火墙设置:
(1)创建规则文件:
touch /usr/lib/firewalld/services/pptpd.xml
(2)修改规则文件
vim /usr/lib/firewalld/services/pptpd.xml
<?xml version="1.0" encoding="utf-8"?><service><short>pptpd</short><description>PPTP</description><portprotocol="tcp"port="1723"/></service>
(3)重启防火墙
systemctl start firewalld.service
(4)添加服务
firewall-cmd --permanent --zone=public --add-service=pptpd
(5)允许防火墙伪装IP:
firewall-cmd --add-masquerade
(6)开启 47和1723端口
firewall-cmd --permanent --zone=public --add-port=47/tcp
firewall-cmd --permanent --zone=public --add-port=1723/tcp
(7)允许grep协议:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT
(8)设置规则允许数据包由eth0 和ppp+接口中进出
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT
(9)设置转发规则,从源地址发出的所有包进行伪装,改变地址,由eth0发出
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 192.168.0.0/24
11、开启转发规则
转发规则有两种:
(1)XEN架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
(2)OpenVZ架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP //VPS公网IP 要换成你服务器的IP 比如 115.138.148.X
在此我使用的是XEN架构,在命令终端输入第一条命令:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
12、编辑rc.local文件,添加转发规则
(1)给rc.local执行权限
chmod +x /etc/rc.d/rc.local
(2)编辑rc.local文件
在文件最下面添加代码
使用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
在此使用的XEN架构。
vim /etc/rc.d/rc.local
13、重启服务
systemctl restart pptpd
firewall-cmd --reload
14、查看pptpd服务
ps -aux | grep pptpd
15、设置开机启动
systemctl enable pptpd
配置CentOS PPTP客户端
1.执行如下命令,安装PPTP软件包。
yum install -y ppp pptp pptp-setup
回显如下图所示,表示PPTP安装成功。
2.执行如下命令, 连接VPN服务端。
pptpsetup --create test --server [$IP] --username [$User] --password [$Password] --encrypt --start
说明
[$IP]、[$User]、[$Password]为VPN服务端的IP地址、用户名和密码。
pptpsetup --create test --server 192.168.253.156 --username root --password 123 --encrypt --start
回显如下图所示,表示已成功连接VPN服务端。
3.当系统提示已经被分配了192.168.0.234的客户端地址时,执行如下命令,可以看到ppp0网卡。
ifconfig | grep -A 10 ppp
4.执行如下命令,增加默认路由。
ip route replace default dev ppp0
回显如下图所示,表示命令执行成功。
5.增加路由后,您就可以访问VPN服务器。
常见问题
浏览器无法打开网页
搭建PPTP VPN后,测试可以连接,可以PING通网站域名,但浏览器无法打开网页。一般是MTU设置不正确导致的。请参考以下方案解决问题。
方案一
1.登录连接配置VPN的CentOS服务器。
2.输入执行
ifconfig ppp0 mtu 1472
命令。
通过浏览器测试是否能打开网页。当出现类似如下返回信息时,表示问题已经解决。
说明
此方案可以临时生效,如果您需要长期生效的方案,请完成方案二。
方案二
1.登录连接配置VPN的CentOS服务器。
2.输入执行vi /etc/ppp/ip-up命令,进入/etc/ppp/ip-up文件中。
3.在/etc/ppp/ip-up文件中添加ifconfig ppp0 mtu 1472 命令。
回显如下图所示,表示命令添加成功。
注意:重启服务
systemctl restart pptpd
firewall-cmd --reload
4.通过浏览器测试是否能打开网页。
当出现类似如下返回信息时,表示问题已经解决。
2023-5-8 13:45:52
最后
2023-5-7 23:22:35
你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。
祝大家逢考必过
点赞收藏关注哦
版权归原作者 日星月云 所有, 如有侵权,请联系我们删除。