作为一名网络工程师,在企业或家庭网络环境中,确保远程用户能够安全、稳定地访问内网资源是日常运维的重要任务之一,虚拟私人网络(VPN)技术是最常用的解决方案之一,本文将详细介绍如何在Linux服务器上搭建一个基于OpenVPN的服务端,并配置客户端连接,从而实现安全的远程访问。
准备工作必不可少,你需要一台运行Linux操作系统的服务器(推荐Ubuntu 20.04/22.04或CentOS Stream 9),拥有公网IP地址,并开放UDP端口1194(OpenVPN默认端口),建议使用云服务商如阿里云、腾讯云或AWS部署服务器,并提前配置好防火墙规则(如ufw或firewalld)以允许流量通过该端口。
安装OpenVPN及相关工具,以Ubuntu为例,执行以下命令:
sudo apt update sudo apt install openvpn easy-rsa -y
easy-rsa 是用于生成证书和密钥的工具包,这是OpenVPN身份认证的核心组件,安装完成后,复制默认配置文件到指定目录:
sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/ cd /etc/openvpn/easy-rsa/
然后编辑 vars 文件,设置国家、省份、组织等信息,
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="MyCompany" export KEY_EMAIL="admin@mycompany.com"
接着执行初始化脚本并生成CA根证书:
./easyrsa init-pki ./easyrsa build-ca
生成服务器证书和密钥:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
同样,为客户端生成证书(可多台设备使用不同证书):
./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
配置OpenVPN服务端主文件 /etc/openvpn/server.conf,这是一个关键步骤,需要根据实际需求调整参数,示例配置如下:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
保存后启动服务并设为开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
配置防火墙转发和NAT规则,使客户端能访问外网:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
至此,OpenVPN服务端已成功部署,客户端可通过导出的证书和配置文件(如client1.ovpn)连接,整个过程涉及加密通信、身份验证和路由控制,保障了数据传输的安全性和稳定性。
对于有更高要求的用户,还可集成TLS认证、双因素验证或与LDAP结合,进一步提升安全性,定期更新证书、监控日志、限制访问IP范围是持续维护的关键。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速









