WireGuard VM 或容器充当网关

Pow*_*Cat 5 vpn gateway wireguard proxmox

我有一台运行 Proxmox 的家庭服务器,有 9 个虚拟机和 CT。我希望能够通过 VPN 网关路由特定的 VM/CT 流量。我知道这可以通过 OpenVPN 来完成,但它在速度方面非常有限(我有 1Gig UP/DOWN 连接)。因此,我一直在尝试寻找有关如何设置 WireGuard VPN 服务器网关的教程或指南。

\n

我发现了什么:

\n\n

和他们我有点迷失了。主要是如何让服务器路由流量。

\n

示例场景:

\n

运行地理封锁服务的容器 \xe2\x86\x92 更改此容器的默认网关以指向 Wireguard Server -> Voil\xc3\xa0 无地理封锁。

\n

Pow*_*Cat 5

我终于让它工作了。这适用于任何想要实现与我相同目标的人。

\n
    \n
  1. 安装Ubuntu,安装Wireguard服务器。

    \n
  2. \n
  3. 使用 VPN 提供商的配置创建 wg0.conf。就我而言,我必须使用此 python 脚本https://github.com/hsand/pia-wg来提取 PIA WireGuard 配置。我的 wg0 配置如下所示:

    \n
  4. \n
\n

在此输入图像描述

\n
    \n
  1. 测试 VPN 连接,如果一切正常,您可以继续。

    \n
  2. \n
  3. 接下来,启用IP转发,我使用了这篇文章: https: //linuxconfig.org/how-to-turn-on-off-ip-forwarding-in-linux。此时,我通过将 Wireguard VPN 设置为 w11 测试虚拟机的默认网关来测试转发是否有效(您的 VPN 隧道目前需要禁用,因为尚未配置转发)。对 google.com 的 Tracert 显示 Wireguard VM 是跃点之一,因此一切正常。

    \n
  4. \n
  5. 接下来,我更改了虚拟机 NIC\xe2\x80\x99s 名称服务器以使用 PIA DNS 服务器(可以在其网站上找到或从 wg0 配置复制https://helpdesk.privateinternetaccess.com/kb/articles/using-pia -dns-in-custom-configurations)。我\xe2\x80\x99稍后会解释为什么我这样做。网卡配置:

    \n
  6. \n
\n

在此输入图像描述

\n
    \n
  1. 接下来是使这一切正常工作的主要部分,IPTABLES 配置。我从 CraftComputing YouTube 频道 ( https://youtu.be/xFficDCEv3c ) 获得了一个已经制作的脚本,修改了一些设置以适合我的用例。请参阅以“CHANGED”开头的部分,这些是我更改的设置。\n https://pastebin.com/H2yrqXMF

    \n

    我将 iptables.sh 保存在 /etc/wireguard/ 文件夹中。

    \n
  2. \n
  3. 接下来,启用 WireGuard 隧道并使用 运行 Iptables 脚本sudo bash iptables.sh。(这破坏了我的 SSH,但我不介意\xe2\x80\x99,因为我从 Proxmox 控制台控制服务器。)

    \n
  4. \n
\n

为什么使用 PIA DNS 服务器?

\n

在测试此配置的 DNS 泄漏时,我注意到我的机器仍然使用我的 IPS\xe2\x80\x99s DNS 服务器,有效地泄漏了我的公共 IP。这就是为什么在步骤 5 中我更改了 VPN 虚拟机的 DNS 配置以及通过 VPN 路由其流量的计算机的 DNS 设置。

\n

我如何使用这个:

\n

在一台计算机上,我希望通过 WireGuard VPN 路由流量,我将默认网关设置为 WireGuard VM 的地址,并将 DNS 服务器设置为 PIA\xe2\x80\x99s DNS 服务器。

\n

我不知道这是否是最好的方法,但这对我有用。

\n

关于 IP 表

\n

它们的设置方式是,如果 VPN 隧道出现故障,则不会重定向任何流量。本质上充当“终止开关”。

\n