network

  IT博客 :: 首页 :: 联系 :: 聚合  :: 管理
  28 Posts :: 8 Stories :: 0 Comments :: 0 Trackbacks

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.net/mppe/kernel-mppe-2.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 

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

 

 

 

 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下载相关的拨号程序。

 

 

 

posted on 2008-06-07 07:45 network 阅读(1690) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。