Skip to main content

One post tagged with "vpn"

View All Tags

OpenVPN 快速安装与使用

· 6 min read
亮子
Founder of airoom.chat

背景

我使用 OpenVPN 已经有几年了,使用稳定,极少出故障。

使用 OpenVPN 最大的不便是服务器配置,真是太复杂了!每次配置服务器,我都要照着文档几十个步骤,在两台机器上倒腾文件,花上2、3小时才能完成配置,还容易出错。真是痛苦的经历。

但是,现在有了下面这个脚本,事情变得非常非常简单,简单到无脑一键安装,只需几十秒就配置好服务器。 生成密钥文件也是两秒钟的事情。下面我就详细介绍怎样使用这个脚本,以及如何在客户端使用。

准备工作

首先,你得有一台海外服务器,并安装了 Linux 操作系统。

下面介绍的这个脚本,在多数 Linux 发行版上都可以安装,具体支持的 Linux 发行版如下:

linux

我是在亚马逊 aws 上购买 EC2,然后创建一个 Ubuntu 实例,在实例上安装 OpenVPN 服务器。

安装服务器

服务器安装脚本使用这个库:openvpn-install

安装步骤:

  1. 下载脚本
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
  1. 将脚本改为可执行文件
chmod +x openvpn-install.sh
  1. 执行脚本
sudo ./openvpn-install.sh

安装过程中,会提示几个问题,都可以按回车键,直接选择默认值。

安装完成之后,在用户根目录($HOME)下,将生成一个.ovpn 密钥文件,将这个文件下载到本地,用于客户端导入。

生成更多客户端密钥(.ovpn)

如果要配置多个客户端,可以生成多个客户端配置文件,方法很简单,就是再次执行脚本:

sudo ./openvpn-install.sh

这时,因为已经安装了 OpenVPN 服务,脚本会弹窗菜单:

It looks like OpenVPN is already installed.

What do you want to do?
1) Add a new user
2) Revoke existing user
3) Remove OpenVPN
4) Exit

这时输入 1,然后输入用户名,例如:u001,回车就可以了,就会在根目录下生成密钥文件:u001.ovpn,下载该文件到本地,供客户端导入使用。

几个有用的命令

查看状态、重启服务等命令:

# 查看状态
sudo systemctl status [email protected]
# 重启服务
sudo systemctl restart [email protected]
# 停止服务
sudo systemctl stop [email protected]
# 启动服务
sudo systemctl start [email protected]

Bug 解决(可选)

在使用过程中,如果出现问题,下面的方法也许有用。

打开服务器配置文件:

sudo vi /lib/systemd/system/[email protected]

有的系统是这个文件:/lib/systemd/system/[email protected],具体是哪个配置文件,在目录下看看就知道了。

在配置文件中找到下面的一行内容,并注释掉,如下:

#LimitNPROC=10

然后重启进程:

sudo systemctl daemon-reload
sudo systemctl start [email protected]

问题应该就解决了。

客户端

建好服务器后,就可以使用各种客户端来连接服务器。

下载客户端

各种客户端下载地址:Download the official OpenVPN Connect client software developed and maintained by OpenVPN Inc.

clients

配置

启动客户端,找到导入(Import)功能,将密钥文件 u001.ovpn 导入,就可以了。

import

至此,你就可以愉快地使用 VPN 上网了。

补充知识

VPN(Virtual Private Network,虚拟专用网络)是一种通过公共网络(如互联网)安全连接到私有网络的技术。它能够为用户提供更安全的网络连接,保护数据隐私,并允许用户绕过地理限制。

OpenVPN 是一个开源的 VPN 解决方案,它支持多种加密协议和算法,包括 AES、Blowfish、DES 等,用户可以根据需要选择最合适的加密强度。OpenVPN 拥有一个活跃的开发者社区和用户群体。

其他 VPN 解决方案有:

  1. IPsec (Internet Protocol Security)

    • IPsec 是一个由 IETF 开发的协议套件,用于在 IP 网络上提供安全通信。它是一个非常成熟的 VPN 技术,被广泛用于企业和政府网络中。IPsec 的市场份额很大,尤其是在企业级 VPN 市场中。
  2. WireGuard

    • WireGuard 是一个相对较新的开源 VPN 协议,以其简单性、高性能和现代加密技术而受到关注。由于其轻量级和易于部署的特点,WireGuard 正在逐渐获得市场份额,尤其是在 Linux 社区和技术爱好者中。