Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->服务器相关 ->正文

基于linux操作系统架构openvpn总结

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]

使用OpenVpn,可以实现:

● 使用特定udp或tcp端口实现两台主机的之间的vpn连接。

● 实现C/S结构,实现多台client通过server服务器互连互通。

● 通过TLS/SSL加密保证数据传输的安全。

● 通过数据的压缩,提高数据传输的速度。

(由于其它功能在本文中并不需要使用,如想要详细了解请访问http://openvpn.net)

4.2 下载

从以下网址下载最新版本的openvpn source包。

http://nchc.dl.sourceforge.net/sourceforge/openvpn/openvpn-2.0_rc16.tar.gz

由于openvpn需要使用数据压缩,所以还需要安装lzo包:

http://www.oberhumer.com/opensource/lzo/download/lzo-1.08.tar.gz

4.3 安装

Linux:

代码:

软件 编译安装

Lzo ./configure Make && make install

Openvpn ./configure -prefix=/opt/openvpn Make && make install

FreeBSD:

代码:

Lzo ./configure Make && make install

Openvpn ./configure -prefix=/opt/openvpn --with-lzo-headers=/usr/local/include --with-lzo-headers=/usr/local/include Make && make install

参照上面的安装方法分别在linux和freebsd主机上安装好openvpn。

4.4 你的操作系统支持tun吗?

从我安装过的操作系统看,RedHat9.0和FreeBSD4.9的内核默认已经支持TUN,并且已经安装tun模块。RedHat AS3则没有该模块,需要重新编译内核支持。

加载tun模块:

●Linux 2.4 or higher (with integrated TUN/TAP driver):

(1) make device node: mknod /dev/net/tun c 10 200

(2a)add to: echo "alias char-major-10-200 tun" >> /etc/modules.conf

(2b) load driver: modprobe tun

(3) enable routing: echo 1 > /proc/sys/net/ipv4/ip_forward

●FreeBSD 4.1.1+:

kldload if_tap

4.5 配置C/S结构的VPN网络

4.5.1 怎么样生成ca和cert/key?

代码:

Ca certificate

authority(认证授权),所有的server和client均使用同一个ca文件。

cert certificate(证书)。公钥,每一个server和client各自独立生成的公钥。

key 私钥,每一个server和client工作独立生成的私钥。

◎ server端只需要知道它自己的cert和key。它不需要知道每一个可以连接到它的client的cert。

◎ server端接受的client必须拥有以server的CA产生的cert。server能使用它自己的CA私钥来确认client的cert中是否带有其CA的记号。

4.5.1.1 产生MASTER Certificate Authority(CA) 的公钥(certificate)和私钥(key)

#######

In this section we will generate a master CA certificate/key, a server certificate/key, and certificates/keys for 3 separate clients

#######

在本节,我们会尝试建立一对master CA的cert和key,一对server端的cert和key,和3个不同client的年的cert和keys。

UNIX:

在openvpn的源码中可以找到easy-rsa文件夹。

cd easy-rsa

. ./vars 建立环境变量 #这个地方很多人会弄错,两点之间是有空间的

./clean-all 清除以前的

./build-ca 建立CA

最后一个命令会调用openssl来创建CA的公钥和私钥:

代码:

Country Name (2 letter code) [KG]:

State or Province Name (full name) [NA]:

Locality Name (eg, city) [BISHKEK]:

Organization Name (eg, company) [OpenVPN-TEST]:yourcorp 在此输入公司名

Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server's hostname) []:hbroute 在此输入主机名或随便输一个名字

Email Address [me@myhost.mydomain]:

其它的按默认即可。

完成后会在keys目录中创建ca.crt ca.key index.txt serial四个文件。

4.5.1.2 创建server端的cert和key文件

cd easy-rsa

./build-key-server server

代码:

Country Name (2 letter code) [KG]:

State or Province Name (full name) [NA]:

Locality Name (eg, city) [BISHKEK]:

Organization Name (eg, company) [OpenVPN-TEST]:yourcorp 输入公司名

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:手把手教您配置Liunx目录服务器   下一篇:技术前沿:四种主要服务器虚拟技术

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号