GNU/Linux >> Linux の 問題 >  >> Cent OS

Linux で ipset コマンドを使用する方法

IP セットは、IP アドレス、ネットワーク範囲、MAC アドレス、ポート番号、およびネットワーク インターフェイス名のコレクションを格納したものです。 iptables ツールは、より効率的なルール マッチングのために IP セットを活用できます。たとえば、悪意があることがわかっているいくつかの IP アドレス範囲の 1 つから発信されたトラフィックをドロップしたいとします。 iptables で各範囲のルールを直接構成する代わりに、IP セットを作成し、iptables ルールでそのセットを参照できます。これにより、ルール セットが動的になり、構成が容易になります。ファイアウォールによって処理されるネットワーク識別子を追加または交換する必要があるときはいつでも、IP セットを変更するだけです。

ipset コマンドを使用すると、IP セットを作成および変更できます。最初に、セットの名前、保存方法、およびデータ型を次のように設定する必要があります。

# ipset create range_set hash:net

この場合、range_set は名前、hash は格納方法、net はデータ型です。次に、範囲をセットに追加できます:

# ipset add range_set 178.137.87.0/24
# ipset add range_set 46.148.22.0/24

次に、iptables を使用して、ソースがこのセットの範囲に一致するトラフィックをドロップするルールを構成します。

# iptables -I INPUT -m set --match-set range_set src -j DROP

または、宛先がセットに一致するトラフィックをドロップするには:

iptables -I OUTPUT -m set --match-set range_set dst -j DROP

構文

ipset コマンドの構文は次のとおりです。

# ipset [options] {command}

ネットワーク リストのブロック

1. ネットワークアドレスの新しい「セット」を作成することから始めます。これにより、「myset」という名前の「ネット」ネットワーク アドレスの新しい「ハッシュ」セットが作成されます。

# ipset create myset hash:net

または

# ipset -N myset nethash

2. ブロックしたい IP アドレスをセットに追加します。

# ipset add myset 14.144.0.0/12
# ipset add myset 27.8.0.0/13
# ipset add myset 58.16.0.0/15
# ipset add myset 1.1.1.0/24

3. 最後に、そのセット内のすべてのアドレスをブロックするように iptables を構成します。このコマンドは、「src」パケットで「DROP」またはブロックの場合、「-m」が ipset からの「myset」という名前のセットに一致するように「INPUT」チェーンの先頭にルールを追加します (–match-set)。

# iptables -I INPUT -m set --match-set myset src -j DROP

IP アドレスのリストをブロックする

1. IP アドレスの新しい「セット」を作成することから始めます。これにより、「myset-ip」という名前の「ip」アドレスの新しい「ハッシュ」セットが作成されます。

# ipset create myset-ip hash:ip

または

# ipset -N myset-ip iphash

2. ブロックしたい IP アドレスをセットに追加します。

# ipset add myset-ip 1.1.1.1
# ipset add myset-ip 2.2.2.2

3. 最後に、そのセット内のすべてのアドレスをブロックするように iptables を構成します。

# iptables -I INPUT -m set --match-set myset-ip src -j DROP

ipset を永続化する

作成した ipset はメモリに保存され、再起動すると消えます。 ipset を永続的にするには、次のことを行う必要があります:

1. 最初に ipset を /etc/ipset.conf に保存します :

# ipset save > /etc/ipset.conf

2. 次に、ipset.service を有効にします。これは、iptables ルールを復元するための iptables.service と同様に機能します。

その他のコマンド

1. セットを表示するには:

# ipset list

または

# ipset -L

2. 「myset」という名前のセットを削除するには:

# ipset destroy myset

または

# ipset -X myset

3. すべてのセットを削除するには:

# ipset destroy


Cent OS
  1. Linuxでhistoryコマンドを使用する方法

  2. LinuxでSuコマンドを使用する方法

  3. Linux で ldconfig コマンドを使用する方法

  1. Linuxgrepコマンドの使用方法

  2. Linuxでsudoコマンドを使用する方法

  3. Linux screen コマンドの使用方法

  1. LinuxでDisownコマンドを使用する方法

  2. LinuxSSコマンドの使用方法

  3. Linuxnohupコマンドの使用方法