在当今远程办公与数据安全日益重要的背景下,使用虚拟私人网络(VPN)已成为企业和个人用户保障网络安全的重要手段,Ubuntu作为开源操作系统中的佼佼者,凭借其稳定性和丰富的社区支持,成为部署本地或云服务器上运行VPN服务的理想平台,本文将详细介绍如何在Ubuntu系统中架设OpenVPN服务,实现安全、可靠的远程访问。
确保你已准备好一台运行Ubuntu 20.04 LTS或更高版本的服务器(建议使用云服务商如阿里云、腾讯云或AWS),并拥有root权限或sudo权限,通过SSH连接到服务器后,执行以下步骤:
第一步:更新系统包
sudo apt update && sudo apt upgrade -y
第二步:安装OpenVPN及相关工具
OpenVPN是开源的SSL/TLS协议实现,广泛用于构建安全的点对点加密通道,安装命令如下:
sudo apt install openvpn easy-rsa -y
easy-rsa是用于生成证书和密钥的工具集,是OpenVPN认证体系的核心。
第三步:配置证书颁发机构(CA)
进入EasyRSA目录并初始化PKI(公钥基础设施):
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置国家、组织等信息(如CN=China, O=MyCompany),然后执行:
./clean-all ./build-ca
这会生成根证书ca.crt,后续所有客户端和服务器都需信任此证书。
第四步:生成服务器证书与密钥
./build-key-server server
系统会提示输入密码,可留空以简化配置,完成后生成server.crt和server.key。
第五步:生成Diffie-Hellman参数
这是TLS握手过程中的关键组件,增强加密强度:
./build-dh
生成dh.pem文件。
第六步:配置OpenVPN服务器
复制示例配置文件并修改:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf
关键配置项包括:
port 1194:指定监听端口(可改为其他如53/443以规避防火墙)proto udp:推荐UDP协议,性能更优dev tun:使用隧道模式ca ca.crt、cert server.crt、key server.key:引用证书路径dh dh.pem:引入Diffie-Hellman参数push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPNpush "dhcp-option DNS 8.8.8.8":指定DNS服务器
第七步:启用IP转发与防火墙规则
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p
配置iptables:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
保存规则:
sudo iptables-save > /etc/iptables/rules.v4
第八步:启动服务并设置开机自启
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
第九步:生成客户端配置文件
在服务器端执行:
cd /etc/openvpn/easy-rsa ./build-key client1
将ca.crt、client1.crt、client1.key及dh.pem打包成.ovpn配置文件,分发给客户端使用。
至此,一个基于Ubuntu的OpenVPN服务器已完成部署,用户可通过客户端软件(如OpenVPN Connect)连接,实现加密通信与内网访问,该方案具有高安全性、易扩展性,适合中小企业或个人开发者使用,若需进一步优化,可结合Fail2Ban防暴力破解,或部署于Nginx反向代理下隐藏真实端口,提升整体防御能力。

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN






