OpenVPN静态秘钥连接

一. 前言

        OpenVPN的静态秘钥方式其实采用的就是预共享秘钥方式,客户端和服务端都持有一份相同的秘钥,之后交互的数据都由该秘钥加密。

        使用静态秘钥方式连接的优点是既简单(没有证书的验证和秘钥协商的过程),又安全(采用当前安全的对称加密算法)。

        由于静态秘钥采用的是预共享秘钥,这种加密方式不适合于多个客户端和服务器通信,试想一下,如果多个客户端都持有该共享秘钥,只要其中一个客户端泄露了秘钥,那么,其他客户端的通信也就没法保密了。所以,静态秘钥只适用于服务器和单个客户端的模式。

        本文将介绍OpenVPN静态秘钥的配置方式。

二. 服务器

1. 配置文件
dev tun
proto udp
ifconfig 10.8.0.1 10.8.0.2

secret static.key

status open-status.log                    
log /var/log/open.log
 
verb 3

        从以上配置文件中可以看出,静态秘钥连接和非加密连接的区别就是多加了个secret选项,secret选项后面带的就是静态秘钥文件。静态秘钥文件的内容如下:

#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
e71e556c44197a9625974d0632b58ff7
471e39cf0a083d53b50a5760dc38e217
726b5b1e16163287fc46588f1d95c881
cc57eba02584409a40f34594071b1b03
1a24a37f0218f35488ae5d6b415b0646
2f993896f88239d7b74a45e644846c24
6c1bdba402fcd1f0e848ffd72b0e8228
d3c71b4d55a6f99c59b0a168b5ea85f8
fe02e968afb0be3a0ab19235cd2c852a
42591a8e5da3e7845558029f159dfd16
5227a0efb959c48b21cdb9579c9c5166
e82bd33f80d0e083982dcb80594ff0ed
1419b7474909b5aa58ed7cc7c1e4b917
3e6c0cb782d5730cfa77a0d216e6a64a
38e286ebc4c53ff6b8230dae8ed9cb12
e4323a24d087c383c7d9a5700eee9a21
-----END OpenVPN Static key V1-----

        静态秘钥文件由open命令生成,命令如下:

open --genkey --secret static.key

选项介绍如下:

        --genkey:表示本命令要生成秘钥文件。

        --secret:表示生成的秘钥文件是静态秘钥文件。

tips:这个静态秘钥文件可以由服务器端生成或是客户端生成都可以,关键的地方在于如何安全的将秘钥文件安全的送到对方手上。

2. 启动命令
open --cd /etc/open --config server.conf

        启动命令和非加密模式一样。

三. 客户端

1. 配置文件
dev tun
proto udp

secret static.key

remote 192.168.5.100 1194
ifconfig 10.8.0.2 10.8.0.1
verb 3

        客户端的配置文件相比于非加密模式也只是多了secret选项,由上面介绍服务器端可知,static.key文件的内容要和服务器端的一致。其他的选项就不做解释了,非加密连接这里有介绍。

2. 启动命令
open --cd /etc/open --config client.conf

四. 总结

        本文简单介绍了OpenVPN静态秘钥连接方式的特点,服务端和客户端的配置文件,以及静态秘钥文件的生成方式。

        本文提到的"服务器"和"客户端",由于是点对点方式,更准确的说法是连接端和被连接端,这里被连接端指代的是服务器,连接端指代的是客户端。

你可能感兴趣的:(开源软件学习总结,linux)