IPアドレス範囲をフィルタリングする方法は?

IPアドレス範囲をフィルタリングする方法は?

単一のIPアドレスまたはIPアドレス範囲をフィルタリングしてコンピュータにアクセスできないようにするにはどうすればよいですか?

例:

  1. 詰まった31.13.76.102

  2. 216.58.192.0からまでブロック216.58.223.255

  3. 173.194.0.0からまでブロック173.194.255.255

  4. 74.125.136.0からまでブロック74.125.136.255

文字列なしで自分のコンピュータにアクセスしないようにしたいと思います。

この場合に使用できることはわかっていますが、正確な構文、変更を永久に適用する方法、起動時にサービスを開始するiptablesために実行するコマンドはわかりません。iptablesまた、インターネットアクセスが中断される可能性がある間違いを犯したくありません。

答え1

ホストは使用できますが、/etc/hosts.denysshやxinetdなどのTCPラッピングアプリケーションでのみ機能します。iptablesあなたのシステムのための真のファイアウォールなので、使用をお勧めします。次のように使用してください。

iptables -I INPUT -s 31.13.76.102 -j DROP
iptables -I INPUT -m iprange --src-range 216.58.192.0-216.58.223.255 -j DROP
iptables -I INPUT -m iprange --src-range 173.194.0.0-173.194.255.255 -j DROP
iptables -I INPUT -m iprange --src-range 74.125.136.0-74.125.136.255 -j DROP
iptables-save > /etc/sysconfig/iptables

iprangeこれは本当に素晴らしいモジュールです。

答え2

以下を追加するだけです/etc/hosts.deny

ALL: 31.13.76.102
ALL: 216.58.192.0/19
ALL: 173.194.0.0/16
ALL: 74.125.136.0/24

答え3

注文するufwゆう複雑ではないF怒るワットみんな、iptables用の単純化されたフロントエンド(元のUbuntu用、現在Debianや他のディストリビューションでも利用可能)CIDR範囲仕様、例えば:

ufw insert 1 deny from 31.13.76.102 # single address
ufw insert 1 deny from 216.58.192.0/18 # range

関連情報