在当今数字化办公日益普及的背景下,远程访问企业内网资源成为许多网络工程师和系统管理员的日常需求,Ubuntu作为一款广泛使用的Linux发行版,因其稳定性、安全性与开源特性,常被用于搭建VPN服务器,本文将详细介绍如何在Ubuntu系统中部署OpenVPN服务,从而实现安全、可靠的远程访问功能。
确保你有一台运行Ubuntu 20.04或更高版本的服务器(推荐使用Ubuntu Server版),并具备公网IP地址和域名(可选),你需要拥有root权限或sudo权限以执行相关操作。
第一步是更新系统并安装OpenVPN及相关依赖包,打开终端,依次执行以下命令:
sudo apt update sudo apt install openvpn easy-rsa -y
easy-rsa 是用于生成SSL证书和密钥的工具,是OpenVPN认证体系的核心组件。
第二步是配置证书颁发机构(CA)和服务器证书,进入EasyRSA目录:
make-cadir ~/openvpn-ca cd ~/openvpn-ca
接着初始化PKI环境并生成CA证书:
./easyrsa init-pki ./easyrsa build-ca nopass
输入一个通用名称(如“OpenVPN CA”)即可,接下来生成服务器证书和密钥:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
然后生成Diffie-Hellman参数(增强加密强度):
./easyrsa gen-dh
将生成的证书和密钥复制到OpenVPN配置目录:
sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/server/
第三步是创建OpenVPN服务器配置文件,新建 /etc/openvpn/server/server.conf 文件,并添加如下基本配置内容:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh 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 openvpn-status.log
verb 3
此配置启用UDP协议,分配私有IP段给客户端,自动推送DNS和路由规则,确保流量通过VPN隧道传输。
第四步是启用IP转发和防火墙规则,编辑 /etc/sysctl.conf 文件,取消注释 net.ipv4.ip_forward=1,然后执行:
sudo sysctl -p
再配置iptables规则允许流量转发:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -i tun0 -j ACCEPT sudo iptables -A FORWARD -s 10.8.0.0/24 -i eth0 -o tun0 -j ACCEPT
若使用UFW防火墙,还需额外开放UDP端口1194:
sudo ufw allow 1194/udp
第五步启动OpenVPN服务:
sudo systemctl enable openvpn-server@server sudo systemctl start openvpn-server@server
至此,OpenVPN服务器已成功部署,你可以为每个用户生成客户端配置文件(使用EasyRSA生成客户端证书),并将配置文件分发给用户,客户端只需导入配置文件,连接即可实现加密远程访问。
Ubuntu + OpenVPN是一个成熟、可靠且高度可定制的解决方案,适用于中小型企业或个人用户的远程办公场景,通过合理配置证书、路由和防火墙策略,可以构建出既安全又高效的网络通道,对于进阶用户,还可结合TLS认证、双因素验证等机制进一步提升安全性。

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






