当前位置:首页 > 服务器技术 > 正文

Linux网络VPN配置(手把手教你从零搭建OpenVPN服务)

在当今数字化时代,网络安全设置变得尤为重要。无论你是远程办公人员、系统管理员,还是对隐私有高要求的普通用户,搭建一个属于自己的Linux VPN配置环境都能有效保护你的网络通信安全。本文将手把手教你如何在Linux系统(以Ubuntu 22.04为例)上安装并配置OpenVPN服务,即使你是技术小白也能轻松上手!

Linux网络VPN配置(手把手教你从零搭建OpenVPN服务) Linux VPN配置  OpenVPN安装 网络安全设置 Linux远程访问 第1张

一、准备工作

在开始之前,请确保你拥有以下条件:

  • 一台运行Ubuntu 22.04(或其他主流Linux发行版)的服务器(可以是云服务器或本地虚拟机)
  • 具有sudo权限的用户账户
  • 稳定的互联网连接
  • 基本的Linux命令行操作知识(如cd、ls、nano等)

二、更新系统并安装必要软件

首先,登录你的Linux服务器,打开终端,执行以下命令来更新系统并安装OpenVPN和Easy-RSA(用于生成证书):

sudo apt updatesudo apt upgrade -ysudo apt install openvpn easy-rsa -y  

三、配置证书颁发机构(CA)

为了保证通信安全,我们需要创建自己的证书颁发机构(CA),并为服务器和客户端分别生成证书和密钥。

1. 创建Easy-RSA工作目录:

make-cadir ~/openvpn-ca  

2. 编辑vars文件,设置默认信息(可选但推荐):

nano ~/openvpn-ca/vars  

在文件末尾添加或修改以下变量(根据你的实际情况填写):

export KEY_COUNTRY="CN"export KEY_PROVINCE="Beijing"export KEY_CITY="Beijing"export KEY_ORG="MyCompany"export KEY_EMAIL="admin@example.com"export KEY_OU="MyVPN"export KEY_NAME="server"  

3. 初始化PKI并生成CA证书:

cd ~/openvpn-casource vars./clean-all./build-ca  

按回车使用默认值即可完成CA创建。

四、生成服务器证书和密钥

执行以下命令生成服务器端所需的证书和密钥:

./build-key-server server  

一路按回车,并在最后两个提示处输入 y 确认签名和提交。

接着生成Diffie-Hellman参数(用于密钥交换):

./build-dh  

这个过程可能需要几分钟,请耐心等待。

五、生成客户端证书(以client1为例)

为你的第一个客户端生成证书和密钥:

./build-key client1  

同样,在最后两个提示处输入 y 确认。

六、配置OpenVPN服务

1. 复制示例配置文件到/etc/openvpn/:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/gunzip /etc/openvpn/server.conf.gz  

2. 编辑配置文件:

sudo nano /etc/openvpn/server.conf  

确保以下几项已正确设置(取消注释并检查):

port 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh2048.pemserver 10.8.0.0 255.255.255.0push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 8.8.4.4"keepalive 10 120cipher AES-256-CBCuser nobodygroup nogroup  

七、启用IP转发并配置防火墙

为了让客户端能通过VPN访问外网,需启用IP转发:

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.confsudo sysctl -p  

配置UFW防火墙(如果使用):

sudo ufw allow 1194/udpsudo ufw allow OpenSSHsudo ufw enable  

同时,添加NAT规则:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE# 保存规则(Ubuntu需安装iptables-persistent)sudo apt install iptables-persistent -y  

八、启动OpenVPN服务

复制证书和密钥到/etc/openvpn/目录:

sudo cp ~/openvpn-ca/keys/{server.crt,server.key,ca.crt,dh2048.pem} /etc/openvpn/  

启动并设置开机自启:

sudo systemctl start openvpn@serversudo systemctl enable openvpn@server  

九、配置客户端

将以下文件从服务器下载到你的本地设备(如Windows、macOS或手机):

  • ca.crt
  • client1.crt
  • client1.key

然后创建一个 client1.ovpn 配置文件,内容如下:

clientdev tunproto udpremote your_server_ip 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client1.crtkey client1.keyremote-cert-tls servercipher AES-256-CBCverb 3  

将上述文件与三个证书文件放在同一目录,使用OpenVPN客户端导入即可连接。

十、总结

恭喜你!你已经成功完成了Linux远程访问所需的基础OpenVPN安装与配置。通过本教程,你不仅提升了个人或企业的网络安全设置水平,还掌握了在Linux环境下搭建私有VPN的核心技能。未来你可以为更多设备生成客户端证书,实现安全的远程办公或跨地域访问内网资源。

如果你在配置过程中遇到问题,欢迎查阅OpenVPN官方文档或在社区论坛寻求帮助。安全上网,从自己搭建的VPN开始!