当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 在Linux下建立VPN服务器来做加密代理

Unix/Linux
mysql+httpd+gd+php+zend
automake 小回顾
unix黑客精神的最好诠释
www
sun t3存储的设置
RPM简明中文手册
Linux爱好者入门教程 序章 (持续更新)
第一章 Linux基础知识 (飘心)
linux下进程与线程
浅谈如何学习linux
第二章 Linux安装
硬件安装指南
Windows 2000 的桌面不見了的解決方法
部分的ADSL路由器默认帐号密码
如何设定安全log服务器呢?
iptables 规则速查
网友学习 Linux 的七点忠告
sniffer的含义及原理
Linux编程白皮书 第二章 内存管理
Linux编程白皮书 第二章 内存管理 2.1.1 请求调页 --2.1.5 访问控制

Unix/Linux 中的 在Linux下建立VPN服务器来做加密代理


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

一、背景

对VPN的分类什么的有个大概的了解,知道是个大概怎么回事,如果不大清楚的朋友可以google一下。本文就不对这些内容进行具体的介绍了。

目标系统:Red Hat Linux 9默认安装。

二、需求

说白了就是用肉鸡做加密代理。

1:对系统尽可能小的改变,包括添加文件和系统日志,因为我们用的是肉鸡。

2:是client-->server的模式,而不是net-net的模式,浏览网页而已。

3:无论server还是client都要配置方便,简单好用,我们要的是快速。

三、选型

1:*swan

A:ipsec vpn的代表,默认端口tcp/udp 500。

B:优点:加密强,对网络游戏什么的支持好(我们用不上)。

C:缺点:部署麻烦,配置麻烦,关键是他的nat-t,就是nat穿越功能需要打内核补丁,重新编译内核才行,这事在肉鸡做不得。大概的说说swan系列吧,最开始是freeswan,然后大概在2004年停止开发,衍生出openswan和strongswan两个分支,openswan发展的不错,strongswan连个rpm包都没。swan系列分两块,一个是用户空间程序,一个是内核空间程序。内核空间的包括模块和补丁,大概就那么回事。就是说,要做到nat-t,就需要用户空间程序,lkm和内核补丁,需要重新编译内核,这个我们在肉鸡没法做。还有他要用root运行。

2:pptpd

A:pptp vpn的典型代表,默认端口tcp 1723。

B:优点:Windows带了他的client,安装也方便,就几个rpm,配置也不难。

C:缺点:一拨进去他就会改缺省网关,很烦,要么拨进去自己route add/delete几下改改,一直别断开,看个网站犯得着那么麻烦吗。

3:openvpn

A:SSL VPN的典型代表,默认端口tcp/udp 1194。

B:优点:简单好装,一个rpm搞定,要压缩的话多一个lzo的rpm包。配置也是简单的很,就生成一个static.key,还可以chroot,并且可以以nobody运行,肉鸡的安全也是很重要的,保管不好就被抢了,不过chroot就没必要了,有兴趣的朋友可以自己搞搞。一下把要的东西都丢到一个地方然后加上配置文件就差不多了,再改改启动脚本。

还有就是拨进VPN之后,他不会改你默认网关,免去了折腾的烦恼,我们可以把sf.net的地址加到静态路由去。

在server那边只需要开一个udp or tcp端口就可以了,不怎么需要去动别人的iptables。

C:缺点:除了要额外装一个client之外,相对我们的需求来说基本没什么缺点了。

四、开始

1:安装client and server程序

[root@RH9 root]# rpm -ivh lzo-1.08-2_2.RHL9.at.i386.rpmwarning: lzo-1.08-2_2.RHL9.at.i386.rpm: V3 DSA signatur E: NOKEY, key ID 66534c2b Preparing... ########################################### [100%] 1:lzo ########################################### [100%] [root@RH9 root]# rpm -ivh openvpn-2.0.7-1.rh9.rf.i386.rpm warning: openvpn-2.0.7-1.rh9.rf.i386.rpm: V3 DSA signatur E: NOKEY, key ID 6b8d79e6 Preparing... ########################################### [100%] 1:openvpn ########################################### [100%]

2:服务端配置

[root@RH9 root]# cat > /etc/openvpn/server.conf dev tun ifconfig 10.8.0.1 10.8.0.2 secret static.key ; user nobody ;group nobody port 3389 ;comp-lzo ;;keep alive keepalive 10 60 ;ping-timer-rem persist-tun persist-key ;no-log ;verb 0 status /dev