IP範囲をブロックしたいのですが、同時にその範囲内では1つのIPしか許可しません。検索してみると次のようになります。
$ sudo iptables -A INPUT -s <ALLOWED_IP> -j ACCEPT
$ sudo iptables -A OUTPUT -d <ALLOWED_IP> -j ACCEPT
$ sudo iptables -I INPUT -m iprange --src-range <NOT_ALLOWED_RANGE> -j DROP
しかし、うまくいきません。また、順序を変更しようとしましたが、まだ動作していませんでした。
$ sudo iptables -I INPUT -m iprange --src-range <NOT_ALLOWED_RANGE> -j DROP
$ sudo iptables -A INPUT -s <ALLOWED_IP> -j ACCEPT
$ sudo iptables -A OUTPUT -d <ALLOWED_IP> -j ACCEPT
私たちが何を間違えたのでしょうか?
ベストアンサー1
だからコメントでも言及したように、順序が重要です!
セキュリティ上の理由から、netfilterは必要なIPアドレスまたは範囲のみを許可するようにチェーン削除iptables
ポリシーを変更することをお勧めします。INPUT
-I
質問に答えるには、まずルールを一番上に置くフラグを使用して目的のIPアドレスを許可する必要があります。
iptables -I INPUT -s SOURCE_IP -j ACCEPT
iptables -A INPUT -m iprange --src-range SRC_RANGE/CIDR -j DROP
最初iptables
のルールが適用されます。つまり、一番上の人が常に勝利するという意味です。
DENY (this rule wins)
|
ALLOW