如何在 Alpine Linux 上启用/禁用防火墙如何在 Alpine Linux 上启用/禁用防火墙如何在 Alpine Linux 上启用/禁用防火墙如何在 Alpine Linux 上启用/禁用防火墙
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Alpine Linux 上启用/禁用防火墙

Awall (Alpine Wall) 是一个为 Alpine Linux 用户提供的易于使用且用户友好的 iptables 防火墙界面。它从 Alpine Linux 2.4 版开始可用,并使用一组以 JSON 格式编写的预定义策略。这些 JSON 文件称为策略文件,位于 /usr/share/awall/mandatory 目录中。

在 awall 工具中,您可以轻松遵循 IPv6 和 IPv4 协议的单一源、策略、限制和区域等高级概念。本教程展示如何使用此软件包在 Alpine Linux 上启用/禁用防火墙。

如何设置防火墙(Awall)

在 Alpine Linux 系统上设置防火墙是增强系统安全性的最重要任务之一。

安装防火墙(Awall)借助终端,您可以非常轻松地在 Alpine 上安装防火墙。为此,请按照下列步骤操作:

在系统中安装任何软件包之前,最好先更新系统。

apk update

接下来,使用以下命令安装适用于 IPv6 和 IPv4 协议的 Iptables:

apk add ip6tables iptables

awall 防火墙在 Alpine Linux 存储库中可用于许多架构,包括 arch64、c86 和 x86_64 架构。您需要使用简单的 apk 命令来安装 awall 防火墙。运行以下命令安装awall:

apk add -u awall

使用以下命令,可以确认awall已安装:

apk info awall

使用以下命令检查已安装的awall的版本:

apk version awall

/usr/share/awall/mandatory 目录包含一组预定义的 JSON 格式的防火墙策略。您可以使用以下命令列出这些策略:

ls -l /usr/share/awall/mandatory

在Alpine Linux中启用/禁用防火墙之前的先决条件成功安装防火墙后,您可以启用和禁用它。但是,在此之前,您必须对其进行配置。

首先,您需要使用以下命令加载防火墙的 iptables 内核模块:

modprobe -v ip_tables
modprobe -v ip6_tables

注意:前面的命令仅在 Alpine Linux 中首次安装 awall 时使用。

使用以下命令在启动时自动启动防火墙并自动加载 Linux 内核模块:

rc-update add iptables && rc-update add ip6tables

您可以使用以下命令控制防火墙服务:

rc-service iptables {start|stop|restart|status}
rc-service ip6tables {start|stop|restart|status}

现在,我们使用以下命令启动服务:

rc-service iptables start && rc-service ip6tables start

使用以下命令可以查看防火墙服务状态:

rc-service iptables status && rc-service ip6tables status

如您所见,防火墙服务现已启动。

值得注意的是awall是一个生成规则的前端工具。它的所有防火墙规则都存储在 /etc/awall/ 目录中。现在,我们在此目录下创建一些规则。

首先,使用以下命令打开该目录:

cd /etc/awall

使用 ls 命令检查其中存在的文件:

您可以看到 /etc/awall 中有两个文件:可选文件和私有文件。在这里,我们在可选文件下创建一些策略。

借助以下命令打开该目录的可选文件:

cd /etc/awall/optional

1. 首先,通过 touch 命令创建一个名为“server.json”的新文件。它会删除所有传入和传出连接。

touch server.json

您可以使用任何文本编辑器打开此文件。在本例中,我们使用 vi 编辑器打开该文件。

vi server.json

完成后,粘贴以下所有行:

{
  "description": "An awall policy that drops all incoming and outgoing traffic",

  "variable": { "internet_if": "eth0" },

  "zone": {
    "internet": { "iface": "$internet_if" }
  },

  "policy": [
    { "in": "internet", "action": "drop" },
    { "action": "reject" }
  ]

}

粘贴所有前面的行后,按“Esc”。写入“:wq”并按“Enter”退出文件。

2. 我们创建一个“ssh.json”文件,用于访问端口 22 上的 SSH 连接,并具有最大登录限制。该文件可以避免攻击者并阻止来自 Alpine 服务器的暴力攻击。

