加载中…
个人资料
看看
看看
  • 博客等级:
  • 博客积分:0
  • 博客访问:30,668
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

OpenVPN的安装与启动

(2007-01-17 13:40:45)
分类: OpenVPN

从源码安装
缺省情况下,make install 将文件安装到/usr/local/bin,/usr/local/lib 等目录。可以使用--prefix指定安装前缀,使之安装到别的地方,例如--prefix=$HOME。

在LINUX 2.4+上生成RPM
可以直接从OpenVPN tarball文件编译一个RPM包:
 rpmbuild -tb [tarball]
这个命令将生成一个RPM包并将之放到系统的RPM目录(/usr/src/redhat/RPMS/i386/)。然后可以使用标准的RPM安装命令安装这一RPM:
 rpm -ivh [binary-rpm]
安装RPM时,它将安装sample-scripts/openvpn.init文件,这个文件可以用来在系统启动或关闭时自动启动或停止一个或多个OpenVPN隧道。openvpn.init基于/etc/openvpn下的OpenVPN .conf文件。更多信息请查看openvpn.init的注释。

安装RPM时会配置linux 2.4的TUN/TAP设备节点。

注意目前的openvpn.spec文件(指示怎样生成RPM)使能所有的选项,包括OpenSSL、LZO和pthread。这样,这些包必须在构建RPM之前提供,除非你修改了openvpn.spec文件。需要预先提供的RPM包是:openssl、openssl-devel、lzo、lzo-devel。

我的安装
下载lzo-1.08-4.0.rh9.rf.i386.rpm、lzo-devel-1.08-4.0.rh9.rf.i386.rpm并安装。
执行rpmbuild -tb openvpn-2.0.7.tar.gz生成rpm文件。
到/usr/src/redhat/RPMS/i386/找到openvpn-2.0.7-1.i386.rpm。执行
 rpm -Uvh openvpn-2.0.7-1.i386.rpm

安装后在/etc/rc.d/init.d/下有一个脚本openvpn。
在/etc/下有一个openvpn空目录。
在/usr/sbin/下有openvpn可执行程序。
/usr/share/下有openvpn目录,openvpn目录下有plugin目录。
/usr/src/redhat/BUILD/openvpn-2.0.7里是openvpn-2.0.7的源程序。

配置OpenVPN在系统启动时自动启动
如果你在linux下使用RPM包安装OpenVPN,那么安装后会自动产生一个启动脚本,当脚本执行的时候,会自动在/etc/openvpn目录下寻找后缀为.conf的配置文件,如果找到配置文件,自动为每个配置文件启动一个独立的OpenVPN进程.

把server.conf文件保存到/etc/opennvpn目录中,并把使用easy-rsa下的脚本生成的key都复制到/etc/openvpn目录下,命令如下: 
# cp keys/ca.crt ../
# cp keys/server.crt ../
# cp keys/server.key ../
# cp keys/dh1024.pem ../
# cp keys/ta.key ../
# cp /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so ../

启动openvpn服务后,用ps ax | grep openvpn查看进程启动信息,如下:
/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/server.pid --config server.conf --cd /etc/openvpn

状态文件
默认的server.conf文件有如下一行
    status openvpn-status.log
每分钟输出一次当前客户端的连接列表到文件openvpn-status.log。
我运行的一个openvpn上的openvpn-status.log内容
OpenVPN CLIENT LIST
Updated,Thu Dec 28 14:33:07 2006
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
elm,   192.168.0.114:1949,  18380,       7127,T    Thu Dec 28 14:25:19 2006
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
00:ff:24:4d:08:28,elm,  192.168.0.114:1949,Thu Dec 28 14:25:23 2006
GLOBAL STATS
Max bcast/mcast queue length,0
END

--log file      :将日志写到file,这一文件在打开时被创建/截尾。
--log-append file : 将日志追加到file,如果file不存在则创建它。

控制运行中的OpenVPN进程
Linux/BSD/Unix
OpenVPN接受下面几个信号:
SIGUSR1 – 有条件的重启,非root用户重启OpenVPN进程
SIGHUP  – 重启
SIGUSR2 – 输出连接统计到log文件或者系统log
SIGTERM, SIGINT – 退出
在配置文件中使用writepid参数指定将OpenVPN的pid写入的文件,(如果你用启动脚本启动OpenVPN,启动脚本可能已经在OpenVPN的命令行里为其设置了writepid参数)。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有