经常在外办公,数据库又在公司内网服务器,叫公司的IT大爷来帮忙架个VPN又架了三个月都没个人影过来,于是准备自己动手。
在外,先叫公司的同事帮忙做了个ssh 22端口在路由器上映射,这样先能ssh到那台机器以便下一步操作。
第一步,下载相关安装包,进入/opt/soft/openvpn目录,下载以下2个包,版本可以用更新的。
# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz
# wget http://openvpn.net/release/openvpn-2.1_rc22.tar.gz
包不大,下载很快,然后解压
# tar -zxvf lzo-2.04.tar.gz
# tar -zxvf openvpn-2.1_rc22.tar.gz
分别进入两个目录,分别执行
# ./configure && make && make install
在configure openvpn时报错:configure: error: OpenSSL Crypto headers not found. 缺少OpenSSL组件。安装之,centos还是挺方便,如没报这个错就无视这一步
# yum -y install openssl-devel
再重新安装openvpn就可以安装了。到这一步,安装就成功结束了,接下来是配置。
二、配置
1. 用easy-rsa生成服务器证书客户端证书
# cp /opt/openvpn-2.1_rc22/easy-rsa/2.0 -r /etc/openvpn
# cd /etc/openvpn/2.0
编辑所需的参数再调用之
# vim vars
# source ./vars
下面这个命令在第一次安装时可以运行,以后在添加客户端时千万别运行,这个命令会清除所有已经生成的
证书密钥。
# ./clean-all
生成服务器端ca证书
# ./build-ca
生成服务器端密钥证书, 后面这个server-name就是服务器名,可以自定义。
# ./build-key-server server-name
一路Enter之后证书生成。
再依次生成所需客户端证书密钥文件:
# ./build-key client-name1
# ./build-key client-name2
再生成 diffie hellman 参数
# ./build-dh
创建并编辑服务器端配置文件
cp /opt/openvpn-2.1_rc22/sample-config-files/server.conf /etc/openvpn/
vi /etc/openvpn/server.conf
修改完成之后,以下面这个命令启动openvpn server
# /usr/local/sbin/openvpn --config /etc/openvpn/server.conf &
每次都运行上面这个命令有点麻烦,这里有一个script,把它复制到 /etc/init.d 文件夹下,可以实现启动,状态查询,重启等。该文件适应于CentOS 5.5, 如果密钥及配置文件位置不一样,也许要作一些小的修改。
再在rcX.d文件夹下作几个软链接就可以实现开机自动启动了。
也可以修改 /etc/rc.local文件实现开机启动。
密钥分发
把ca.crt 及相应client 的三个密钥证书文件一共四个分别分发出去就可以了。注意不需要将ca.key分发出去,
ca.key应该保密。
四、客户端配置
1. Linux
相应比较简单,安装好openvpn后,把收到的ca及lient文件放到相应的位置,配置好client.conf就可以了。
2. Windows
到openvpn官方网站下载windows安装包进行安装,在安装文件夹下有下个config文件夹,把你的ca及client文件放到该文件夹下,从sample-config下拷贝一个client.ovpn并作相应修改即可。
五、固定IP地址分配
在服务器端配置文件(server.conf)里取消下面行的注释:
;client-config-dir ccd
;route 10.8.0.0 255.255.255.252
在 /etc/openvpn文件夹下新建名为ccd文件夹,在ccd 文件夹里以客户名为名新建文件,内容格式如下:
ifconfig-push 10.8.0.20 10.8.0.120
客户端启动后即获得IP地: 10.8.0.20
但要注意上面格式只对linux有效,如果客户端为windows,则客户端会连接不成功。因为openvpn在windows下时,
其local IP 与 remote IP 必须在网址掩码为255.255.255.252的同一网段内,而且不能取头尾两端的IP,因此
一个openvpn连接在windows下最少要占用4个ip地址。
windows 下的 客户端IP配置必须为如下形式:
ifconfig-push 10.8.0.30 10.8.0.29
因为10.8.0.28/30网段包含以下IP: 10.8.0.28-31, 去除头尾,只有29与30可用。其他类推。
分享到:
相关推荐
Linux CentOS5.5 web配置
Centos5.5下Qt的安装配置
centOS5.5下java环境配置 centOS5.5下java环境配置 centOS5.5下java环境配置
CentOS 5.5安装全过程 这个介绍的很细的。
Centos5.5下安装LAMP完整版Centos5.5下安装LAMP完整版Centos5.5下安装LAMP完整版Centos5.5下安装LAMP完整版Centos5.5下安装LAMP完整版Centos5.5下安装LAMP完整版Centos5.5下安装LAMP完整版Centos5.5下安装LAMP完整版
linux centos 5.5 安装说明 linux centos 5.5 安装说明 linux centos 5.5 安装说明
集合网上资料和自身实际安装整理的centos5.5安装mysql5.5,文档中有5.5和5.6的下载地载,如果安装5.6还需要找一点资料。
centos5.5安装oracle10g: 自己写的文档,学习用的,供大家参考
Oracle CentOS5.5 命令行
CentOS5.5 安装nginx的详细步骤
CentOS 5.5使用yum安装Apache+PHP+MySQL 一、安装centos5.5操作系统 二、系统安装 三、安装Apache+php+Mysql 四、 配置防火墙 五、安装phpMyAdmin 六、安装php的扩展 七、安装apache扩展 八、如果想升级PHP的话
centos5.5 安装oracle10g centos5.5 安装oracle10g centos5.5 安装oracle10g
centos 5.5 虚拟机安装截图教程,可能安装过程中会因虚拟机版本和centos的版本区别有所不同,但是基本思路应该没变,希望对大家有用,我没资源分了,大家支持下让人赚点分吧,谢谢各位了
CentOS _ 5.5_ 图形安装教程(超详细).
CentOS 5.5提权exp
在 CentOS5.5b上安装LAMP
这个教程自己已经在centos5.5上一个个试...该文档包括apache的安装,php的安装和mysql的详细安装,先上传这个文档,后续继续上传centos5.5+nginx+php+mysql文档、负载均衡和mysql主主配置,希望能给大家一点帮助,谢谢
CentOS5.5安装oracle10g