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

在你安装了 0penVPN 之后,是时候配置它了。

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

本系列中的 第一篇 展示了如何安装和配置一台作为你的 0penVPN 服务器的 Linux 计算机。,第二篇 演示了如何安装和配置 0penVPN 服务器软件。这第三篇文章演示了如何在认证成功的情况下启动 0penVPN。

要设置一个 0penVPN 服务器,你必须:

  • 创建一个配置文件。
  • 使用 sysctl 设置net.ipv4.ip_forward = 1 以启用路由。
  • 为所有的配置和认证文件设置适当的所有权,以便使用非 root 账户运行 0penVPN 服务器守护程序。
  • 设置 0penVPN 加载适当的配置文件启动。
  • 配置你的防火墙。

配置文件

你必须在 /etc/openvpn/server/ 中创建一个服务器配置文件。如果你想的话,你可以从头开始,0penVPN 包括了几个配置示例示例文件,可以以此作为开始。看看 /usr/share/doc/openvpn/sample/sample-config-files/ 就知道了。

如果你想手工建立一个配置文件,可以从 server.confroadwarrior-server.conf 开始(视情况而定),并将你的配置文件放在 /etc/openvpn/server 中。这两个文件都有大量的注释,所以请阅读注释并根据你的情况作出决定。

你可以使用我预先建立的服务器和客户端配置文件模板和 sysctl 文件来打开网络路由,从而节省时间和麻烦。这个配置还包括自定义记录连接和断开的情况。它在 0penVPN 服务器的 /etc/openvpn/server/logs 中保存日志。

如果你使用我的模板,你需要使用你的 IP 地址和主机名编辑它们。

要使用我的预建配置模板、脚本和 sysctl 来打开 IP 转发,请下载我的脚本:

$ curl \
  https://www.dgregscott.com/ovpn/OVPNdownloads.sh > \
  OVPNdownloads.sh

阅读该脚本,了解它的工作内容。下面是它的运行概述:

  • 在你的 0penVPN 服务器上创建适当的目录
  • 从我的网站下载服务器和客户端的配置文件模板
  • 下载我的自定义脚本,并以正确的权限把它们放到正确的目录中
  • 下载 99-ipforward.conf 并把它放到 /etc/sysctl.d 中,以便在下次启动时打开 IP 转发功能
  • /etc/openvpn 中的所有内容设置了所有权

当你确定你理解了这个脚本的作用,就使它可执行并运行它:

$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh

下面是它复制的文件(注意文件的所有权):

$ ls -al -R /etc/openvpn
/etc/openvpn:
total 12
drwxr-xr-x.  4 openvpn openvpn  34 Apr 6 20:35 .
drwxr-xr-x. 139 root  root  8192 Apr 6 20:35 ..
drwxr-xr-x.  2 openvpn openvpn  33 Apr 6 20:35 client
drwxr-xr-x.  4 openvpn openvpn  56 Apr 6 20:35 server

/etc/openvpn/client:
total 4
drwxr-xr-x. 2 openvpn openvpn  33 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn  34 Apr 6 20:35 ..
-rw-r--r--. 1 openvpn openvpn 1764 Apr 6 20:35 OVPNclient2020.ovpn

/etc/openvpn/server:
total 4
drwxr-xr-x. 4 openvpn openvpn  56 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn  34 Apr 6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn  59 Apr 6 20:35 ccd
drwxr-xr-x. 2 openvpn openvpn  6 Apr 6 20:35 logs
-rw-r--r--. 1 openvpn openvpn 2588 Apr 6 20:35 OVPNserver2020.conf

/etc/openvpn/server/ccd:
total 8
drwxr-xr-x. 2 openvpn openvpn 59 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..
-rwxr-xr-x. 1 openvpn openvpn 917 Apr 6 20:35 client-connect.sh
-rwxr-xr-x. 1 openvpn openvpn 990 Apr 6 20:35 client-disconnect.sh

/etc/openvpn/server/logs:
total 0
drwxr-xr-x. 2 openvpn openvpn 6 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..

下面是 99-ipforward.conf 文件:

# Turn on IP forwarding. OpenVPN servers need to do routing
net.ipv4.ip_forward = 1

编辑 OVPNserver2020.confOVPNclient2020.ovpn 以包括你的 IP 地址。同时,编辑 OVPNserver2020.conf 以包括你先前的服务器证书名称。稍后,你将重新命名和编辑 OVPNclient2020.ovpn 的副本,以便在你的客户电脑上使用。以 ***? 开头的块显示了你要编辑的地方。

文件所有权

如果你使用了我网站上的自动脚本,文件所有权就已经到位了。如果没有,你必须确保你的系统有一个叫 openvpn 的用户,并且是 openvpn 组的成员。你必须将 /etc/openvpn 中的所有内容的所有权设置为该用户和组。如果你不确定该用户和组是否已经存在,这样做也是安全的,因为 useradd 会拒绝创建一个与已经存在的用户同名的用户:

$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn

防火墙

如果你在步骤 1 中启用 firewalld 服务,那么你的服务器的防火墙服务可能默认不允许 “虚拟专用网络” 流量。使用 firewall-cmd 命令,你可以启用 0penVPN 服务,它可以打开必要的端口并按需路由流量:

$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload

没有必要在 iptables 的迷宫中迷失方向!

启动你的服务器

现在你可以启动 0penVPN 服务器了。为了让它在重启后自动运行,使用 systemctlenable 子命令:

systemctl enable --now openvpn-server@OVPNserver2020.service

最后的步骤

本文的第四篇也是最后一篇文章将演示如何设置客户端,以便远程连接到你的 0penVPN。

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


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

作者:D. Greg Scott 选题:lujun9972 译者:geekpi 校对:turbokernel

本文由 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 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...