当前位置:首页 > Ubuntu > 正文

Ubuntu上手OpenVPN(从零开始搭建属于你的安全私有网络)

在当今网络安全日益重要的时代,使用OpenVPN搭建自己的虚拟专用网络(VPN)不仅能保护隐私,还能实现远程安全访问内网资源。本教程将手把手教你如何在Ubuntu系统上安装并配置OpenVPN,即使你是完全的小白也能轻松完成!

Ubuntu上手OpenVPN(从零开始搭建属于你的安全私有网络) Ubuntu OpenVPN安装 OpenVPN配置教程 Ubuntu搭建VPN 新手OpenVPN指南 第1张

一、准备工作

在开始之前,请确保你有一台运行Ubuntu 20.04/22.04 LTS的服务器(可以是云服务器或本地虚拟机),并拥有root或具有sudo权限的用户账户。

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

首先,打开终端,执行以下命令更新系统并安装所需依赖:

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

这里我们安装了三个关键组件:

  • openvpn:核心VPN服务程序
  • easy-rsa:用于生成证书和密钥的工具
  • iptables-persistent:保存防火墙规则,确保重启后NAT转发依然有效

三、配置Easy-RSA生成证书

我们将使用Easy-RSA来创建CA(证书颁发机构)、服务器证书和客户端证书。

# 复制Easy-RSA模板到工作目录mkdir -p ~/openvpn-cacp -r /usr/share/easy-rsa/* ~/openvpn-ca/cd ~/openvpn-ca# 初始化PKI(公钥基础设施)./easyrsa init-pki# 创建CA(按提示操作,可直接回车使用默认值)./easyrsa build-ca

执行build-ca时会要求设置一个CA密码(建议记住),并输入Common Name(例如:MyOpenVPNCa)。

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

# 生成服务器请求(server为服务器名,可自定义)./easyrsa gen-req server nopass# 使用CA签发服务器证书./easyrsa sign-req server server

同样,在签发过程中会要求确认,输入yes即可。

五、生成Diffie-Hellman参数和TLS认证密钥

# 生成DH参数(可能需要几分钟)./easyrsa gen-dh# 生成TLS认证密钥openvpn --genkey --secret pki/ta.key

六、配置OpenVPN服务端

复制示例配置文件并编辑:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/sudo gzip -d /etc/openvpn/server.conf.gzsudo nano /etc/openvpn/server.conf

修改以下关键配置项(其他保持默认):

port 1194proto udpca /home/你的用户名/openvpn-ca/pki/ca.crtcert /home/你的用户名/openvpn-ca/pki/issued/server.crtkey /home/你的用户名/openvpn-ca/pki/private/server.keydh /home/你的用户名/openvpn-ca/pki/dh.pemtopology subnetserver 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 120tls-auth /home/你的用户名/openvpn-ca/pki/ta.key 0cipher AES-256-CBCuser nobodygroup nogroup

注意:将你的用户名替换为你实际的Ubuntu用户名。

七、启用IP转发和NAT

# 启用IP转发echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.confsudo sysctl -p# 配置NAT(假设你的公网网卡是eth0,请根据实际情况调整)sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADEsudo netfilter-persistent save

八、启动OpenVPN服务

sudo systemctl enable openvpn@serversudo systemctl start openvpn@serversudo systemctl status openvpn@server

如果看到active (running),说明服务已成功启动。

九、生成客户端配置文件

为每个客户端生成独立证书(以client1为例):

cd ~/openvpn-ca./easyrsa gen-req client1 nopass./easyrsa sign-req client client1

然后创建客户端配置文件client1.ovpn

clientdev tunproto udpremote 你的服务器IP 1194resolv-retry infinitenobindpersist-keypersist-tunremote-cert-tls servercipher AES-256-CBCtls-auth ta.key 1verb 3<ca>(粘贴 ca.crt 内容)</ca><cert>(粘贴 client1.crt 内容)</cert><key>(粘贴 client1.key 内容)</key><tls-auth>(粘贴 ta.key 内容)</tls-auth>

你的服务器IP替换为你的Ubuntu服务器公网IP,并将相关证书内容粘贴进去。完成后,将此.ovpn文件导入到OpenVPN客户端即可连接。

十、总结

恭喜你!你已经成功在Ubuntu上完成了OpenVPN安装配置。通过本教程,你不仅学会了如何搭建安全的私有网络,还掌握了证书管理、防火墙配置等实用技能。无论是用于远程办公还是保护公共Wi-Fi下的隐私,这个自建的OpenVPN都能为你提供可靠的加密通道。

如果你是初学者,建议多练习几次,熟悉每个步骤的作用。遇到问题时,可以查看系统日志:sudo journalctl -u openvpn@server

温馨提示:请确保遵守当地法律法规,合理合法使用VPN服务。

关键词:Ubuntu OpenVPN安装、OpenVPN配置教程、Ubuntu搭建VPN、新手OpenVPN指南