手把手教你如何在服务器上创建VPN:从零搭建安全远程访问通道
作为一名网络工程师,我经常被问到:“怎样在自己的服务器上搭建一个安全的VPN服务?”无论是为了远程办公、保护隐私,还是实现多设备间的私有网络通信,搭建一个属于自己的VPN都是现代IT基础设施中非常实用的一环,我就以CentOS 7或Ubuntu 20.04为例,带你一步步在Linux服务器上部署OpenVPN——这是一个成熟、稳定且开源的解决方案。
第一步:准备环境
确保你有一台公网IP的服务器(如阿里云、腾讯云、AWS等),并拥有root权限,推荐使用Ubuntu 20.04或CentOS 7,它们对OpenVPN的支持良好,登录服务器后,先更新系统包列表:
sudo apt update && sudo apt upgrade -y # Ubuntusudo yum update -y # CentOS
第二步:安装OpenVPN和Easy-RSA
OpenVPN是核心工具,而Easy-RSA用于生成证书和密钥,这是SSL/TLS加密的基础:
# Ubuntu sudo apt install openvpn easy-rsa -y # CentOS sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
第三步:配置证书颁发机构(CA)
使用Easy-RSA生成CA证书和服务器证书,首先初始化PKI目录:
make-cadir /etc/openvpn/easy-rsa 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证书和服务器证书:
./clean-all ./build-ca # 会提示输入CA名称,直接回车即可 ./build-key-server server # 生成服务器证书 ./build-key client1 # 为客户端生成证书(可多个) ./build-dh # 生成Diffie-Hellman参数
第四步:配置OpenVPN服务器
复制示例配置文件并修改:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ gunzip /etc/openvpn/server.conf.gz
编辑 /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"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
第五步:启用IP转发和防火墙规则
打开内核IP转发:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置iptables(Ubuntu)或firewalld(CentOS)允许流量通过:
# Ubuntu 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 -j ACCEPT sudo iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
第六步:启动服务并测试
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
将生成的客户端配置文件(client1.ovpn)和证书打包发送给用户,用户只需导入到OpenVPN客户端(如OpenVPN Connect)即可连接。
这样,你就成功在服务器上搭建了一个安全、可靠的个人VPN服务!它不仅能加密数据传输,还能让你在任何地方安全地访问内部资源,定期更新证书、监控日志、加强密码策略,才能真正保障网络安全。

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






