要使用 Linux 中的 iptables 阻断到特定 IP 地址的特定端口的访问,我们可以遵循以下步骤。这里以阻断到 IP 地址 192.168.1.100 的端口 80 为例:

  1. 打开终端:首先,我们需要打开 Linux 系统的终端。

  2. 使用 iptables:使用以下命令来添加一条规则,阻断到指定 IP 和端口的访问。

    sudo iptables -A OUTPUT -p tcp --dport 80 -d 192.168.1.100 -j DROP
    

    这里的参数解释如下:

    • -A OUTPUT:将规则添加到 OUTPUT 链。
    • -p tcp:指定协议为 TCP。
    • --dport 80:指定目的端口为 80。
    • -d 192.168.1.100:指定目的 IP 地址。
    • -j DROP:对于符合条件的包,执行 DROP 动作,即丢弃。
  3. 保存规则iptables 规则在重启后默认不会保存。你可以使用 iptables-save 命令或相应的方法来保存这些规则,具体取决于你的 Linux 发行版。

  4. 验证规则:使用 sudo iptables -L 命令来检查你的规则是否已正确添加。

请注意,操作 iptables 需要 root 权限,因此在大多数命令前使用了 sudo。在对网络配置进行更改时,确保我们完全了解这些更改的后果,以避免不必要的网络中断。
在这里插入图片描述

要解除之前使用 iptables 设置的阻断规则,我们可以使用 iptables 删除(-D)命令。继续以之前的例子为例,即删除阻止到 192.168.1.100 IP 地址的 80 端口的规则,我们可以这样做:

  1. 查找规则:首先,我们需要找到要删除的规则在 iptables 链中的具体位置。使用命令 sudo iptables -L --line-numbers 可以查看所有规则及其行号。

  2. 删除规则:一旦我们找到了要删除的规则的行号,使用 -D 选项加上链名(例如 OUTPUT)和规则的行号来删除它。例如,如果规则在 OUTPUT 链的第 3 行,使用以下命令删除它:

    sudo iptables -D OUTPUT 3
    

    如果我们确切知道规则的详细信息,也可以直接使用规则的具体参数来删除它,例如:

    sudo iptables -D OUTPUT -p tcp --dport 80 -d 192.168.1.100 -j DROP
    
  3. 保存更改:和添加规则一样,删除规则后也需要保存更改。根据我们的 Linux 发行版,使用 iptables-save 或相应的方法保存配置。

  4. 验证更改:最后,使用 sudo iptables -L 再次检查,确保规则已被正确删除。

在进行这些操作时,请确保具有足够的权限,并且对操作的影响有充分的了解,以免意外中断网络服务。

Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