虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。微软的Windows2000里已经内置了VPN的支持。如何在Linux下实现呢?经过一下午的研究,终于搞定,其实蛮简单的。由于网上介绍LINUX下配置VPN的中文资料比较少,所以写了这篇贴上来,希望能给linuxforum的朋友们一点帮助。本人也是菜鸟,有不对的地方希望大家批评指正。
环境
1. 一台PC服务器安装RedHat7.2,双网卡连接内外两个网段,内部网卡IP为192.168.0.1/255.255.255.0,外部地址为固定合法IP地址。
2. 外地用户PC通过Internet和RH7.2主机建立vpn连接连入局域网。
一、下载pptpd-1.0.0-5.i386.rpm
PPTP(Piont-to-point Tunneling Protocol 点对点传输协议)是一个用以建立VPN的网络协议. 此协议需TCP(端口1723)和GRE以完成工作. RedHat公司对这个RPM包的解释是:A PPTP server daemon.
ftp://ftp.redhat.com/pub/redhat/lin....0.0-5.i386.rpm
二、安装:rpm -ivh pptpd-1.0.0-5.i386.rpm
安装后产生以下文件:
/etc/pptpd.conf
/usr/sbin/pptpctrl
/usr/sbin/pptpd
/usr/share/doc/pptpd-1.0.0
/usr/share/doc/pptpd-1.0.0/AUTHORS
/usr/share/doc/pptpd-1.0.0/COPYING
/usr/share/doc/pptpd-1.0.0/INSTALL
/usr/share/doc/pptpd-1.0.0/README
/usr/share/doc/pptpd-1.0.0/README.inetd
/usr/share/doc/pptpd-1.0.0/README.slirp
/usr/share/doc/pptpd-1.0.0/TODO
/usr/share/doc/pptpd-1.0.0/html
/usr/share/doc/pptpd-1.0.0/html/HOWTO-IPX+PPTP.txt
/usr/share/doc/pptpd-1.0.0/html/HOWTO-PoPToP.txt
/usr/share/doc/pptpd-1.0.0/html/setup_pptp_client.html
/usr/share/doc/pptpd-1.0.0/samples
/usr/share/doc/pptpd-1.0.0/samples/chap-secrets
/usr/share/doc/pptpd-1.0.0/samples/options
/usr/share/doc/pptpd-1.0.0/samples/pptpd.conf
你可以看看里面的说明和示例
三、修改:/etc/pptpd.conf的內容
speed 115200
option /etc/ppp/options
localip 192.168.0.200-238 (自己的 ip)
remoteip 192.168.0.100-200 (client 的 ip)
pidfile /var/run/pptpd.pid
四、修改:/etc/ppp/chap-secrets的內容
"sz" xxx.com "sz" 192.168.0.200
"china" xxx.com "china" 192.168.0.100
注:xxx.com是服务器名
五、修改:/etc/ppp/options的內容:
name xxx.com
auth
require-chap
proxyarp
六、最后运行:/usr/sbin/pptpd
经过这简单的几步,我们就ok了!用netstat -ln就可以看到已经有个1723的端口在监听了
Win98系统中VPN连接的设置我这里就不多说了,你可以看下面这个网页得到帮助:
http://www.ccidnet.com/tech/app/2001/10/22/58_3516.html
在上面的设置中,我将用户名设了两个,一个为sz,密码是sz,另一个为china,密码是china。单击“连接”按钮后便可以连到我们的专用网络里。我在局域网的机器上实验了一下,VPN服务器IP为192.168.0.1,连上后显示连接速度为10M,协议为challenge信号交换身份验证协议和TCPIP,分配给我的ip为192.168.0.200。呵呵,现在我一台机器有了两个IP了。挂断后换用china拨号,得到新的ip是192.168.0.100。
有一个要注意的地方,如果你的服务器使用的是拨号连接上网的方式,如adsl虚拟拨号或modem拨号,它们都要用到/etc/ppp下面的options等文件,上面的设置可能会有问题。你需要把pptpd需要使用的chap-secrets,options文件放在其他目录下,并在启动pptpd的时候加参数-c -o来指定它们的位置。/usr/sbin/pptpd --help说明了pptpd参数的用法。
要同时使用ipx协议的话请先看看/usr/share/doc/pptpd-1.0.0/html/HOWTO-IPX+PPTP.txt,里面说得很清楚了。
我的服务器上没有使用ipx协议,所以也没有进一步实验,有兴趣的朋友自己试试吧。