法律声明

本教程旨在为您提供有关部署OpenVPN的技术指导,帮助您在合法合规的范围内搭建和使用安全的网络连接.

点击查看相关法律法规

相关法律法规

《中华人民共和国电信条例》

  • 第七条:经营电信业务,应当依法取得电信管理机构颁发的经营许可证。未经电信主管部门批准,任何单位和个人不得自行建立或使用VPN服务。

《中华人民共和国网络安全法》

  • 第十二条:任何个人和组织使用网络应当遵守宪法法律,不得利用网络从事危害国家安全、荣誉和利益,煽动颠覆国家政权、推翻社会主义制度,煽动分裂国家、破坏国家统一,宣扬恐怖主义、极端主义,宣扬民族仇恨、民族歧视,传播暴力、淫秽色情信息,编造、传播虚假信息扰乱经济秩序和社会秩序,以及侵害他人名誉、隐私、知识产权和其他合法权益等活动。

声明

我们坚决反对并抵制任何非法用途,本教程仅作为技术交流与合法应用的参考. 在使用过程中,您应确保您的行为符合相关法律法规的要求,尊重他人的合法权益,并承担因自身行为所产生的全部法律责任.


OpenVPN 一键部署

介绍

一键部署脚本

Build Status | License: MIT

使用 Linux 脚本一键快速搭建自己的 OpenVPN 服务器。支持 Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE, Amazon Linux 2 和 Raspberry Pi OS。

该脚本可让你在几分钟内建立自己的 VPN 服务器,即使你以前没有使用过 OpenVPN。OpenVPN 是一种开源、强大且高度灵活的 VPN 协议。

功能特性

  • 全自动的 OpenVPN 服务器配置,无需用户输入
  • 支持使用自定义选项进行交互式安装
  • 生成 VPN 配置文件以自动配置 Windows, macOS, iOS 和 Android 设备
  • 支持管理 OpenVPN 用户和证书
  • 优化 sysctl 设置以提高 VPN 性能

部署

准备

首先需要一台海外服务器,我这里使用雨云的云服务器,我现在的配置如下

类型地区配置套餐操作系统网络类型
云服务器美国洛杉矶一区AMD® EPYC1H1G,上下宽带100M,1TB流量/月Debian11独立

雨云优惠注册地址:https://cloud.plumage.cc/
优惠码:YZJ
使用优惠码注册后绑定微信可获得5折优惠券

连接服务器

关于SSH客户端软件下载可以看这一篇文章:Shell软件推荐 - Final Shell
在SSH客户端中输入你的服务器的IP地址或域名(雨云控制台获取),然后点击确认。
image

部署过程

首先在你的 Linux 服务器上下载脚本:

wget -O openvpn.sh https://get.vpnsetup.net/ovpn

选项 1: 使用默认选项自动安装 OpenVPN。

sudo bash openvpn.sh --auto
查看脚本的示例输出(终端记录)。

注: 此终端记录仅用于演示目的。

对于有外部防火墙的服务器(比如 EC2/GCE),请为 VPN 打开 UDP 端口 1194。

选项 2: 使用自定义选项进行交互式安装。

sudo bash openvpn.sh

你可以自定义以下选项:VPN 服务器的域名,协议 (TCP/UDP) 和端口,VPN 客户端的 DNS 服务器以及第一个客户端的名称。

对于有外部防火墙的服务器,请为 VPN 打开所选的 TCP 或 UDP 端口。

如果无法下载,请点这里。

你也可以使用 curl 下载:

curl -fL -o openvpn.sh https://get.vpnsetup.net/ovpn

然后按照上面的说明安装。

或者,你也可以使用这些链接:

https://github.com/hwdsl2/openvpn-install/raw/master/openvpn-install.sh
https://gitlab.com/hwdsl2/openvpn-install/-/raw/master/openvpn-install.sh

如果无法下载,打开 openvpn-install.sh,然后点击右边的 Raw 按钮。按快捷键 Ctrl/Cmd+A 全选,Ctrl/Cmd+C 复制,然后粘贴到你喜欢的编辑器。

高级:使用自定义选项自动安装。

高级用户可以使用自定义选项自动安装 OpenVPN,方法是在运行脚本时指定命令行参数。有关更多信息,请参见下一节,查看 OpenVPN 脚本的使用信息。

或者,你也可以提供一个 Bash "here document" 作为安装脚本的输入。此方法还可用于在安装后提供输入以管理用户。

首先,使用自定义选项以交互方式安装 OpenVPN,并写下你对脚本的所有输入值。

sudo bash openvpn.sh

如需删除 OpenVPN,请再次运行脚本并选择适当的选项。

然后使用你的输入值创建自定义安装命令。例如:

sudo bash openvpn.sh <<ANSWERS
n
1
1194
2
client
y
ANSWERS

注: 安装选项可能会在脚本的未来版本中发生变化。

配置 OpenVPN 客户端

OpenVPN 客户端 在 Windows, macOS, iOS, Android 和 Linux 上可用。macOS 用户也可以使用 Tunnelblick

要添加 VPN 连接,首先将生成的 .ovpn 文件安全地传送到你的设备,然后打开 OpenVPN 应用程序并导入 VPN 配置文件。

要管理 OpenVPN 客户端,请再次运行安装脚本:sudo bash openvpn.sh

更多

查看 OpenVPN 脚本的使用信息。
用法:bash openvpn.sh [选项]

选项:

  --addclient [客户端名称]       添加新客户端
  --exportclient [客户端名称]    导出现有客户端的配置
  --listclients                  列出现有客户端的名称
  --revokeclient [客户端名称]    撤销现有客户端
  --uninstall                    卸载 OpenVPN 并删除所有配置
  -y, --yes                      在撤销客户端或卸载 OpenVPN 时,自动将提示的回答视为“是”
  -h, --help                     显示此帮助信息并退出

安装选项(可选):

  --auto                         使用默认或自定义选项自动安装 OpenVPN
  --listenaddr [IPv4 地址]       OpenVPN 用于接收请求的 IPv4 地址
  --serveraddr [DNS 名称或 IP]   服务器地址,必须是完全限定域名(FQDN)或 IPv4 地址
  --proto [TCP 或 UDP]           OpenVPN 的协议(TCP 或 UDP,默认:UDP)
  --port [数字]                  OpenVPN 的端口(1-65535,默认:1194)
  --clientname [客户端名称]      第一个 OpenVPN 客户端的名称(默认:client)
  --dns1 [DNS 服务器 IP]         客户端的主 DNS 服务器(默认:Google 公共 DNS)
  --dns2 [DNS 服务器 IP]         客户端的次 DNS 服务器

要自定义选项,您也可以在不带参数的情况下运行此脚本。