这将添加 SG-Sagittarii 服务器

这将添加 SG-Sagittarii 服务器

当服务器未连接到 VPN 时,我试图阻止deluged我的无头 Ubuntu Server 14.04.1 运行(我知道有很多线程讨论实现这一点的最佳方法;我并不是在寻找替代方法,而是在寻找我失败的原因)。

我已将 deluge 设置为使用传入端口 40000 和传出端口 40001:40101。我还设置了ufw默认设置以允许传出连接并拒绝传入连接。最后,我制定了以下规则:

     To                Action      From
     --                ------      ----
[ 1] 22                ALLOW IN    Anywhere
[ 2] 58846             ALLOW IN    Anywhere
[ 3] 40000 on tun0     ALLOW IN    Anywhere
[ 4] 40000             DENY IN     Anywhere
[ 5] 40001:40101/tcp   ALLOW OUT   Anywhere on tun0 (out)
[ 6] 40001:40101/udp   ALLOW OUT   Anywhere on tun0 (out)
[ 7] 40001:40101/tcp   DENY OUT    Anywhere (out)
[ 8] 40001:40101/udp   DENY OUT    Anywhere (out)

(与 (v6) 相同的规则重复。)

您会注意到我允许ssh,并允许 Deluge 瘦客户端连接在我的服务器上运行的守护进程。

但是,即使我没有连接到任何 VPN,deluge 仍然可以运行(ifconfig确认只有eth0环回处于活动状态)。

我不明白为什么它会这样工作。有人能解释一下我所忽略的吗?

答案1

以下是我找到的指南Airvpn 论坛。这对我理解同样的问题非常有帮助。

在以下快速教程中,我将尝试为您提供一些指导,以便(希望)完成简单的设置。这仅用于一般指导。根据需要调整地址、端口号和协议。例如,如果您的路由器位于不同的 IP 地址,则调整规则以满足您的需求。此外,如果您想连接到不同的 VPN 服务器,请使用您想要使用的服务器的 IP 地址。此处使用的 IP 号码仅作为示例。

