iptable-Regeln blockieren nicht

iptable-Regeln blockieren nicht

Ich versuche, SSH-Zugriff auf einen bestimmten IP-Bereich (von 192.168.1.1bis 192.168.1.24) zuzulassen und den Rest zu blockieren, aber da ich neu bei iptables bin, kann ich das anscheinend nicht herausfinden. Ich habe:

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

Das funktioniert allerdings nicht, mit einer VM 192.168.1.89kann ich trotzdem über SSH darauf zugreifen. Kann jemand helfen?

Antwort1

192.168.1.0/24ist nicht von 1 bis 24, sondern verwendet 24 Bits (= die ersten 3 Blöcke), sodass alles akzeptiert wird, das mit 192.168.1 beginnt. Das richtige ist /27, lässt aber bis 192.168.1.31 zu.

Der nächstkleinere Bereich ist /28, der bis zu 192.168.1.15 zulässt.

Antwort2

/24 ist die CIDR-Länge, kein Bereich.

So verwenden Sie einen Bereich:

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

Antwort3

Der Erste DROP all INPUT Rullse (Für mehr Sicherheit) Der Zweite: iptables -A INPUT -p tcp -i eth0 --dport 22 -m iprange --src-range 192.168.1.1-192.168.1.24 -j ACCEPT Viel Spaß

verwandte Informationen