首页 > Linux, 技术 > openvpn维护

openvpn维护

2010年2月1日 DarkIce727 views 发表评论 阅读评论

初始化和创建证书

1. 将examples复制到oepnvpn的配置文件目录,方便使用。
# cp -r /usr/share/doc/openvpn/examples /etc/openvpn

2. 将vars里的KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG及KEY_EMAIL参数改成自己的值。
# cd /etc/openvpn/examples/easy-rsa/2.0/
# vi ./vars

3.接下来设定服务器端:将vars的参数load到环境中,并将旧的key或设定清除,建立root certificate。
# . ./vars
# ./clean-all
# ./build-ca
注意./vars前面还有个“.”,且中间有个空格。完成后会在keys/下生成ca.crt和ca.key。

4. 建立服务器的证书。
# ./build-key-server server
server是指服务器的名字,完成后生成server.crt、server.csr和server.key。

5. 建立客户端的证书。
# ./build-key client
因为Windows客户端默认不支持密码,故建立的是无密码key。client指客户端的名字,完成后生成client.crt、client.csr和client.key。

6. 建立 Diffie Hellman parameters。
# ./build-dh
会生成dh{n}.pem。
今后若要添加客户端,则需重复. ./vars及5、6两步。
服务器端的/etc/openvpn目录下需要ca.crt/key、server.crt/key和dh{n}.pem(这几个文件直接放在/etc/openvpn下则后面的配置文件中不需要写路径),ca.crt、client.crt/key需要分发给客户端。

服务器端配置

服务器端还需要server.conf,可以在examples/sample-config-files/server.conf基础上修改

部分解释如下

#服务器端ip
local *.*.*.*
#服务器端口
port 1194
#服务器协议,可以用tcp
proto udp
dev tun
#各类证书,如果不在server.conf相同文件夹要写绝对路径
ca /etc/openvpn/2.0/keys/ca.crt
cert /etc/openvpn/2.0/keys/server.crt
key /etc/openvpn/2.0/keys/server.key  # This file should be kept secret
dh /etc/openvpn/2.0/keys/dh1024.pem
#分配给clinet的ip段
server 10.8.0.0 255.255.255.0
#这个开启后同一个客户端可以同时连接多次
#duplicate-cn
#开启这个后各个客户端可以互相访问,类似网上邻居
#client-to-client
#记录客户端分配的ip地址情况,如果OpenVPN服务重启,
#客户端重新连接的时候会按照此文件分配原先的地址。
ifconfig-pool-persist ipp.txt 
#每10秒ping一次,120秒内客户端没有动作就断开连接
keepalive 10 120
comp-lzo
;max-clients 100
;user nobody
;group nobody
persist-key
persist-tun
status /etc/openvpn/2.0/keys/openvpn-status.log
verb 4
;mute 20
#参见下面注销证书
crl-verify crl.pem
 
#客户端的Internet访问使用OpenVPN通道 
push "redirect-gateway def1" 
#Windows客户端会使用此DNS地址
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
push "route 10.8.0.0 255.255.255.0"

客户端配置

客户端还需要client.conf,可由examples/sample-config-files/client.conf修改而来。windows下后缀为ovpn。

部分解释如下

client
dev tun
#通信协议,需要与服务器端一致
proto udp
#填写服务器端ip和端口
remote *.*.*.* 1194
persist-key
persist-tun
#客户端的证书
ca ca.crt
cert client.crt
key client.key
 
ns-cert-type server
comp-lzo
verb 4
redirect-gateway def1

注销证书

1. 进入 OpenVPN 安装目录的 easy-rsa 子目录。
cd /etc/openvpn/2.0/

2. 执行 vars 命令
source ./vars

3. 使用 revoke-full 命令,吊销客户端证书。命令格式为:
./revoke-full client1

这条命令执行完成之后, 会在 keys 目录下面, 生成一个 crl.pem 文件,这个文件中包含了吊销证书的名单。
成功注销某个证书之后,可以打开 keys/index.txt 文件,可以看到被注销的证书前面,已标记为R.

4. 确保服务端配置文件打开了 crl-verify 选项
在服务端的配置文件 /etc/openvpn/server.conf 中,加入这样一行:
crl-verify crl.pem

如果 server.conf 文件和 crl.pem 没有在同一目录下面,则 crl.pem 应该写绝对路径,例如:
crl-verify /etc/openvpn/2.0/keys/crl.pem

5. 重启 OpenVPN 服务器。

iptables配置:
参考Ubuntu下openvpn的iptables配置

IPv6下openvpn参见架设ipv6下的openvpn

转载请注明:转载自DarkIces.com
本文链接地址:http://dki.me/x

相关文章:

  1. 架设ipv6下的openvpn
  2. 转载:Android上OpenVPN的设置与使用
  3. openvpn服务架设成功
  4. ghs.google.com域名反向代理
  5. openvpn服务器端dns劫持解决dns污染问题
分类: Linux, 技术 标签:
  1. MMM_B
    2010年2月15日02:07 | #1

    那个,,想问问如何才能找到这个配置文件呢。。。

    [回复]

    DarkIce 回复:

    Ubuntu下默认是在/etc/openvpn下,需要自己创建,可以用sample修改
    也可以启动时–config /path/name.conf指定配置文件位置

    [回复]

  1. 2010年2月4日22:58 | #1
  2. 2010年2月4日23:07 | #2