openvpn维护
初始化和创建证书
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
相关文章:
那个,,想问问如何才能找到这个配置文件呢。。。
[回复]
DarkIce 回复:
二月 15th, 2010 at 16:12
Ubuntu下默认是在/etc/openvpn下,需要自己创建,可以用sample修改
也可以启动时–config /path/name.conf指定配置文件位置
[回复]