Linux系统如何配置OpenVPN?
常见问题
Linux系统如何配置OpenVPN?
2025-04-21 03:01
Linux系统下O
Linux系统下OpenVPN完整配置指南:从安装到连接
OpenVPN作为开源的VPN解决方案,在Linux系统上配置需要一定的技术基础。本文将分步骤详解在主流Linux发行版(Ubuntu/CentOS)上配置OpenVPN服务器的完整流程,包含证书生成、服务器配置和客户端连接等关键环节。
一、准备工作
在开始配置前,请确保:
- 拥有root权限的Linux服务器
- 系统已安装
openssl和easy-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完整配置指南:从安装到连接
OpenVPN作为开源的VPN解决方案,在Linux系统上配置需要一定的技术基础。本文将分步骤详解在主流Linux发行版(Ubuntu/CentOS)上配置OpenVPN服务器的完整流程,包含证书生成、服务器配置和客户端连接等关键环节。
一、准备工作
在开始配置前,请确保:
- 拥有root权限的Linux服务器
- 系统已安装
openssl和easy-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服务器搭建
- 网络安全设置
- 莱卡云