请记住,规则排序很重要,第一个匹配的规则获胜!最先输入的规则将在列表中排名靠前。最后我将对此进行更多解释(见第 8 点)。

  1. 打开终端窗口并输入以下命令并根据需要进行调整。如果尚未登录,请使用 su 以 root 身份登录,或者在每个命令前放置 sudo。$ 代表终端中的提示符。

  2. 启用 UFW。

    $ ufw 启用

    这将启用防火墙,现在您可以添加规则。

  3. 设置默认行为以拒绝所有传入和传出的流量。

    $ ufw 默认拒绝输出 $ ufw 默认拒绝输入

    现在所有进出流量都将被阻止。

  4. 添加一条规则以允许流量进入您的路由器(仅在需要时)。

    $ ufw 允许到 192.168.178.0/24

    这将允许流量进入路由器/内部网络,在本例中位于 192.168.178.0/24。如果您的计算机有多个网络接口,您可以添加要使用的接口。例如

    $ ufw 允许在 eth0 上访问 192.168.178.0/24

    这将仅允许连接到 eth0 上的内部网络/路由器。如果 eth0 未连接,并且您使用例如 wlan0 连接,UFW 将阻止流量,您将无法连接到路由器/内部网络,因为只有来自 eth0 的流量才允许连接到 192.168.178.0/24。

  5. 添加一条规则,允许使用 UDP 流量通过端口 443 传输到 46.19.137.114。这是 AirVPN_CH-Virginis_UDP-443 服务器。

    $ ufw 允许到 46.19.137.144 端口 443 proto udp

    这将允许端口 443 上的 UDP 流量到 Virginis 服务器 (=46.19.137.144)。这是连接到 VPN 服务器所必需的。您可以通过重复上述规则添加多个 VPN 服务器,并将 IP 地址调整为要添加的服务器。也可以指定不同的端口号。只需将端口号更改为连接到 VPN 服务器所需的端口号即可。如果省略 proto udp 部分,则允许 tcp 和 udp 流量,如果将其更改为 proto tcp,则只允许 tcp 流量。

  6. 添加一条规则以允许通过 tun0 的进出流量。这是来自和发往 VPN 服务器的流量。

    $ ufw 允许在 tun0 上

    现在,浏览器等应用程序可以连接到网络上的不同站点。所有流量都将通过 VPN 服务器。

  7. 如果您使用 bit-torrent 客户端,您还需要允许来自您在 bittorrent 客户端中指定的端口的传入流量(这是允许对等点/种子连接到 bit-torrent 客户端(NAT)所需的端口)。

    $ ufw 允许在 tun0 上从任意端口进入任意端口 54321

    这将使来自不同 IP 地址(想要连接到您的客户端的对等点/种子)的传入流量能够通过 VPN 服务器连接(此处为 tun0)进行连接。在这种情况下使用端口号 54321,请将其调整为正确的端口号!

  8. 如果你现在进入。

    $ ufw 状态详细

    您将获得一个编号列表,内容如下:

    Status: active
    Logging: off
    Default: deny (incoming), deny (outgoing)
    New profiles: skip
    
    To                         Action      From
    --                         ------      ----
    54321 on tun0              ALLOW IN    Anywhere
    
    192.168.178.0/24           ALLOW OUT   Anywhere
    46.19.137.114 443          ALLOW OUT   Anywhere
    Anywhere                   ALLOW OUT   Anywhere on tun0
    

    这会向您显示应用了哪些规则以及防火墙的状态。输入以下内容时:

    $ ufw 状态编号

    您将获得一个编号列表。它看起来如下所示:

    Status: active
    
         To                         Action      From
         --                         ------      ----
    [ 1] 192.168.178.0/24           ALLOW OUT   Anywhere (out)
    [ 2] 46.19.137.114 443          ALLOW OUT   Anywhere (out)
    [ 3] Anywhere                   ALLOW OUT   Anywhere on tun0 (out)
    [ 4] 54321 on tun0              ALLOW IN    Anywhere
    

    这是一个编号列表。重要的是要知道规则的顺序很重要。如果您允许规则编号 1 中的某项操作(例如,允许所有传入和传出流量),则在此之后指定的所有其他规则将不起作用!

    最后,我还要指出删除和插入规则的可能性。如果您输入:

    $ ufw delete 1 # 并确认

    规则编号 1 将被删除,并且遵循规则 1 的所有其他规则将上移,在此示例中,列表将如下所示(在 $ ufw status 编号之后):

    Status: active
    
         To                         Action      From
         --                         ------      ----
    [ 1] 46.19.137.114 443          ALLOW OUT   Anywhere (out)
    [ 2] Anywhere                   ALLOW OUT   Anywhere on tun0 (out)
    [ 3] 54321 on tun0              ALLOW IN    Anywhere
    

    如果您想在特定位置添加规则,可以使用插入命令。例如,我们想添加第二个 VPN 服务器,以便在一个服务器宕机(您知道这种情况可能发生 :-))或我们需要选项时可以选择另一个。命令如下所示;

    $ ufw 插入 2 允许到 119.81.1.122 端口 443 proto tcp

    这将添加 SG-Sagittarii 服务器

    现在在 2 号位置插入了一条新规则。其他规则将下移。我们可以生成一个新列表:

    $ ufw 状态编号

    列表将如下所示:状态:活跃

         To                         Action      From
         --                         ------      ----
    [ 1] 46.19.137.114 443          ALLOW OUT   Anywhere (out)
    [ 2] 119.81.1.122 443/tcp       ALLOW OUT   Anywhere (out)
    [ 3] Anywhere                   ALLOW OUT   Anywhere on tun0 (out)
    [ 4] 54321 on tun0              ALLOW IN    Anywhere
    

本教程到此结束。使用它对你有好处,我希望有些事情会变得更清楚一些。对你的设置进行适当的更改并对其进行扩展。同样,GUI 版本很好,但命令行版本更好,只需要一点时间就可以习惯它。

相关内容