LINUX操作系统下部署VPN服务器

作者:Admin    更新时间:2009-6-17 16:17:38

VPN虚拟专网。在传输数据的过程中对数据进行了加密,尽管这些数据在公共网络上传输,其安全性还是很高的。带VPN功能的硬件设备还是卖得很欢的,有些防火墙厂商还拿它的VPN功能作卖点呢。在这里我们不关注硬件VPN,只讲Linux下的VPN。没办法,因为要涉及到LINUX下的VPN,我也是第一次在LINUX下测试VPN,所以查阅了半个internet的资料,有点夸张吧,大多资料仅仅是无限的复制别人的文章,很多都有明显的错误,简直看的我要骂人了。hoho....
开始,实战..来些实在的,
1、安装VPN 包。
需要dkms-2.0.10-2.fc5.noarch.rpm, kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm , ppp-2.4.3-9.2.i586.rpm 和 pptpd-1.3.1-0.i386.rpm这几个rpm包。然后分别执行命令 # rpm –ivh dkms-2.0.10-2.fc5.noarch.rpm ; rpm –ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm ; rpm –ivh ppp-2.4.3-9.2.i586.rpm ; rpm –ivh pptpd-1.3.1-0.i386.rpm 完成安装。
2、配置VPN服务。
有两个文件需要修改:主配置文件/etc/pptpd.conf 和VPN用户帐号文件/etc/ppp/chap-sescrets。主配置文件需要设置VPN服务器的本地地址和分配给客户端的地址段,因此只需在主配置文件中手动追加localip和remoteip两行就算完成配置任务。帐号文件保存VPN客户端拨入需要的验证信息,其格式是:
用户名 服务 密码 分配给用户的口令
其中用户名,密码,分配给用户的IP地址要用双引号括起来,“服务”一般是pptpd。作为参照,下面给出一个pptpd.conf及chap-secrets的实例:

# more /etc/pptpd.conf

localip 192.168.1.254(服务器ip)

remoteip 192.168.1.230-240(分配给客户机的地址池)

# more /etc/ppp/chap-screts

“guoxing”(用户名) pptpd “guoxing”(密码) “*”(从地址池取ip)

“public” pptpd “wgzx” “192.168.1.202”(可以指定分配给客户端的ip)

3、客户端的配置。
使用windows的网络连接向导,只要选择“通过ineternet连接到专用网络(V)”,一步步下去即可配置完成。注意:VPN服务器的IP要填写全球唯一单播地址,即网关服务器的eth0的地址。
4、启用VPN服务。
再启用VPN之前确认内核的IP转发功能已经打开,然后执行命令 # service pptpd start 启用VPN等待远程用户接入。 (这个也很重要的环节)
PS:最开始的时候是从网上下载vpn所需的四个软件包,在开源社区下载的,但是死活装不上,感觉异常奇怪,后来从另一个渠道得到了这四个软件包,发现比开源社区提供的文件要大很多,最后也装上了,所以切勿迷信名气。另外里面设置的vpn服务器的地址是一个本地地址,相当于eth0的地址,连接内网,而作为客户端连接的时候,需要输入这台vpn服务器eth1的地址(必须是全球唯一的),这台服务器linux服务器也要实现包转发。

哈哈,测试下你就体验到了。

上一篇:linux机器之间ssh不用输密码的方法
下一篇:使用Nginx作为Web服务器的国内网站
网友评论
相关文章
站长推荐