iptableルールがブロックされない

iptableルールがブロックされない

192.168.1.1特定の範囲の IP (からまで)への SSH アクセスを許可し192.168.1.24、残りすべてをブロックしようとしていますが、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

残念ながら、これは機能しません。VM を設定すると、192.168.1.89SSH 経由でアクセスできるようになります。誰か助けてくれませんか?

答え1

192.168.1.0/241 から 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

1つ目は、すべてのINPUT RUllseをDROPします(セキュリティ強化のため)。2つ目は、iptables -A INPUT -p tcp -i eth0 --dport 22 -m iprange --src-range 192.168.1.1-192.168.1.24 -j ACCEPTです。どうぞお楽しみください。

関連情報