vpn 介绍
VPN(全称Virtual Private Network)虚拟专用网络。
依靠ISP和其他的NSP,在公用网络中建立专用的数据通信网络技术,可以为企业之间或者个人与企业之间提供安全的数据传输隧道服务。
VPN应用分类
1.远程访问VPN服务
员工个人电脑通过远程拨号到企业办公网络,如公司的OA系统。
运维人员远程拨号到IDC机房,远程维护服务器。
2.企业内部网络之间VPN服务
公司分支机构的局域网和总公司的LAN之间的VPN连接,如各大超市之间的业务结算等。
3.互联网公司多IDC机房之间VPN服务
不同机房之间业务管理和业务访问,数据流动。
4.企业外部VPN服务
在供应商,合作伙伴的LAN和本公司的LAN之间建立的VPN服务。
5.访问国外的网站
×××业务应用。
PPTP协议介绍
PPTP(Point to Point Tunneling Protocol,点对点隧道协议)默认端口号:1723,工作在应用层。并且还有使用GRE协议,因为大家使用防火墙的时候不仅要开放1723端口,还要允许GRE协议通过。
PPTP协议是点对点隧道协议,其将控制包与数据包分开,控制包采用TCP控制。PPTP使用ICP协议,适合在没有防火墙限制的网络中使用。比较适合远程的企业用户拨号到企业内部进行办公等的应用。
部署vpn
PPTP使用PPP协议对用户数据进行封装,然后将PPP数据帧封装在IP数据报里,经由IP网络传播。因此首先需要支持PPP协议,我们使用的完整版CentOS已经自带了ppp这个软件包。有了PPP协议支持,接下来安装pptpd。首先到这里找到最新版适合你的平台的pptpd。CentOS与RHEL通用。
# yum install pptpd ppp
配置ppp 和pptp 的配置文件
vim /etc/ppp/options.pptpd
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
修改为:
ms-dns 8.8.8.8
ms-dns 223.5.5.5
配置ppp vpn 账号和密码
vim /etc/ppp/chap-secrets
设置 VPN账号 + 服务类型 + VPN密码 + IP
# Secrets for authentication using CHAP
# client server secret IP addresses
waibu01 pptpd waibu01@2018 *
账号为waibu01;密码为waibu01@2018
配置pptd
VPN可以这样理解,Linux客户端使用一个虚拟网络设备ppp0(Windows客户端也可以理解成VPN虚拟网卡),连接到服务器的虚拟网络设备ppp0上,这样客户端就加入了服务器端ppp0所在的网络。localip就是可以分配给服务器端ppp0的IP地址,remoteip则是将要分配给客户端ppp0(或者虚拟网卡)的。这两项都可以是多个IP,一般localip设置一个IP就行了,remoteip则视客户端数目,分配一段IP。其中remoteip的IP段需要和localip的IP段一致。localip和remoteip所处的IP段可以随意些指定,但其范围内不要包含实际网卡eth0的IP地址
#connections 100
localip 172.16.0.1
remoteip 172.16.1.100-110
打开内核的ip 转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 sysctl -p
开启pptpd 服务:systemctl start pptpd.service
netstat -tunlp|grep 1723
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 10854/pptpd
脚本优化,显示登录登出信息
vim /etc/ppp/ip-up
…………
echo "$PEERNAME 分配IP: $5 登录IP: $6 登录时间: `date -d today +%F_%T`" >> /var/log/pptpd.log
vim /etc/ppp/ip-down…………
echo "$PEERNAME 下线IP: $6 下线时间: `date -d today +%F_%T`" >> /var/log/pptpd.log
win 10 系统设置
1、进入控制面板
如果不设置上面这一步,会出现vpn 能链接上,但是本机无法上网的情况