📜  iptables 阻止除 1 个 ip 之外的所有 ssh (1)

📅  最后修改于: 2023-12-03 14:42:10.203000             🧑  作者: Mango

介绍如何使用iptables阻止除1个IP之外的所有SSH连接

Iptables是一个在linux环境下运行的工具,它用于配置linux内核中内置的网络防火墙,可以用来过滤、阻止、重定向和转发网络流量。

在这个例子中,我们将使用iptables阻止所有SSH连接,除了指定的一个IP地址之外。

步骤
  1. 运行以下命令,将默认所有规则设置为DROP:

    sudo iptables -P INPUT DROP
    

    这将拒绝所有进入服务器的连接。

  2. 接下来,需要允许通过的SSH连接,以便您可以使用SSH连接到服务器。运行以下命令:

    sudo iptables -A INPUT -p tcp --dport 22 -s <允许的IP地址> -j ACCEPT
    

    这允许TCP端口22(SSH端口)从指定IP地址发送的流量。

    注意:将上述命令中的<允许的IP地址>替换为您允许的实际IP地址。

  3. 最后,如果您还需要允许其他流量进入服务器,可以单独添加其他规则。例如,如果您想允许HTTP和HTTPS流量,请运行以下命令:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    

    这将允许TCP端口80(HTTP端口)和TCP端口443(HTTPS端口)的所有流量进入服务器。

结论

在本文中,我们介绍了如何使用iptables阻止除1个IP地址之外的所有SSH连接。这将帮助您保护您的服务器免受未经授权的访问。记得使用以上方法前先备份 iptables 配置文件以免不小心造成无法恢复的损失。