网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网吧频道 > 网吧技术 > 组网建设 > VPN教程 之 OpenVPN使用  

VPN教程 之 OpenVPN使用

2006-09-04  作者:BitsCN  来源:中国网管联盟  点评 投稿 收藏

  简介 OpenVPN

网管网www_bitscn_com

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

网管下载dl.bitscn.com

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

网管网www.bitscn.com

  Note 1: VNN 和 OpenVPN 很像。 中国网管论坛bbs.bitsCN.com

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

网管论坛bbs_bitsCN_com

  安装 OpenVPN 网管联盟bitsCN_com

  Linux 下的安装 网管联盟bitsCN_com

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

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

  Windows 下的安装

中国网管联盟bitsCN.com

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

网管下载dl.bitscn.com

  配置 OpenVPN 中国网管联盟bitsCN.com

  配置 OpenVPN Server 网管网www.bitscn.com

  只说明在 Linux 下的配置。Windows 类似。创建 /etc/vpn/server.conf,内容如下: 中国网管联盟bitsCN.com

  port 1494
  proto udp
  dev tun
  ca ca.crt
  cert server.crt
  key server.key
  dh dh1024.pem

网管网www.bitscn.com

  server 10.1.0.0 255.255.255.0 网管论坛bbs_bitsCN_com

  push \"route 10.1.0.0 255.255.255.0\"
  push \"route 10.1.1.0 255.255.255.0\" 中国网管联盟bitsCN.com

  client-config-dir /etc/vpn/ccd
  route 10.1.1.0 255.255.255.0 网管联盟bitsCN_com

  client-to-client

中国网管联盟bitsCN.com

  keepalive 10 120 网管联盟bitsCN@com

  user nobody
  group nobody

网管联盟bitsCN@com

  persist-key
  persist-tun

中国网管论坛bbs.bitsCN.com

  log-append openvpn.log
  verb 3

网管联盟bitsCN_com

  其中 ca.crt, server.key,server.crt 可以用以前贴出的 ca 工具创建,dh1024.pem 用 OpenVPN 自带的工具创建。 网管u家u.bitscn@com

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

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

网管网www_bitscn_com

  ifconfig-push 10.1.1.5 10.1.1.6

网管联盟bitsCN@com

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

中国网管联盟bitsCN.com

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

  配置 OpenVPN Client

网管u家u.bitsCN.com

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

网管论坛bbs_bitsCN_com

  client
  dev tun
  proto udp
  remote vpn_server_ip 1494 网管网www_bitscn_com

  ca ca.crt
  cryptoapicert \"SUBJ: abc\"

网管论坛bbs_bitsCN_com

  nobind
  persist-key
  persist-tun
  verb 2 中国网管论坛bbs.bitsCN.com

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

中国网管论坛bbs.bitsCN.com

  关键是 cryptoapicert \"SUBJ: abc\" 这行。这一行指定客户端的数字证书从 Windows 证书 Store 里取。在 IE 的“选项 -> 内容 -> 证书”页面能看到你的个人数字证书。SUBJ:abc 指明选择证书主题中含有 abc 的证书。客户端数字证书也可以用以前贴的 ca 工具生成,如果要给用户 abc 签发数字证书,只用指明 Common Name 是 abc 即可,然后把生成的 abc.p12 传给 abc 用户并告诉导入口令。abc 导入这个数字证书后,VPN Client 就可以工作了。

中国网管论坛bbs.bitsCN.com

  启动 OpenVPN 网管网www_bitscn_com

  服务端启动 网管联盟bitsCN@com

  在 /etc/vpn 目录下,执行: 网管网www.bitscn.com

  openvpn --daemon --config server.conf

网管论坛bbs_bitsCN_com

  客户端启动 网管u家u.bitsCN.com

  OpenVPN 带一个 GUI 小工具,会装在系统托盘里。点菜单里的 connect 即可。

网管网www_bitscn_com

  常见问题

网管下载dl.bitscn.com

  无法得到 IP 地址 网管论坛bbs_bitsCN_com

  通常是因为 DHCP Client 服务没有启动。在服务管理里启动即可。
网管网www_bitscn_com


TAGs   使用   教程   abc   OpenVPN   证书   VPN   配置   Client   目录   数字      
 上一篇:布线:120台电脑的网吧布线实战详解   下一篇:常用IM典型登录方式及原理分析
VPN教程 之 OpenVPN使用 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: