尽管有时我仍然会自己接触 Windows,而在许多其他情况下,当我不得不离开计算机做事时,他们会强迫我 (marditoh rodoreh),但对我来说,谈论 Windows 就像是被时间远远抛在后面的东西。 当我将它用作我的主要系统(我没有其他系统)时,我尝试使用卡巴斯基杀毒软件和偶尔使用的防火墙等软件以及许多其他安全工具来保护它。 在Linux中我们从来没有像在Windows中那样暴露过,但是也有一些软件可以帮助我们冷静下来,比如 IP表, 防火墙或防火墙。
防火墙是一个安全系统,负责控制进入和离开操作系统的网络流量。 Linux 中最广泛使用的 IPtables 之一,可能在您不知情的情况下,自您发布它以来,它已经安装在您的操作系统中。 我们将在本文中尝试做的是解释 如何在 Linux 中配置防火墙 与IP表。
Linux 上的 IPtables,你需要知道的
配置防火墙 可能很复杂,以及更多在像 Linux 这样的操作系统中,其中最好的是通过触摸终端来实现的。 在开始之前,最好了解一点网络和安全问题,或者至少了解,当我们连接时,我们正在与其他设备通信,而这些设备或它们的所有者可能有好的或坏的意图。 出于这个原因,根据我们对 PC 的使用情况,控制出入的所有内容是值得的。
此外,对于可能发生的情况,如果我们的 Linux 系统上有另一个防火墙,并且我们要开始调整 IPtables 中的内容,则值得为我们当前的防火墙配置制作一个备份副本。 清楚了所有这些之后,我们开始全面讨论 IPtables 的配置。
- 我们要做的第一件事是安装包。 大多数 Linux 发行版都默认安装了它,但情况并非总是如此。 要查明我们的操作系统中是否安装了 IPtables,我们打开一个终端并写入
iptables -v
. 就我而言,在撰写本文时,我的终端返回给我 iptable v1.8.8. 如果未安装,可以安装:
Ubuntu/Debian 或衍生产品:
sudo apt 安装 iptables
Fedora/Redhat 或衍生品:
sudo yum 安装 iptables
Arch Linux 和衍生品
sudo pacman -S iptables
安装后,它将启用:
sudo systemctl 启用 iptables sudo systemctl 启动 iptables
您可以通过以下方式查看其状态:
sudo systemctl 状态 iptables
- 安装防火墙后,您必须配置其规则。 IPtables 规则分为表(我们将在本文后面更详细地讨论):filter、nat 和 mangle,其中我们必须添加 raw 和 security。 filter 表用于控制传入和传出流量,nat 表用于进行 NAT(网络地址转换),mangle 表用于修改 IP 数据包。 要配置过滤表的规则,使用以下命令:
- iptables -A INPUT -j ACCEPT(允许所有传入流量)。
- iptables -A OUTPUT -j ACCEPT(允许所有传出流量)。
- iptables -A FORWARD -j ACCEPT(允许所有路由流量)。 但是,此配置允许所有流量,不建议用于生产系统。 根据系统的特定需求指定防火墙规则很重要。 例如,如果要阻止端口 22 (SSH) 上的传入流量,可以使用以下命令:
iptables -A输入-p tcp --dport 22 -j DROP
- 另一个重要的事情是保存设置,以免在重新启动系统时丢失它们。 在 Ubuntu 和 Debian 上,“iptables-save”命令用于将当前配置保存到文件中。 在 Red Hat 和 Fedora 上,“service iptables save”命令用于保存配置。 如果您对使用哪一个有疑问,Ubuntu/Debian 命令往往适用于更多发行版。
重启后加载配置
至 加载保存的设置,使用用于保存它们的相同命令,但使用“恢复”操作而不是“保存”。 在 Ubuntu 和 Debian 上,“iptables-restore”命令用于从文件加载保存的配置。 在 Red Hat 和 Fedora 上,“service iptables restore”命令用于加载保存的配置。 再次重申,如果您对使用哪个命令有疑问,Ubuntu/Debian 命令通常效果最好。
重要的是要注意,如果对防火墙设置进行了更改,则需要保存并重新加载以使更改生效。 这是一种用新数据覆盖配置文件的方法,如果不这样做,更改将不会被保存。
IPtables 中的表
有5种 桌子 在 IPTables 中,每个应用了不同的规则:
- 过滤 :这是使用 IPTables 时的主要和默认表。 这意味着如果在应用规则时没有提到特定的表,规则将被应用到过滤表。 顾名思义,过滤表的作用就是决定是允许数据包到达目的地还是拒绝它们的请求。
- NAT (Network Address Translation):顾名思义,该表允许用户确定网络地址的转换。 该表的作用是确定是否以及如何修改源和目标数据包地址。
- 失踪: 该表允许我们修改数据包的 IP 标头。 例如,可以调整 TTL 来延长或缩短数据包可以支持的网络跳数。 同理,其他IP header也可以根据自己的喜好修改。
- 原:此表的主要用途是跟踪连接,因为它提供了一种机制来标记数据包以将数据包视为正在进行的会话的一部分。
- 保安:使用安全表,用户可以将内部 SELinux 安全上下文标志应用于网络数据包。
最后两个表几乎没有用到,以至于大多数文档只讨论 filter、nat 和 mangle。
在帮助文件中,我们可以找到有关如何管理 IPtables 的示例。 要查看它,我们将打开一个终端并输入 iptables -h
.
尽管 iptables 是 Linux 的最佳选择之一,但如果您更喜欢使用图形界面的更简单的东西,您可以看看 Firewalld.
成为第一个发表评论