需要一些有关 iptables 的帮助。我总是使用具有公共 ipv4 ip 的 vps,并在 iptables 中使用这些规则来阻止尝试连接次数过多的 ssh 连接。
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 3 --name DEFAULT --mask 255.255.255.255 --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
默认情况下,输入设置为 BLOCK。在有人说我不应该使用默认端口 22 进行 ssh 之前,我不会……这只是为了演示目的。是的,我不使用 root 登录,而是使用 ssh 密钥。现在我有 nat vps,它有有限数量的开放端口可供使用,如果我尝试使用这些规则,我将无法再 ssh 到 vps。除了这些之外,所有其他规则都正常工作。我试图保存默认的 iptable 规则,也许有人可以告诉我为什么在这个 vps 上使用上述规则会立即阻止与 ssh 的连接。
# Generated by iptables-save v1.4.21 on Fri Nov 5 22:58:56 2021
*raw
:PREROUTING ACCEPT [284:27162]
:OUTPUT ACCEPT [235:31044]
COMMIT
# Completed on Fri Nov 5 22:58:56 2021
# Generated by iptables-save v1.4.21 on Fri Nov 5 22:58:56 2021
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Fri Nov 5 22:58:56 2021
# Generated by iptables-save v1.4.21 on Fri Nov 5 22:58:56 2021
*security
:INPUT ACCEPT [284:27162]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [235:31044]
COMMIT
# Completed on Fri Nov 5 22:58:56 2021
# Generated by iptables-save v1.4.21 on Fri Nov 5 22:58:56 2021
*mangle
:PREROUTING ACCEPT [284:27162]
:INPUT ACCEPT [284:27162]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [235:31044]
:POSTROUTING ACCEPT [235:31044]
COMMIT
# Completed on Fri Nov 5 22:58:56 2021
# Generated by iptables-save v1.4.21 on Fri Nov 5 22:58:56 2021
*filter
:INPUT ACCEPT [284:27162]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [235:31044]
COMMIT
# Completed on Fri Nov 5 22:58:56 2021