如何在Systemd(ArchLinux)中自动启动iptables规则

有人认为我在安全性方面有些偏执,这就是为什么使用防火墙对我至关重要。 在我的笔记本电脑上,我有对我来说非常重要的敏感信息。 并且因为防火墙是用于PC的,例如锁或 安全 对我们来说,还记得在计算机上,我们存储了电子邮件访问密码,银行帐户数据(无论拥有者是谁),服务器信息以及其他直接影响我们身体生活的虚拟信息……毫无疑问,步行建议不要在没有配置防火墙的情况下通过网络,在我们的计算机上没有适当的安全保护。

前段时间我向您展示了如何启动iptables规则 自动在Debian等发行版上,Ubuntu或其他包含文件/etc/rc.local的文件,但是在ArchLinux中,因为它使用systemd,所以此文件不存在。

因此,我发现可以按照自己的意愿配置iptables的方法是创建一个配置iptables的bash脚本,然后修改/usr/lib/systemd/system/iptables.service文件……但是,让我们分篇进行🙂

1. 我们必须 创建一个bash脚本 包含我们的iptables规则,如下所示: Bash + iptables脚本示例

2.创建脚本,在其中编写规则并授予其执行权限之后,我们将继续编辑systemd iptables服务:

以下命令必须在具有管理权限的情况下执行,或者像我一样使用sudo或直接与root用户一起执行

sudo nano /usr/lib/systemd/system/iptables.service

我们会遇到这样的事情:

[单位]说明=数据包筛选框架[服务]类型=单发ExecStart = / usr / bin / iptables-restore /etc/iptables/iptables.rules ExecReload = / usr / bin / iptables-restore /etc/iptables/iptables.rules ExecStop = / usr / lib / systemd /脚本/ iptables-flush RemainAfterExit =是[安装] WantedBy =多用户。target

3. 假设先前创建的脚本位于/home/myuser/script-iptables.sh中,则将保留已打开的iptables.service文件,如下所示:

[单位]说明=数据包筛选框架[服务]类型= oneshot ExecStart = / home / myuser / script-iptables.sh ExecReload = / home / myuser / script-iptables.sh ExecStop = / usr / lib / systemd /脚本/ iptables -flush RemainAfterExit =是[安装] WantedBy = multi-user.target

4. 然后,我们需要确保iptables自动启动:

sudo systemctl enable iptables

5. 我们开始:

sudo systemctl start iptables

6. 我们可以检查规则:

sudo iptables -nL

这只是我发现(1)拥有自己的bash脚本为我配置iptables的最简单方法,还(2)规则自动启动,最后(3)脚本本身是独立的,即,如果明天我想在安装的Debian中使用它(例如),则无需进行很多重新配置。

无论如何,我希望你觉得它有用useful

问候


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   埃利奥时间3000

    有趣…。

  2.   扫罗

    编辑iptables.rules文件本来不是一件容易的事,如果您已经具有sudo的root访问权限,则值得对其进行修改,对吗?

  3.   ph

    我这样做的方式略有不同,尽管还利用了您上载的脚本来启动规则。

    1-我们启动该服务(如果尚未启动):
    # systemctl enable iptables.service
    # systemctl start iptables.service

    2-我们看看我们有什么规则(如果没有碰触,我们假设一切都是开放的) sudo iptables -nvL

    3-我们更改所需的规则,启动配置脚本:
    # sh /home/miusuario/script-iptables.sh

    4-让我们看看活动规则如何变化:
    # iptables -nvL

    5-我们保存新的iptables配置以供将来重新启动:
    # iptables-save > /etc/iptables/iptables.rules

    5b-如果我们手动编辑文件/etc/iptables/iptables.rules来更改规则,则必须重新加载配置:
    # systemctl reload iptables

    至少对我来说,这样更容易。 我正在尝试学习一些bash和kdialog以更图形化的方式管理设置。 稍后,我将尝试使用qtcreator做一些更完整的事情,例如,能够根据我们正在配置的设备(路由器,PC等)拥有多个配置脚本,以查看其是否出来。

  4.   猎人

    该验证码是错误过滤器,请更改为另一个或更新它,因为它在多次尝试后会变得烦人。

    1.    拉夫

      它与humanOS,Firefoxmanía所使用的相同..也许它与缓存有关。

      1.    猎人

        好吧,我什至不再评论这两个了。

  5.   mj

    问候,
    这是一个非常有用的主题。
    无疑对于那些对我们PC上存储的信息的安全性感兴趣的人; “ Iptables”是必须学习使用的工具之一; 尽管就其本身的重要性而言,它有点难以学习。
    我找到了该视频的主题,希望您可以允许我分享您的电子邮件地址“ http://www.youtube.com/watch?v=Z6a-K_8FT_Y”; 我感到惊讶的是,这与这里的情况有所不同。 但是无论如何,我想这将归因于GNU / Linux(ARCH,DEBIAN,SUSE等)发行版的多样性,无论如何我们都必须学习。