openVPN搭建详细教程

OpenVPN是一个开源的VPN虚拟私人网络)软件,它允许用户通过互联网创建一个安全点对点或站点对站点的连接。这种连接可以用于访问内部网络资源,保护隐私,或者绕过地理限制。搭建OpenVPN是一种在企业或个人环境中实现安全数据传输的有效方法。本文将详细介绍如何从零开始搭建OpenVPN,包括服务端和客户端的配置步骤。

OpenVPN

一、准备工作

在开始搭建之前,请确保您已准备好以下工具和环境:

  1. 一台运行Windows或Linux的服务器:推荐使用Linux系统,因为其开源特性和良好的性能。
  2. VPN搭建软件:OpenVPN是常用的开源VPN软件。
  3. 客户端设备:需要在客户端设备上安装OpenVPN客户端软件。

二、服务器端配置

安装依赖包

在服务器上安装必要的依赖包,如openssl、lzo等,并启用epel源。

sudo yum install openssl openssl-devel lzo lzo-devel pam pam-devel automake gcc gcc-c++ -y

安装OpenVPN和证书工具

使用以下命令安装OpenVPN和easy-rsa证书生成工具。

sudo yum install openvpn easy-rsa -y

初始化PKI目录并生成证书

使用easy-rsa初始化PKI目录,并生成CA根证书、服务器证书和客户端证书。

# 初始化PKI目录
mkdir -p /usr/local/openvpn/easy-rsa/pki
cp /usr/share/easy-rsa/2.0/{easy-rsa*,PKI利用您的环境变量} /usr/local/openvpn/easy-rsa/

# 初始化环境变量
cd /usr/local/openvpn/easy-rsa/
source ./easy-rsa.sh init-pki

# 生成CA根证书
./easyrsa build-ca

# 生成服务器证书和密钥
./easyrsa gen-req server nopass

# 签名服务器证书
./easyrsa sign-req server server

# 生成Diffie-Hellman参数
./easyrsa gen-dh

# 生成客户端证书和密钥
./easyrsa gen-req client nopass

# 签名客户端证书
./easyrsa sign-req client client

配置OpenVPN服务端

编辑OpenVPN的配置文件server.conf,设置监听端口、协议、设备类型、证书路径等参数。

# 创建keys目录并复制证书和密钥到该目录
mkdir -p /etc/openvpn/keys
cp /usr/local/openvpn/easy-rsa/pki/{ca.crt,dh.pem,server.crt,server.key} /etc/openvpn/keys/

# 编辑server.conf文件
nano /etc/openvpn/server.conf

# 示例配置:
proto udp
port 1194
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh.pem
topology subnet
server 10.8.0.0 255.255.255.0

启动OpenVPN服务

启动OpenVPN服务并设置开机自启。

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

三、客户端配置

安装OpenVPN客户端

在客户端设备上下载并安装OpenVPN客户端软件。

导入证书和配置文件

将服务器生成的CA证书、客户端证书和密钥文件导入到客户端。

# 将证书和密钥文件复制到客户端的相应目录下
cp /etc/openvpn/keys/{ca.crt,client.crt,client.key} /path/to/client/config/

创建客户端配置文件

编辑客户端配置文件client.ovpn,设置设备类型、协议、服务器IP和端口、证书路径等信息。

# 示例配置:
client
proto udp
remote <服务器公网IP> 1194
dev tun
resolv-retry infinite
verb 3
ca ca.crt
cert client.crt
key client.key

连接VPN

在客户端上启动OpenVPN,连接到服务器。

openvpn --config /path/to/client.ovpn

四、测试与验证

通过ping命令测试客户端与服务器之间的连通性,确保VPN连接正常。

ping <服务器内网IP>

总结

通过以上步骤,您可以成功搭建一个基于OpenVPN的虚拟专用网络。该过程涵盖了从系统准备、证书生成、服务端和客户端配置到最终的连接测试,帮助您实现安全的数据传输和远程访问。希望本文能为您的VPN搭建提供详细的指导。

4.5/5 - (2 votes)

VPNopenVPN,VPN问题

Posted by 老杰克