当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 教您30分钟打造基于Linux的VPN服务器

Linux服务器
Linux Samba Server的配置详解
Linux系统下配置功能完善的Web服务器
Linux终端代理的设置方法介绍
Fodera Core 7系统下构建CVS服务器的方法
Linux进入系统时自动设置环境变量的方法
介绍GPG命令加密文件的方法
如何清理Linux系统中不需要的文件
Linux系统中两种替代“花生壳”的办法
Linux下配置 Tomcat+JDK+MySQL应用平台
Linux操作系统下RPM软件包的使用技巧
linux知识:htaccess
linux:.htaccess文件使用教程
Apache [forbidden 403]错误的解决办法
FreeBSD6.1快速安装配置Bugzilla2.22
访问网站403错误 Forbidden解决方法
httpd.conf文件配置详解
Apache中禁止IP段,在httpd.conf中的写法
apache禁止使用IP访问的实现方法
Apache中禁止以目录方式访问的设置
.htaccess学习笔记

Linux服务器 中的 教您30分钟打造基于Linux的VPN服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 34 ::
收藏到网摘: n/a


VPN(VirtualPrivateNetwork,虚拟专用网络)是专用网络的延伸,它可以通过共享Internet或公共网络连接模拟点对点专用连接的方式,在本地计算机和远程计算机之间发送数据。

它具有良好的保密性和不受干扰性,使双方能够进行自由而安全的点对点连接。下面介绍一种快速构建VPN服务器的方法。

安装软件

1.安装PPP

安装PPP(Point-to-PointProtocol,点到点协议)2.4.2以上的版本,可以到http://sourceforge.net/project/showfiles.php?group_id=44827下载ppp-2.4.3-0.cvs_20040527.1.i386.rpm软件包。

安装命令如下:

#rpm-Uvhppp-2.4.3-0.cvs_20040527.1.i386.rpm

2.安装内核MPPE补丁

安装内核MPPE(MicrosoftPointtoPointEncryption,微软点对点加密)补丁需要根据内核选择相应的版本。笔者使用的Linux内核是2.4.20-31.9版本,可以到http://pptpclient.sourceforge.net/mppe/kernel-mppe-2.4.20-31.9.i686.rpm下载相应的kernel-mppe-2.4.20-31.9.i686.rpm软件包。安装命令如下:

#rpm-ivhkernel-mppe-2.4.20-31.9.i686.rpm

用以下命令检查内核MPPE补丁是否安装成功:

#modprobeppp-compress-18

3.检查PPP是否支持MPPE

用以下命令检查PPP是否支持MPPE:

#strings'/usr/sbin/pppd'|grep-imppe|wc--lines

如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持。

4.安装PPTPD

到http://sourceforge.net/project/showfiles.php?group_id=44827下载pptpd-1.1.4-b4.i386.rpm软件包,并安装。

#rpm-ivhpptpd-1.1.4-b4.i386.rpm

修改配置文件

1.修改modules.conf文件

编辑/etc/modules.conf配置文件,加入如下内容:

aliasnet-pf-47ip_gre

2.修改pptpd.conf文件

编辑/etc/pptpd.conf配置文件,添加如下内容,确定本地VPN服务器的IP地址和客户端登录后分配的IP地址范围。

debug
option/etc/ppp/options.pptpd
localip192.168.0.254#本地VPN服务器的IP
remoteip192.168.1.1-254 #客户端被分配的IP范围

3.修改options.pptpd文件

编辑/etc/ppp/options.pptpd配置文件,替换成如下内容:

auth
lock
debug
proxyarp
lock
namerh9vpn#VPN服务器的名字
multilink
refuse-pap
refuse-chap
refuse-mschap
refuse-eap
refuse-mschap-v2
require-mppe
ms-wins192.168.1.2#把想要在网络邻居中看到的机器的IP填写到这里
ms-dns192.168.1.2#DNS服务器地址
dump
logfile/var/log/pptpd.log #日志存放的路径

4.修改chap-secrets文件

编辑/etc/chap-secrets配置文件,添加如下内容:

#clientserversecretIPaddresses
"[email protected]"* "test" *

上面第二行代码的四项内容分别对应第一行中的四项。“[email protected]”是Client端的VPN用户名;“server”对应的是VPN服务器的名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,或者设置成“*”号来表示自动识别服务器;“secret”对应的是登录密码;“IPaddresses”对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为“*”号。

5.设置IP伪装转发

只有设置了IP伪装转发,通过VPN连接上来的远程计算机才能互相ping通,实现像局域网那样的共享。用下面的命令进行设置:

#echo1>/proc/sys/net/ipv4/ip_forward

可以将这条命令放到文件/etc/rc.d/rc.local里面,以实现每次开机时自动运行该命令。

6.打开防火墙端口

将Linux服务器的1723端口和47端口打开,并打开GRE协议。

#/sbin/iptables-AINPUT-ptcp--dport1723-jACCEPT
#/sbin/iptables-AINPUT-ptcp--dport47-jACCEPT
#/sbin/iptables-AINPUT-pgre-jACCEPT

到这里Linux服务器的设置就完成了,下面将利用Windows客户端进行测试。

测试

下面以WindowsServer2003为例来进行测试。

1.新建连接

单击“开始→设置→网络和拨号连接”打开“网络和拨号连接”的窗口,再单击“新建连接”打开“网络连接向导”的窗口,然后依次选择或填写“连接到我的工作场所网络→虚拟专用网络连接→公司名(可以随便填写)→不拨初始连接→IP地址(填入VPN服务器的IP地址)”,最后单击“确定”,就建立了一个新的连接。

2.修改连接属性

右击刚才创建的连接,再依次单击“属性→网络(选择TCP/IP协议)→属性→高级”,然后把“在远程网络上使用默认网关”前面的勾去掉后单击“确定”。

3.建立连接

双击刚才建立好的连接,填入提前设置好的用户名和密码,单击“确定”进行连接。如果连接成功,在连接的“详细信息”里应该可以看到服务器所分配的IP地址等信息。这时,就可以跟连接进入的局域网里的其它计算机进行通信了。

如果客户端使用的仍然是Windows95或Windows98,则需要到http://support.microsoft.com/support/kb/articles/q285/1/89.asp下载相关的拨号程序。