如何在免费 WiFi 中保护隐私(四)
创始人
2024-03-02 08:20:15
0

在 Linux 上安装好“虚拟专用网络” 之后,是时候使用它了。

0penVPN 在两点之间创建了一个加密通道,以阻止第三方访问你的网络流量数据。通过设置你的 “虚拟专用网络” 服务,你可以成为你自己的 “虚拟专用网络” 服务商。许多流行的 “虚拟专用网络” 服务都使用 0penVPN,所以当你可以掌控自己的网络时,为什么还要将你的网络连接绑定到特定的提供商呢?

本系列的 第一篇文章 安装了一个“虚拟专用网络” 的服务器,第二篇文章 介绍了如何安装和配置一个 0penVPN 服务软件,第三篇文章 解释了如何配置防火墙并启动你的 0penVPN 服务。第四篇也是最后一篇文章将演示如何从客户端计算机使用你的 0penVPN 服务器。这就是你做了前三篇文章中所有工作的原因!

创建客户端证书

请记住,0penVPN 的身份验证方法要求服务器和客户端都拥有某些东西(证书)并知道某些东西(口令)。是时候设置它了。

首先,为你的客户端计算机创建一个客户端证书和一个私钥。在你的 0penVPN 服务器上,生成证书请求。它会要求你输入密码;确保你记住它:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
  gen-req greglaptop

本例中,greglaptop 是创建证书的客户端计算机主机名。

无需将请求导入证书颁发机构(CA),因为它已经存在。审查它以确保请求存在:

$ cd /etc/openvpn/ca
$ /etc/openvpn/easy-rsa/easyrsa \
  show-req greglaptop

你也可以以客户端身份签署请求:

$ /etc/openvpn/easy-rsa/easyrsa \
  sign-req client greglaptop

安装 0penVPN 客户端软件

在 Linux 系统上,网络管理器可能已经包含了一个 0penVPN 客户端。如果没有,你可以安装插件:

$ sudo dnf install NetworkManager-openvpn

在 Windows 系统上,你必须从 0penVPN 下载网页下载和安装 0penVPN 客户端。启动安装程序并按照提示操作。

复制证书和私钥到客户端

现在你的客户端需要你为其生成的身份验证凭据。你在服务器上生成了这些,因此你必须将它们传输到你的客户端。我推荐使用 SSH 来完成传输。在 Linux 系统上,通过 scp 命令实现。在 Windows 系统上,你可以以管理员身份运行 WinSCP 来推送证书和密钥。

假设客户端名称为 greglaptop,那么证书和私钥的文件名以及服务的位置如下:

/etc/openvpn/ca/pki/issued/greglaptop.crt
/etc/openvpn/ca/pki/private/greglaptop.key
/etc/openvpn/ca/pki/issued/ca.crt

在 Linux 系统上,复制这些文件到 /etc/pki/tls/certs 目录。在 Windows 系统上,复制它们到 C:\Program Files\OpenVPN\config 目录。

复制和自定义客户端配置文件

在 Linux 系统上,你可以复制服务器上的 /etc/openvpn/client/OVPNclient2020.ovpn 文件到 /etc/NetworkManager/system-connections/ 目录,或者你也可以导航到系统设置中的网络管理器添加一个“虚拟专用网络” 连接。

连接类型选择“ 证书(TLS) Certificates(TLS) ”。告知网络管理器你从服务器上复制的证书和密钥。

VPN displayed in Network Manager

在 Windows 系统上,以管理员身份运行 WinSCP,将服务器上的客户端配置模板 /etc/openvpn/client/OVPNclient2020.ovpn 文件复制到客户端上的 C:\Program Files\OpenVPN\config 目录。然后:

  • 重命名它以匹配上面的证书。
  • 更改 CA 证书、客户端证书和密钥的名称以匹配上面从服务器复制的名称。
  • 修改 IP 信息,以匹配你的网络。

你需要超级管理员权限来编辑客户端配置文件。最简单的方式就是以管理员身份启动一个 CMD 窗口,然后从管理员 CMD 窗口启动记事本来编辑此文件。

将你的客户端连接到服务器

在 Linux 系统上,网络管理器会显示你的 “虚拟专用网络” 连接。选择它进行连接。

Add a connection in Network Manager

在 Windows 系统上,启动 0penVPN 图形用户界面。它会在任务栏右侧的 Windows 系统托盘中生成一个图标,通常位于 Windows 桌面的右下角。右键单击图标以连接、断开连接或查看状态。

对于第一次连接,编辑客户端配置文件的 remote 行以使用 0penVPN 服务器的内部 IP 地址。通过右键单击 Windows 系统托盘中的 0penVPN 图标并单击“ 连接 Connect ”,从办公室网络内部连接到服务器。调试此连接,这应该可以找到并解决问题,而不会出现任何防火墙问题,因为客户端和服务器都在防火墙的同一侧。

接下来,编辑客户端配置文件的 remote 行以使用 0penVPN 服务器的公共 IP 地址。将 Windows 客户端连接到外部网络并进行连接。调试有可能的问题。

安全连接

恭喜!你已经为其他客户端系统准备好了 0penVPN 网络。对其余客户端重复设置步骤。你甚至可以使用 Ansible 来分发证书和密钥并使其保持最新。

本文基于 D.Greg Scott 的 博客,经许可后重新使用。


via: https://opensource.com/article/21/7/openvpn-client

作者:D. Greg Scott 选题:lujun9972 译者:perfiffer 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

VPN

相关内容

不要通过VPN发送请求
要禁止通过VPN发送请求,你可以使用以下方法之一:使用Python...
2025-01-10 23:00:18
不使用oVPN连接到Red...
要连接到Redshift实例,可以使用R语言中的RPostgreS...
2024-12-29 05:00:52
不能在AWS客户端VPN中...
AWS客户端VPN不支持单点登录(Single Sign-On,S...
2024-12-27 08:31:37
笔记本电脑连接到办公室VP...
问题描述:当笔记本电脑连接到办公室VPN后,无法连接到Spring...
2024-12-15 20:01:59
AWS VPN和Lambd...
AWS VPN和Lambda JavaScript是两个不同的服务...
2024-11-18 13:30:58
AWS VPN连接到私有网...
AWS VPN连接到私有网络的工作方式确实受到一些外部因素的影响,...
2024-11-18 13:30:48

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...