服务器端
安装软件包
sudo aptitude install openvpn openssl openssl-devel pam pam-devel -y
用 easyrsa 来生成配置的证书和密钥等文件
获取 easyrsa
git clone https://github.com/OpenVPN/easy-rsa
参考 easyrsa 的说明文件 来生成如下各个文件 (最新版本命令略有不同,但过程是一致的)。
文件名 | 谁需要 | 作用 | 是否需保密 |
---|---|---|---|
ca.crt | 服务端 + 所有客户端 | 根 CA 证书 | 否 |
ca.key | 密钥签名服务器 | 根 CA 密钥 | 是 |
server.crt | 服务端 | 服务端证书 | 否 |
server.key | 服务端 | 服务端密钥 | 是 |
dh{n}.pem | 服务端 | 迪菲·赫尔曼参数 | 否 |
client1.crt | 客户端1 | 客户端1的证书 | 否 |
client1.key | 客户端1 | 客户端1的密钥 | 是 |
修改 vars 文件来提前配置一会生成过程中的默认变量
export KEY_COUNTRY="CN" export KEY_PROVINCE="BJ" export KEY_CITY="Beijing" export KEY_ORG="Orgnization" export KEY_EMAIL="user@some.com" export KEY_OU="SE" export KEY_NAME="EasyRSA"
完成后更新到环境变量中
source vars
清理环境
./clean-all
生成 CA 的证书和密钥
./build-ca
基本上一路回车选择默认值即可。
生成服务端证书和密钥
./build-key-server server1
对每个客户端单独生成证书和密钥
./build-key client1
修改服务端的配置文件
一般位于 /etc/openvpn/server.conf,如果不存在可以从 cp /usr/share/openvpn/examples/server.conf 复制一份。
修改其中的各个证书、密钥文件的位置,重启服务。
port 1194 proto udp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/kumu_server.crt key /etc/openvpn/keys/kumu_server.key # This file should be kept secret dh /etc/openvpn/keys/dh1024.pem server 10.8.0.0 255.255.255.0 push "route 192.168.10.0 255.255.255.0" # 推送路由 client-to-client keepalive 10 120 tls-auth /etc/openvpn/keys/ta.key 0 # This file is secret comp-lzo persist-key persist-tun status /etc/openvpn/keys/openvpn-status.log verb 3
配置路由并重启服务
echo 1 > /proc/sys/net/ipv4/ip_forward openvpn --config /etc/openvpn/server.conf --daemon
客户端
sudo apt-get install -y openvpn
客户端需要如下几个文件:
ca.crt client1.crt client1.key config.ovpn
其中 config.ovpn 需要手动编写,内容为
#config.ovpn dev tun client remote 9.186.100.149 ca ca.crt cert client1.crt key client1.key
启动客户端
sudo openvpn --config /path/to/config.ovpn
No comments:
Post a Comment