Linux环境下OpenVPN的配置与使用

作者:渣渣辉2024.04.01 17:39浏览量:52

简介:本文将介绍在Linux环境下如何配置和使用OpenVPN,包括安装、生成证书、配置服务器和客户端等步骤,帮助读者快速搭建安全的VPN服务。

Linux环境下OpenVPN的配置与使用

随着网络安全意识的提升,越来越多的用户开始关注自己的上网隐私。OpenVPN作为一款开源的虚拟专用网络(VPN)软件,因其安全性和灵活性受到了广泛欢迎。本文将详细介绍在Linux环境下如何配置和使用OpenVPN,帮助你轻松搭建安全的VPN服务。

一、安装OpenVPN

在大多数Linux发行版中,可以通过包管理器来安装OpenVPN。以Ubuntu为例,可以使用以下命令安装OpenVPN服务器和客户端:

  1. sudo apt update
  2. sudo apt install openvpn

二、生成证书和密钥

为了保证通信的安全性,我们需要生成证书和密钥。这里我们使用Easy-RSA工具包来生成所需的证书和密钥。首先,安装Easy-RSA:

  1. sudo apt install easy-rsa

然后,进入Easy-RSA目录,并初始化证书生成环境:

  1. cd /usr/share/easy-rsa/
  2. source vars

接下来,生成根证书(CA证书)和服务器证书:

  1. ./build-ca nopass
  2. ./sign-req server server

在生成服务器证书时,会要求你输入一些信息,包括国家、省份、城市、组织等。完成后,在keys目录下将生成相应的证书和密钥文件。

三、配置OpenVPN服务器

接下来,我们需要配置OpenVPN服务器。在/etc/openvpn/目录下创建一个新的配置文件,例如server.conf,然后添加以下内容:

  1. port 1194
  2. proto udp
  3. dev tun
  4. ca ca.crt
  5. cert server.crt
  6. key server.key
  7. dh dh.pem
  8. tls-auth ta.key 0
  9. server 10.8.0.0 255.255.255.0
  10. ifconfig-pool-persist ipp.txt
  11. push "redirect-gateway def1 bypass-dhcp"
  12. push "dhcp-option DNS 8.8.8.8"
  13. push "dhcp-option DNS 8.8.4.4"
  14. keepalive 10 120
  15. cipher AES-256-CBC
  16. auth SHA256
  17. user nobody
  18. group nogroup
  19. persist-key
  20. persist-tun
  21. status openvpn-status.log
  22. verb 3
  23. explicit-exit-notify 1

这个配置文件定义了一些基本的OpenVPN参数,包括端口号、协议类型、网络设置、证书和密钥文件路径等。你需要根据自己的需求进行相应的调整。

四、配置防火墙

为了允许OpenVPN连接,你需要配置防火墙以允许UDP流量通过1194端口(或其他你选择的端口)。以UFW为例,可以使用以下命令打开1194端口:

  1. sudo ufw allow 1194/udp
  2. sudo ufw enable

五、启动OpenVPN服务器

最后,使用以下命令启动OpenVPN服务器:

  1. sudo openvpn --config /etc/openvpn/server.conf

如果一切正常,你应该能够看到OpenVPN服务器的日志输出,表明它已经成功启动并监听指定的端口。

六、配置OpenVPN客户端

在客户端设备上,你同样需要安装OpenVPN客户端,并创建一个配置文件(例如client.conf),其中包含连接到服务器的必要信息。配置文件的内容大致如下:

```bash
client
dev tun
proto udp
remote [服务器IP] 1194
resolve-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
key-direction 1
verb 3


——-BEGIN CERTIFICATE——-
[CA证书内容]
——-END CERTIFICATE——-


——-BEGIN CERTIFICATE——-
[客户端证书内容]
——-END CERTIFICATE——-


——-BEGIN PRIVATE KEY——-
[客户端密钥内容]
——-END PRIVATE KEY——-


——-BEGIN OpenVPN Static key V1——-
[tls-auth