Nov 282013
 

以前基本都是为了学习去配置Openvpn,不过这次真的是到实际需求,需要使用Openvpn,也就下工夫好好整理一下。

各种的中文的文档,让人很晕。还是看官方文档 http://openvpn.net/index.php/open-source/documentation/howto.html#quick

需求很简单。在家里需要通过Openvpn访问到公司的内网,可以访问公司内网我实验的服务器,同时我上网,还是走我自己的网络。

vpn服务器

  • 内网IP(eth0)172.28.0.1/16
  • 公网IP地址(eth1):172.31.114.28/24

我从家里连接到公网的IP地址。可以访问到我的内网的机器。

设置源

直接使用EPEL的源就可以。

安装Openvpn

yum -y install openvpn

由于搬迁的问题,证书的生成工具,现在需要单独安装.

yum -y install easy-rsa

设置OpenVPN

把需要用到的配置文件,复制到 /etc/openvpn目录下。

cp -R /usr/share/easy-rsa/ /etc/openvpn/
cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn

这个时候,就可以开始创建证书

cd /etc/openvpn/easy-rsa/2.0
. vars
./clean-all
./build-ca

一路回车就可以.

给vpn服务器创建 server的key

./build-key-server server

最后两个步骤,需要你选择y,就可以。需要输入2次y。

给用户创建一个秘钥

./build-key chenshake

创建DH

我也不知道这是啥,不过照做

./build-dh

所有的创建文件,都会在/etc/openvpn/easy-rsa/2.0/keys 目录下。

配置server.conf 文件

这是重点。我这里把默认端口改成9001

;local a.b.c.d
local 172.31.114.28
port 9001
;proto tcp
proto tcp
;dev tap
dev tun
;dev-node MyTap
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key  # This file should be kept secret
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
push "route 172.28.0.0 255.255.0.0"
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
;learn-address ./script
;push "redirect-gateway def1 bypass-dhcp"
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
;client-to-client
;duplicate-cn
keepalive 10 120
;tls-auth ta.key 0 # This file is secret
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES
comp-lzo
;max-clients 100
;user nobody
;group nobody
persist-key
persist-tun
status openvpn-status.log
;log         openvpn.log
;log-append  openvpn.log
verb 3
;mute 20

检测server.conf 文件是否正常

cd /etc/openvpn
openvpn --config server.conf

设置iptables 编辑 /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 9001 -j ACCEPT

客户端

下载openvpn的windows客户端.安装的时候,你最好选择管理员权限运行.并且装完后,启动openvpn,也是用管理员权限启动.

 

client
dev tun
proto tcp
remote a.b.c.d 9001
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert chenshake.crt
key chenshake.key
comp-lzo
verb 3

  5 Responses to “CentOS6.4配置OpenVPN”

  1. Shake 我记得你以前写过openvpn和数据库结合的案例,那个更加实用。如果方便可以追加上来

    • 以前写的文档,基本是为了学技术而写。这个是真的是需求,每天都需要用的,我现在的实验室,就是用这个连接进去,非常好用。

  2. 沙大,我按照你这个文档去创建一个VPN出现啊
    1.直接 yum -y install openvpn
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.163.com
    * extras: mirrors.163.com
    * updates: mirrors.163.com
    Setting up Install Process
    No package openvpn available.
    Error: Nothing to do
    2.用RPM方式安装完毕后,在用你这篇文档架设,VPN无法启动

    • 你这个架构是直接在eth1上班绑定了公网IP 做的,那我服务器上只有一块网卡而且是内网 走NAT映射
      也可以这么做么

  3. 你好!
    我最近搭建的时候碰到一个问题,我搭建了一台openvpn,能够连接,但是ping不通隧道搭建的内部server段的ip,而且client客户端一直出现大量的WRWRWRWR,不知道这个是什么问题?

 Leave a Reply

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.