VPN介绍

虚拟私人网络(英语:Virtual Private Network,缩写为VPN)是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。虚拟私人网络的讯息透过公用的网络架构(例如:互联网)来传送内部网的网络讯息。它利用已加密的通道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果。这种技术可以用不安全的网络(例如:互联网)来发送可靠、安全的消息。需要注意的是,加密消息与否是可以控制的。没有加密的虚拟专用网消息依然有被窃取的危险。

VPN的实质就是利用加密技术在公用网上面封装出一个数据通讯隧道。

VPN

搭建pptp

1、检查系统是否支持ppp

[root@centos6 ~]# cat /dev/ppp

cat: /dev/ppp: No such device or address

如果出现以上提示则说明ppp是开启的,可以正常架设pptp服务,若出现Permission denied等其他提示,你需要先去VPS面板里看看有没有enable ppp的功能开关。

2、设置内核转发,开启路由转发

[root@centos6 ~]# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@centos6 ~]# sysctl -p 查看

3、安装pptp

3.1、检查是否支持PPTP

modprobe ppp-compress-18 && echo ok #返回OK

zgrep MPPE /proc/config.gz #返回CONFIG_PPP_MPPE=y 或 =m

cat /dev/net/tun #返回cat: /dev/net/tun: File descriptor in bad state

以上三条命令满足一条即为支持PPTP

3.2、安装PPP

yum install -y ppp

3.3、安装PPTPD

3.3.1、添加EPEL源:

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

3.3.2、安装EPEL源:

rpm -ivh epel-release-latest-7.noarch.rpm

3.3.3、检查是否已添加到源列表中:

yum repolist

3.3.4、更新源列表:

yum -y update

3.3.5、安装PPTPD:

yum install -y pptpd

4、编辑/etc/pptpd.conf设置内网IP段

最后IP设置改为:

localip xxx.xxx.xxx.xxx #本机公网

remoteip 192.168.1.0-255 #分配给VPN 客户端的地址(就是自己本机的局域网的IP地址范围)

5、配置账号文件

vi /etc/ppp/chap-secrets

client(客户端登录账号) server(服务) secret(密码) IP addresses(ip范围)

mytest pptpd 456789 * (允许所有ip)

6、启动服务

systemctl start pptpd

7、检查服务是否开启

ps -ef |grep pptpd #会看到有两个

ss -nutlp |grep pptpd #会看到打开的端口是1723

8、设置 SNAT 规则

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

这样就可以了,可以用客户端测试下是否可以连接

如果有问题,可以查看下日志

tail -200 /var/log/messages

服务器如果重启的话,需要重启一下服务

systemctl start pptpd