发布时间:2023-09-04 10:46:41编辑:文明阅读(416)
说明:之前在windows下搭建vpn服务器时,只需要在网络上找相应的资料,就可以实现,不用管什么原理;今天实现在linux下搭建vpn服务器,以实现对内网的集群进行访问,发现用原来windows的老方法不行,还需要了解其中×××的原理才行;
概念:×××: virtual Private Network,又叫虚拟专用网络,vpn的功能是将因特网虚拟成企业网络来使用;×××网关采用双网卡结构,外网卡使用公网IP接入internet,内网卡使用保留地址作为内部IP地址
pptp:点到点隧道协议,是一种用于让远程用户拨号连接到本地的ISP,通过因特网安全远程访问公司资源的一种技术,它将ppp(点到点协议)帧封装成ip数据包,通过三次握手和四次挥手可以实现与×××功能,pptp使用tcp连接的创建,维护,与终止隧道,并使用gre(通用路由封装)将ppp帧封装成隧道数据
原理:外部的网络电脑(大部分为window客户机)使用系统自建的vpn拨号软件或×××设备来访问×××服务器,并进行三次握手和四次挥手,并比对×××帐号的正确性,进行确认,进而实现连接。
linux下×××配置过程:
1、先检查环境:
a.查看系统是否支持pptp:#modprobe ppp-compress-18 && echo success #如果输出为success则表示支持,如果显示其他的,请进行#yum install –y kernel-devel的安装
b.检查是否开户tun/tap : #正确的应该输出为:cat: /dev/net/tun: File descriptor in bad state
c.检查是否开启ppp: #正确地应该输出为:cat : /dev/ppp: no such device or address;最重要是这一步;
注:如果检查环境不能满足a,b,c三个条件,表示系统暂时不支持pptp;默认情况下,服务器都开启了ppp;
2、安装所需必要包
a.先安装epel源
#yum install –y epel-release #默认情况下会安装在/etc/yum.repos.d目录下,安装成功会产生文件epel-repo
b.再安装ppp pptpd软件
#yum install –y ppp pptpd net-tools #其中ppp,pptpd为关键软件,net-tools为所需要的补丁包;
3.配置
a.主配置文件
其基本配置文件/etc/pptpd.conf,要进行如下操作:
#cp /etc/pptpd.conf{,.default} #对配置文件进行备份,生成pptpd.conf.default
#sed –i ‘s#$#localip 10.0.0.27\nremoteip 172.16.1.40#g’ /etc/pptpd.conf #向配置文件pptpd.conf的文件末尾添加二行,就可以了;
#vim /etc/pptpd.conf
option /etc/ppp/options.pptpd #指定pptdp扩展属性配置文件options.pptpd
debug #开启调试模式,有关pptp的信息和错误会记录在/var/logs/message中,方便排错和调试;
stimeout 30 #设置客户端连接pptpd server时最长连接等待时间(连接超时时间):30秒
localip 10.0.0.27 #pptp服务器端ip,可以是内网,也可以是外网,我这里设置的是外网IP;
remoteip 172.16.1.40-50 #客户端成功连接×××获取的IP地址范围(最好在一个网段)
b.pptpd配置文件/etc/ppp/options.pptpd
#cp /etc/ppp/options.pptpd{,.default}
#sed –i ‘s#$#ms-dns 8.8.8.8\nms-dns 202.96.128.86#g’ /etc/ppp/options.pptpd //给×××客户端增加DNS配置;
c.设置pptpd vpn服务器访问的用户名和密码
#cp /etc/ppp/chap-secrets{,.default}
#sed –i ‘s#$#ppp * 123456 *#g’ /etc/ppp/chap-secrets //其中ppp * 123456 * 表示用户名 服务器名 密码 分配的IP地址,如果为*,表示随机分配
d.设置服务器允许IP转发内核
#sed –i ‘s#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g’ /etc/sysctl.conf
#sysctl –p
4.启动服务
#/etc/init.d/pptpd start
#chkconfig pptpd on
5.建立×××
6.配置iptables
#iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.027 #确保客户机连上×××后能正常上网
#iptables –t filter –A INPUT –p tcp –m state –state NEW –m tcp –dport 1723 –j ACCEPT #开放1723端口,允许转发
#iptables –P FORWARD ACCEPT
#service iptables save //保存iptables规则
7.访问其他服务器
1.连接pptp
找到文件C:\Users\用户名\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk
假如没有找到文件,可以打开C盘后,搜索文件“rasphone.pbk”,然后打开文件所在位置。
双击这个文件:
添加项目–》工作区网络(W)–》输入要连接的Internet地址
internet地址输入vpn服务器的ip
目标名称就是取个别名
然后用户名和密码输入vpn用户名和密码。
退出vpn连接,下面继续修改配置。
2.修改配置
使用记事本编辑文件 rasphone.pbk
找到 IpPrioritizeRemote=1,将之改成0就取消 “从远程网络上使用默认网关”
找到 IpDnsAddress= ,将之改成dns地址,可以改为8.8.8.8
然后保存退出。
双击运行rasphone.pbk
然后选择vpn,这时候不仅连接vpn了,也能访问网络了。
温馨提示:(大家如果感觉文件不好找到,每次打开很费事,可以右键-》创建桌面快捷方式,这样方便的连接pptp)
7
4
4
2
2