Ubuntu安装OpenVPN服务器

Ubuntu安装OpenVPN服务器

1. 安装OpenVPN(2.4.7-1ubuntu2.20.04.3)、easy-rsa(3.0.6-1)

sudo apt install openvpn
sudo apt install easy-rsa

2. 生成证书

参考文档/usr/share/doc/easy-rsa/README.Debian

1. 生成证书文件夹

make-cadir ca
cd ca
vim vars

一般不需要修改vars中生成证书的变量。

1. 初始化

./easyrsa init-pki

2. 创建根证书

./easyrsa build-ca          # 要求输入密码
./easyrsa build-ca nopass   # 不使用密码

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

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

3. 生成服务器证书和私钥

./easyrsa build-server-full vpnserver nopass

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

4. 生成客户端证书和私钥

./easyrsa build-client-full vpnclient nopass

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

5. 创建Diffie-Hellman 密钥交换算法

./easyrsa gen-dh

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

6. 创建Hmac 消息摘要算法

/usr/sbin/openvpn --genkey --secret ta.key

生成的HMAC地址:/path/to/ca/ta.key

配置VPN

1. 将生成的服务端文件拷贝到OpenVPN配置文件夹

cp pki/ca.crt pki/issued/vpnserver.crt pki/private/vpnserver.key pki/dh.pem ta.key /etc/openvpn/

2. 服务端配置

# 复制配置样例,并解压出来 server.conf
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/

# 解压
gzip -d server.conf.gz

# 编辑配置文件
vim server.conf

3. 修改服务端配置参数

参考配置参数:

  • 传输协议:proto udpproto tcpudp速度更快
  • 端口:port 1194
  • 根证书:ca ca.crt
  • 服务端证书:cert vpnserver.crt
  • 服务端私钥:key vpnserver.key
  • dh密钥交换算法:dh dh2048.pem(实际这里dh.pem
  • HMAC消息摘要算法:tls-auth ta.key 0(如果使用内联行嵌入ta.key的内容,则需要通过key-direction 0添加第二个参数)
  • 开启流量通过VPN网络网关:push "redirect-gateway def1 bypass-dhcp"
  • log日志:log-append /var/log/openvpn/openvpn.log
  • 客户端可能使用相同的证书-私钥对:duplicate-cn
  • 当服务端关闭时,客户端不再自动重连:explicit-exit-notify 0

4. 启动OpenVPN服务端进程

sudo systemctl start openvpn@server

配置客户端参数

复制文件/usr/share/doc/openvpn/examples/sample-config-files/client.conf到一个文件夹,对其进行编辑

修改其中的配置参数:

  • 服务器地址:remote 192.168.0.30 1194
  • 从服务器地址列表(可能有多个)中随机选择:remote-random
  • 配置根证书(内联行):把ca证书内容放在<ca></ca>
  • 配置客户端证书(内联行):把vpnclient.crt内容放在<cert></cert>
  • 配置客户端私钥内容(内联行):把vpnclient.key内容放在<key></key>
  • 配置HMAC(内联行):把ta.key内容放在<tls-auth></tls-auth>中,key-direction 1

   转载规则


《Ubuntu安装OpenVPN服务器》 Mycroft Wong 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
gitlab配置SMTP总结 gitlab配置SMTP总结
gitlab配置SMTP总结自建gitlab有两种配置邮箱管理的方式: MTA(Mail Transport Agent),即搭建邮箱服务器,如postfix、sendmail 使用SMTP服务器,即使用其他平台的注册邮箱。 gitla
2021-09-17
下一篇 
Ubuntu使用Docker安装gitlab和gitlab-runner Ubuntu使用Docker安装gitlab和gitlab-runner
Ubuntu 20.04使用Docker安装gitlab和gitlab runner实现CI/CD 安装配置gitlab1. Docker 拉取 gitlab 镜像docker pull gitlab/gitlab-ce:latest 2
2021-09-15
  目录