Linux下实现VPN共享上网的完整指南,从配置到实战部署

dfbn6 2026-05-18 梯子VPN 2 0

在现代网络环境中,尤其是在远程办公或跨地域访问需求日益增长的背景下,通过Linux系统搭建一个安全、高效的VPN共享上网环境,已成为许多企业与个人用户的刚需,本文将详细介绍如何在Linux服务器上配置OpenVPN服务,并实现多设备共享上网的功能,确保网络流量安全可控,同时提升带宽利用率。

我们需要明确“共享上网”的含义:即多个客户端(如手机、笔记本电脑、路由器等)连接到一台运行OpenVPN服务的Linux主机后,可通过该主机转发互联网请求,从而实现统一出口和IP地址,这不仅便于管理,还能隐藏内网真实IP,增强隐私保护。

第一步是准备环境,推荐使用Ubuntu 20.04 LTS或CentOS Stream 9作为基础系统,安装OpenVPN服务包,执行命令如下:

sudo apt update && sudo apt install openvpn easy-rsa -y

对于CentOS用户,请使用 dnf install openvpn easy-rsa -y

第二步是生成证书和密钥,Easy-RSA工具可帮助我们安全地创建CA根证书及服务器/客户端证书,进入 /etc/openvpn/easy-rsa 目录后,运行以下命令初始化PKI环境并生成证书:

make-cadir /etc/openvpn/easy-rsa/my-ca
cd /etc/openvpn/easy-rsa/my-ca
./easyrsa init-pki
./easyrsa build-ca nopass
./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/my-ca/pki/ca.crt
cert /etc/openvpn/easy-rsa/my-ca/pki/issued/server.crt
key /etc/openvpn/easy-rsa/my-ca/pki/private/server.key
dh /etc/openvpn/easy-rsa/my-ca/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

push "redirect-gateway def1 bypass-dhcp" 是核心指令,它告诉客户端所有流量都走VPN隧道,从而实现共享上网功能。

第四步启用IP转发和iptables规则,修改 /etc/sysctl.conf 中的 net.ipv4.ip_forward=1 并执行 sysctl -p 生效,然后添加防火墙规则:

iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

启动OpenVPN服务并测试连接,客户端需使用.ovpn配置文件(包含证书信息),在Windows、Android或iOS设备上导入即可连接,所有客户端的网络请求都将通过Linux服务器进行路由,实现真正的“共享上网”。

通过以上步骤,你可以在Linux平台上构建一个稳定、灵活且易于扩展的VPN共享上网方案,适用于家庭办公、小型团队或远程部署场景,记住定期更新证书、监控日志并优化性能,才能保障长期稳定运行。

Linux下实现VPN共享上网的完整指南,从配置到实战部署

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