当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > OpenVPN在Linux下的安装配置和使用简介

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 OpenVPN在Linux下的安装配置和使用简介


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

OpenVPN是一个基于OpenSSL库的应用层VPN实现。和传统VPN相比,它的优点是简单易用。

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

Note1:VNN和OpenVPN很像。

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

安装OpenVPN

Linux下的安装

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

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

Windows下的安装

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

配置OpenVPN

配置OpenVPNServer

只说明在Linux下的配置。Windows类似。创建/etc/vpn/server.conf,内容如下:

以下为引用的内容:

  port1494
  protoudp
  devtun
  caca.crt
  certserver.crt
  keyserver.key
  dhdh1024.pem
  server10.1.0.0255.255.255.0
  push"route10.1.0.0255.255.255.0"
  push"route10.1.1.0255.255.255.0"
  client-config-dir/etc/vpn/ccd
  route10.1.1.0255.255.255.0
  client-to-client
  keepalive10120
  usernobody
  groupnobody
  persist-key
  persist-tun
  log-appendopenvpn.log
  verb3

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

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

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

ifconfig-push10.1.1.510.1.1.6

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

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

配置OpenVPNClient

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

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

关键是cryptoapicert"SUBJ:abc"这行。这一行指定客户端的数字证书从Windows证书Store里取。在IE的“选项->内容->证书”页面能看到你的个人数字证书。

SUBJ:abc指明选择证书主题中含有abc的证书。客户端数字证书也可以用以前贴的ca工具生成,如果要给用户abc签发数字证书,只用指明CommonName是abc即可,然后把生成的abc.p12传给abc用户并告诉导入口令。abc导入这个数字证书后,VPNClient就可以工作了。

启动OpenVPN

服务端启动

在/etc/vpn目录下,执行:

openvpn--daemon--configserver.conf

客户端启动

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

常见问题

无法得到IP地址

通常是因为DHCPClient服务没有启动。在服务管理里启动即可。