
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.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
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です。どうぞお楽しみください。