Linux的VPN服务器

来源:zol 

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

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

  安装软件

  1.安装PPP

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

  安装命令如下:

  #rpm -Uvh ppp-2.4.3-0.cvs_20040527.1.i386.rpm

  2.安装内核MPPE补丁

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

  #rpm -ivh kernel-mppe-2.4.20-31.9.i686.rpm

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

  #modprobe ppp-compress-18

  3.检查PPP是否支持MPPE

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

  #strings ‘/usr/sbin/pppd’ grep -i mppe wc –lines

  4.安装PPTPD

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

  # rpm -ivh pptpd-1.1.4-b4.i386.rpm

  修改配置文件

  1.修改modules.conf文件

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

  alias net-pf-47 ip_gre

  2.修改pptpd.conf文件

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

  debug

  option /etc/ppp/options.pptpd

  localip 192.168.0.254 #本地VPN服务器的IP

  remoteip 192.168.1.1-254 #客户端被分配的IP范围

  3.修改options.pptpd文件

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

  auth

  lock

  debug

  proxyarp

  lock

  name rh9vpn #VPN服务器的名字

  multilink

  refuse-pap

  refuse-chap

  refuse-mschap

  refuse-eap

  refuse-mschap-v2

  require-mppe

  ms-wins 192.168.1.2 #把想要在网络邻居中看到的机器的IP填写到这里

  ms-dns 192.168.1.2 #DNS服务器地址

  dump

  logfile /var/log/pptpd.log #日志存放的路径

  4.修改chap-secrets文件

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

  # client server secret IP addresses

  ”test@gd.cn” * “test” *

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

  5.设置IP伪装转发

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

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

  6.打开防火墙端口

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

  #/sbin/iptables -A INPUT -p tcp –dport 1723 -j ACCEPT

  #/sbin/iptables -A INPUT -p tcp –dport 47 -j ACCEPT

  #/sbin/iptables -A INPUT -p gre -j ACCEPT

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

  测试

  下面以Windows Server 2003为例来进行测试。

  1.新建连接

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

  2. 修改连接属性

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

  3.建立连接

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

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



评论权限被关闭.



赞助商

文章索引模板

好友推荐链接

强力推荐链接

分类目录

   

统计信息

Translator

Chinese (Simplified) flagItalian flagKorean flagChinese (Traditional) flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croatian flagDanish flagFinnish flagPolish flagSwedish flagNorwegian flag          

标签

专利战 世界 中国 为什么 介绍 使用 公司 分析 利用 功能 原谅我红尘颠倒 发现 天涯 如何 实现 工具 慕容雪村 技术 插件 搜索引擎 支持 数据库 文件 方式 时间 服务器 用户 简单 系统 网站 美国 解决 谁的心不曾柔软 进行 部分 问题 AJAX blog Google LAN Linux MySQL PHP plugin WordPress

热门浏览