`
wuhuizhong
  • 浏览: 684425 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

OPENVPN的安装配置笔记

 
阅读更多


确认是否开启了tun/tap
# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

下载软件包:
# cd /opt
wget http://pkgs.repoforge.org/lzo/lzo-2.06-1.el5.rf.x86_64.rpm
wget http://pkgs.repoforge.org/lzo/lzo-devel-2.06-1.el5.rf.x86_64.rpm
wget http://pkgs.repoforge.org/pkcs11-helper/pkcs11-helper-1.08-1.el5.rf.x86_64.rpm
wget http://pkgs.repoforge.org/openvpn/openvpn-2.2.2-1.el5.rf.x86_64.rpm

# rpm -qa lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper

# yum install lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper
Installed:
  openssl-devel.x86_64 0:0.9.8e-27.el5_10.1  pam-devel.x86_64 0:0.99.6.2-12.el5

Dependency Installed:
  e2fsprogs-devel.x86_64 0:1.39-36.el5_9
  keyutils-libs-devel.x86_64 0:1.2-1.el5
  krb5-devel.x86_64 0:1.6.1-70.el5_9.2
  libselinux-devel.x86_64 0:1.33.4-5.7.el5
  libsepol-devel.x86_64 0:1.15.2-3.el5
  zlib-devel.x86_64 0:1.2.3-7.el5

Updated:
  openssl.x86_64 0:0.9.8e-27.el5_10.1        pam.x86_64 0:0.99.6.2-12.el5

Dependency Updated:
  e2fsprogs.x86_64 0:1.39-36.el5_9      e2fsprogs-libs.x86_64 0:1.39-36.el5_9
  krb5-libs.x86_64 0:1.6.1-70.el5_9.2   zlib.x86_64 0:1.2.3-7.el5

# rpm -ivh lzo-2.06-1.el5.rf.x86_64.rpm lzo-devel-2.06-1.el5.rf.x86_64.rpm
# rpm -ivh pkcs11-helper-1.08-1.el5.rf.x86_64.rpm
# rpm -ivh openvpn-2.2.2-1.el5.rf.x86_64.rpm

配置openvpn服务(服务端)
# chkconfig --list openvpn

1) 初始化PKI(Public Key Infrastructure)
在/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0目录下,修改默认的变量vars
# cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
# vi vars
修改最后的几行的export的值自定义的值
export KEY_COUNTRY="CN"
export KEY_PROVINCE="GD"
export KEY_CITY="ZhongShan"
export KEY_ORG="SangXian"
export KEY_EMAIL="whz110@163.com"
export KEY_EMAIL=whz110@163.com
export KEY_CN=whz110
export KEY_NAME=whz110
export KEY_OU=whz110
export PKCS11_MODULE_PATH=whz110
export PKCS11_PIN=1234

# ln -s openssl-0.9.8.cnf openssl.cnf

# . vars
# chmod 777 *
# . vars
# ./clean-all

2) 创建私钥(ca private key)
# ./build-ca
由于刚配置了默认变量,故一路回车下去即可
完成后,在keys目录下生成1024位RSA私钥ca.key和ca.crt 两个文件

3) 创建服务器密钥(server key)
# ./build-key-server server
完成后,在keys目录下生成1024位RSA服务器密钥server.key、server.crt和server.csr 三个文件

4) 创建用户密钥(user private key)

 

5) 生成Diffie Hellman参数

# ./build-dh

完成后,在keys目录下生成dh参数文件dh1024.pem

 

将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys 目录下的所有文件复制到/etc/openvpn下

# cp /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/

# tar zcvf key.tar.gz keys

将生成的key.tar.gz下载备用

 

6)创建服务端配置文件server.conf

将/usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf复制到/etc/openvpn/目录下server.conf并修改以下参数

# cp /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/

# cd /etc/openvpn

# vi server.conf

    # TCP or UDP server?

    proto tcp

    ;proto udp

用分号注释proto udp,去掉proto tcp的分号注释,即使用tcp方式连接

    ;server 10.8.0.0 255.255.0.0

    server 192.168.18.0 255.255.255.240

改成自己使用的IP网络段

    user nobody

    group nobody

去除user nobody 和group nobody前的分号,使系统使用nobody用户启动openvpn进程

    log         openvpn.log

    ;log-append  openvpn.log

这两个建议去掉其中一个的分号,若不去除之一,openvpn的日志将写到系统日志中去。log项,每次启动将清空之前的openvpn.log;log-append项,日志是追加的(每次启动不清空之前的openvpn.log)

      

 7)设置允许IP转发

在/etc/openvpn目录下编写openvpn-startup文件,内容如下:

        # enable IP forwarding

        echo 1 > /proc/sys/net/ipv4/ip_forward

 

完成以上所有操作后,openvpn基本上就配置完成了。

使用service openvpn start 即可启动openvpn,而后可以看到openvpn的进程

# chmod 777 openvpn-startup 

# ps -ef | grep openvpn

nobody   27769     1  0 10:59 ?        00:00:00 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/server.pid --config server.conf --cd /etc/openvpn --script-security 2

 

使用ifconfig -a可以看到配置使用的openvpn接口tun0也已经启动

 

注:可能需要增加iptables的nat策略

# vi /etc/sysconfig/iptables 

在最上面加下nat表

iptables -t nat -A POSTROUTING -s 192.168.18.0/28 -o eth0 -j MASQUERADE

其中的网络地址与server.conf中的网络配置应一致

 

# service iptables status

 

查看端口是否开放允许连接

# iptables -L -n

# netstat -anpt 

 

 

3、配置openvpn客户端(windows)

在windows下安装 openvpn-2.2.2-install.exe

安装目录为

C:\Program Files\OpenVPN

 

1)加载密钥文件(用户user1,其它用户如user2则下载user2的用户密钥)

将服务端/etc/openvpn目录下的

user1.crt

user1.csr

user1.key

ca.crt

ca.key

文件下载到C:\Program Files\OpenVPN\config目录下

2)配置client.conf

将C:\Program Files\OpenVPN\sample-config\下的client.opvn复制到C:\Program Files\OpenVPN\config目录下,并修改之

    proto tcp

    ;proto udp

用分号注释proto udp,去掉proto tcp的分号注释,即使用tcp方式连接(与服务端相等)

    ;remote my-server-1 1194

    remote 112.124.71.227 1194

将服务器名改成实际的IP地址或者域名

    cert user1.crt

    key user1.key

cert和key改成实际用户user1的密钥

 

完成后即可使用 Openvpn GUI 与openvpn建立VPN连接。


       
 参考:
Linux下OPENVPN的安装配置
http://www.liaosnet.com/?post=45
如何在openvz上安装openvpn
http://www.centos.bz/2011/03/how-to-install-openvpn-on-openvz/
http://wiki.guoshuang.com/OpenVPN

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics