网络系统管理技能大赛|debian-配置openvpn

openvpn搭建

1
2
3
4
5
6
7
8
9
server03
openvpn服务端:
192.168.10.3



client
openvpn客户端:
10.10.100.100

server03配置

安装

1
2
apt install openvpn
apt install easy-rsa

生成证书

创建证书目录

此目录任意命名

1
2
make-cadir ca
cd ca

初始化

1
./easyrsa init-pki

创建根证书

1
2
3
4
5
6
7
./easyrsa build-ca nopass # 不使用密码 

# 要求输入 Common Name,或者直接回车,不输入
$ Common Name (eg: your user, host, or server name) [Easy-RSA CA]:mycroft


生成的根证书地址:ca/pki/ca.crt

生成服务器证书和私钥

1
2
3
4
5
./easyrsa build-server-full vpnserver nopass

生成的服务器证书和私钥地址:
ca/pki/issued/vpnserver.crt
ca/pki/private/vpnserver.key

生成客户端证书和私钥

1
2
3
4
5
./easyrsa build-client-full vpnclient nopass

生成的客户端证书和私钥地址:
/path/to/ca/pki/issued/vpnclient.crt、
/path/to/ca/pki/private/vpnclient.key

创建Diffie-Hellman 密钥交换算法

1
2
3
4
./easyrsa gen-dh

时间会有点长,耐心等待。
生成的dh地址:/path/to/ca/pki/dh.pem。

创建Hmac 消息摘要算法

1
2
3
4
5
6
7
openvpn --genkey --secret ta.key
我debian11命令
报错参数--secret 已经被换成secret

openvpn --genkey secret ta.key

你自己试试你的

配置vpn

  1. 将生成的服务端文件拷贝到OpenVPN配置文件夹
1
2
3
4
5
cp pki/ca.crt  /etc/openvpn/
cp pki/issued/vpnserver.crt /etc/openvpn/
cp pki/private/vpnserver.key /etc/openvpn/
cp pki/dh.pem /etc/openvpn/
cp ta.key /etc/openvpn/
  1. 服务端配置
1
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
  1. 修改配置文件
1
2
3
4
5
vim /etc/openvpn/server.conf

服务端证书:cert vpnserver.crt
服务端私钥:key vpnserver.key
dh密钥交换算法:dh dh.pem
  1. 启动openvpn服务端
1
systemctl start openvpn@server

client配置

安装openvpn

1
apt -y install openvpn

server03操作复制文件到client

1
2
3
4
5
6
7
8
cd ca
scp pki/ca.crt root@10.10.100.100:/etc/openvpn

scp pki/issued/vpnclient.crt root@10.10.100.100:/etc/openvpn

scp pki/private/vpnclient.key root@10.10.100.100:/etc/openvpn

scp ta.key root@10.10.100.100:/etc/openvpn

修改配置文件

1
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn
1
2
3
4
5
6
7
8
vim /etc/openvpn/client.conf


服务器地址:remote 192.168.10.3 1194
配置根证书(内联行):把ca证书放在<ca></ca>中
配置客户端证书(内联行):把vpnclient.crt放在<cert></cert>中
配置客户端私钥内容(内联行):把vpnclient.key放在<key></key>中
配置HMAC(内联行):把ta.key放在<tls-auth></tls-auth>中

启动openvpn

1
2
3
4
systemctl start openvpn@client

ifconfig tun0
看到这网卡有ip就代表成功了