linux: 使用iptables阻断到某个ip某个端口的访问
要使用 Linux 中的 iptables 阻断到特定 IP 地址的特定端口的访问,我们可以遵循以下步骤。这里以阻断到 IP 地址 192.168.1.100 的端口 80 为例:
-
打开终端:首先,我们需要打开 Linux 系统的终端。
-
使用 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 动作,即丢弃。
-
保存规则:
iptables规则在重启后默认不会保存。你可以使用iptables-save命令或相应的方法来保存这些规则,具体取决于你的 Linux 发行版。 -
验证规则:使用
sudo iptables -L命令来检查你的规则是否已正确添加。
请注意,操作 iptables 需要 root 权限,因此在大多数命令前使用了 sudo。在对网络配置进行更改时,确保我们完全了解这些更改的后果,以避免不必要的网络中断。
要解除之前使用 iptables 设置的阻断规则,我们可以使用 iptables 删除(-D)命令。继续以之前的例子为例,即删除阻止到 192.168.1.100 IP 地址的 80 端口的规则,我们可以这样做:
-
查找规则:首先,我们需要找到要删除的规则在
iptables链中的具体位置。使用命令sudo iptables -L --line-numbers可以查看所有规则及其行号。 -
删除规则:一旦我们找到了要删除的规则的行号,使用
-D选项加上链名(例如OUTPUT)和规则的行号来删除它。例如,如果规则在 OUTPUT 链的第 3 行,使用以下命令删除它:sudo iptables -D OUTPUT 3如果我们确切知道规则的详细信息,也可以直接使用规则的具体参数来删除它,例如:
sudo iptables -D OUTPUT -p tcp --dport 80 -d 192.168.1.100 -j DROP -
保存更改:和添加规则一样,删除规则后也需要保存更改。根据我们的 Linux 发行版,使用
iptables-save或相应的方法保存配置。 -
验证更改:最后,使用
sudo iptables -L再次检查,确保规则已被正确删除。
在进行这些操作时,请确保具有足够的权限,并且对操作的影响有充分的了解,以免意外中断网络服务。
新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐

所有评论(0)