Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->Linux安全 ->正文

OpenVPN 配置和使用

来源:dream4ever 作者:lgx  时间:2007-04-22 点击: [收藏] [投稿]
简介 OpenVPN

OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。详细信息可以参考 http://www.openvpn.net



这里简单介绍一下基于 CA ,采用数字证书认证,可以划分多个网段的 OpenVPN 配置方法。



Note 1: VNN OpenVPN 很像。

Note 2: 这个东西对于突破国内网络封锁,保护通信自由很有意义,值得大力推广。

安装 OpenVPN

Linux 下的安装

首先,Kernel 必须支持 TUN/TAP 设备。在 2.6.x 内核中,对应的 Kernel 选项是 Universal TUN/TAP device driver support”。

确认 Kernel 支持 TUN/TAP 后,可以下载 OpenVPN 编译并安装。这一步很 easy,不多说了。

Windows 下的安装

http://www.openvpn.se 下载安装包安装,这里的安装包带一个 Client GUI 工具,很好用。

配置 OpenVPN

配置 OpenVPN Server

只说明在 Linux 下的配置。Windows 类似。创建 /etc/vpn/server.conf,内容如下:
port 1494
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem

server 10.1.0.0 255.255.255.0

push "route 10.1.0.0 255.255.255.0"
push "route 10.1.1.0 255.255.255.0"

client-config-dir /etc/vpn/ccd
route 10.1.1.0 255.255.255.0

client-to-client

keepalive 10 120

user nobody
group nobody

persist-key
persist-tun

log-append openvpn.log
verb 3



其中 ca.crt, server.key,server.crt 可以用以前贴出的 ca 工具创建,dh1024.pem OpenVPN 自带的工具创建。



这个配置文件创建了两个网段:10.1.0.* 10.1.1.*VPN 服务器将从这两个网段中给 Client 分配 IP 地址。VPN Server 自身 IP 将是 10.0.0.1

client-config-dir”指明 Client 的专有配置文件目录。在这个目录下可以针对特定用户建立配置文件。例如,要为用户 abc 指定一个 IP 地址(如10.1.1.5)而不是让 VPN Server 自动分配,可以在配置目录/etc/vpn/ccd下建立一个 abc 文件,内容如下:

ifconfig-push 10.1.1.5 10.1.1.6



那么 VPN Server 就会自动给 abc 用户分配 10.1.1.5 这个地址。注意第一个IP地址 的最后一个数字(这里是 5)必须是 4*n + 1 的数。


问题是,VPN Server 怎么知道哪个用户是 abc 呢?它是 Client 数字证书中的 Common Name 域来判断的。就是说,在连接协商时如果 Client 端数字证书的 Common Name abc,那么 VPN Server 就找配置目录下 abc 这个文件。


配置 OpenVPN Client

Client 机器上 OpenVPN 安装目录的 config 目录下建立如下 client.ovpn 文件:


client
dev tun
proto udp
remote vpn_server_ip 1494

ca ca.crt
cryptoapicert "SUBJ: abc"

nobind
persist-key
persist-tun
verb 2




修改 remote 一行填上对应 VPN Server IP 端口。ca.crt 和服务端 ca.crt 一样,必须把这个 ca.crt 也放在 config 目录下。



关键是 cryptoapicert "SUBJ: abc"

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



上一篇:使用Rsync和SSH实现Snapshot型增量备份   下一篇:使用 lsof 查找打开的文件

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