iptable 規則不會阻止

iptable 規則不會阻止

我試圖允許 SSH 訪問特定範圍的 IP(從192.168.1.1192.168.1.24)並阻止所有其餘 IP,但由於我是 iptables 的新手,所以我似乎無法弄清楚。我有 :

iptables -A INPUT -s 192.168.1.0/24 -p udp --dport ssh -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j REJECT
iptables -A INPUT -p udp --dport ssh -j REJECT

Tut 這不起作用,使用設定了 VM 的192.168.1.89我仍然可以透過 SSH 存取。有人可以幫忙嗎?

答案1

192.168.1.0/24不是從 1 到 24,而是使用 24 位元(= 3 個第一個區塊),因此它將接受以 192.168.1 開頭的任何內容。正確的位址是 /27,但最多允許 192.168.1.31。

下一個較小的範圍是 /28,最多允許 192.168.1.15。

答案2

/24 是 CIDR 長度,而不是範圍。

若要使用範圍,請執行下列操作:

iptables -A INPUT -m iprange --src-range 192.168.1.1-192.168.1.24 -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j REJECT

答案3

第一個DROP 所有INPUT Rullse (為了更安全)第二個: iptables -A INPUT -p tcp -i eth0 --dport 22 -m iprange --src-range 192.168.1.1-192.168.1.24 - ACjCEPT 玩得開心

相關內容