touch ssh.json
vi ssh.json

将以下详细信息粘贴到该文件中:

{
    "description": "Allow incoming SSH access (TCP/22)",

    "filter": [
        {
            "in": "internet",
            "out": "_fw",
            "service": "ssh",
            "action": "accept",
            "src": "0.0.0.0/0",
            "conn-limit": { "count": 3, "interval": 60 }
        }
    ]
}

3. 创建“ping.json”文件来定义允许 ICMP ping 请求的防火墙策略。

touch ping.json
vi ping.json

将以下行粘贴到该文件中:

{

    "description": "Allow ping-pong",

    "filter": [
        {
              "in": "internet",
              "service": "ping",
              "action": "accept",
              "flow-limit": { "count": 10, "interval": 6 }
        }
    ]
}

4. 创建“webserver.json”文件来定义打开 HTTPS 和 HTTP 端口的规则。

touch webserver.json
vi webserver.json

将以下行粘贴到该文件中:

{
    "description": "Allow incoming Apache (TCP 80 & 443) ports",
    "filter": [
        {
            "in": "internet",
            "out": "_fw",
            "service": [ "http", "https"],
            "action": "accept"
        }
    ]
}

5. 最后,我们创建一个“outgoing.jsopn”文件,允许传出连接到一些最常用的协议,例如 ICMP、NTP、SSH、DNS、HTTPS 和 HTTP ping。

touch outgoing.json
vi outgoing.json

将以下所有详细信息粘贴到此文件中:

{
    "description": "Allow outgoing connections for http/https, dns, ssh, ntp, ssh and ping",

    "filter": [
        {
            "in": "_fw",
            "out": "internet",
            "service": [ "http", "https", "dns", "ssh", "ntp", "ping" ],
            "action": "accept"
        }
    ]
}

您可以看到之前创建的所有文件都存在于 /etc/awall/Optional 目录中。

使用以下命令,您可以列出所有防火墙策略:

awall list

现在,您可以在 Alpine Linux 上启用或禁用防火墙。

如何在 Alpine Linux 上启用/禁用防火墙

安装并配置 awall 后,您可以在 Alpine Linux 中启用和禁用防火墙。

在Alpine Linux上启用防火墙默认情况下,防火墙的所有策略都是禁用的。要启用它,需要首先启用他们的策略。

您可以使用以下命令启用所有创建的策略:

awall enable <policy_name>

现在,我们启用所有创建的策略:

awall enable ssh
awall enable server
awall enable webserver
awall enable ping
awall enable  outgoing

使用以下命令,我们可以看到所有策略均已启用:

awall list

最后,您可以通过运行以下命令来启用awall防火墙:

awall activate

因此,您的系统现在已启用防火墙。

禁用Alpine Linux上的防火墙当您不想使用它时,可以通过禁用其所有策略来禁用Alpine Linux中的awall防火墙。

使用以下命令,您可以轻松禁用防火墙策略:

awall disable <policy_name>

要禁用防火墙,我们禁用之前的所有策略:

awall disable ssh
awall disable server
awall disable webserver
awall disable ping
awall disable outgoing

使用以下命令,可以看到其所有策略均被禁用:

awall list

如果您不想在Alpine Linux中使用防火墙,可以通过以下命令停止其对IPv6和IPv4协议的服务:

rc-service iptables stop && rc-service ip6tables stop

除此之外,您还可以借助以下命令获取有关 awall 的更多附加信息:

awall help

额外提示:您还可以通过以下命令卸载 Alpine Linux 上的 awall 防火墙:

rc-update del ip6tables && rc-update del iptables

结论

您可以通过启用防火墙进一步增强和加强系统的安全性。本指南演示如何在 Alpine Linux 上启用和禁用防火墙。 Alpine 中的 awall iptables 防火墙可用于 IPv6 和 IPv4 协议,并且未预安装。

Awall 已经包含在 Alpine Linux 的存储库中,因此您可以轻松安装它。安装后,您可以通过创建和启用策略来启用防火墙。同样,您也可以通过重新禁用所有创建的策略来禁用防火墙。

©2015-2025 艾丽卡 support@alaica.com