Linux系统如何配置OpenVPN?

常见问题

Linux系统如何配置OpenVPN?

2025-04-21 03:01


Linux系统下O

                                            

Linux系统下OpenVPN完整配置指南:从安装到连接

OpenVPN作为开源的VPN解决方案,在Linux系统上配置需要一定的技术基础。本文将分步骤详解在主流Linux发行版(Ubuntu/CentOS)上配置OpenVPN服务器的完整流程,包含证书生成、服务器配置和客户端连接等关键环节。

一、准备工作

在开始配置前,请确保:

  • 拥有root权限的Linux服务器
  • 系统已安装openssleasy-rsa工具包
  • 服务器开放了UDP 1194端口(默认OpenVPN端口)

二、安装OpenVPN

Ubuntu/Debian系统:

sudo apt update
sudo apt install openvpn easy-rsa

CentOS/RHEL系统:

sudo yum install epel-release
sudo yum install openvpn easy-rsa

三、配置PKI(公钥基础设施)

1. 复制easy-rsa模板文件:

sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/server/
sudo chown -R root:root /etc/openvpn/server/easy-rsa/

2. 初始化PKI目录:

cd /etc/openvpn/server/easy-rsa/
./easyrsa init-pki

3. 生成CA证书(按提示输入信息):

./easyrsa build-ca

四、生成服务器证书

1. 创建服务器证书和私钥:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

2. 生成Diffie-Hellman参数(耗时较长):

./easyrsa gen-dh

3. 生成TLS认证密钥:

openvpn --genkey --secret ta.key

五、配置OpenVPN服务器

1. 复制示例配置文件:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server/

2. 编辑配置文件关键参数:

port 1194
proto udp
dev tun
ca /etc/openvpn/server/easy-rsa/pki/ca.crt
cert /etc/openvpn/server/easy-rsa/pki/issued/server.crt
key /etc/openvpn/server/easy-rsa/pki/private/server.key
dh /etc/openvpn/server/easy-rsa/pki/dh.pem
tls-auth /etc/openvpn/server/ta.key 0
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

六、启动OpenVPN服务

1. 启用IP转发:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

2. 配置防火墙规则(以UFW为例):

sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo ufw enable

3. 启动服务并设置开机自启:

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

七、客户端配置

1. 为客户端生成证书:

cd /etc/openvpn/server/easy-rsa/
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

2. 创建客户端配置文件(client.ovpn):

client
dev tun
proto udp
remote your_server_ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
verb 3

[粘贴ca.crt内容]


[粘贴client1.crt内容]


[粘贴client1.key内容]


[粘贴ta.key内容]

key-direction 1

八、测试连接

将生成的client.ovpn文件导入OpenVPN客户端(如Tunnelblick或OpenVPN Connect),连接成功后可通过以下命令验证:

ping 10.8.0.1  # 应能ping通服务器VPN内网IP
curl ifconfig.me # 应显示服务器公网IP

常见问题解决

连接超时:检查服务器防火墙设置和端口转发

TLS错误:确认客户端和服务器的ta.key一致

路由问题:检查服务器push "redirect-gateway"配置

通过上述步骤,您已成功在Linux系统上部署了OpenVPN服务器。如需更高级配置(如多因素认证、LDAP集成等),可参考OpenVPN官方文档进行扩展。定期更新OpenVPN版本和更换证书是保证VPN安全的重要措施。


标签:
  • Linux OpenVPN配置
  • VPN服务器搭建
  • 网络安全设置
  • 莱卡云