「Ipset」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:Ipsetへの転送ページ)
 
(Pkg/AUR テンプレートの更新)
 
(2人の利用者による、間の2版が非表示)
1行目: 1行目:
  +
[[Category:ファイアウォール]]
#redirect[[en:Ipset]]
 
  +
[[en:Ipset]]
  +
{{Related articles start}}
  +
{{Related|ファイアウォール}}
  +
{{Related|Iptables}}
  +
{{Related articles end}}
  +
[http://ipset.netfilter.org/ ipset] は Linux の[[ファイアウォール]]である [[iptables]] の補助アプリケーションです。素早く簡単にルールを設定して IP アドレスをブロックしたりすることができます。
  +
  +
== インストール ==
  +
  +
[[公式リポジトリ]]から {{pkg|ipset}} を[[pacman|インストール]]してください。
  +
  +
== 設定 ==
  +
  +
=== IP アドレスのブロック ===
  +
  +
まず新しいネットワークアドレスの "set" を作成します。以下のコマンドは "myset" という名前で "net" ネットワークアドレスの "hash" セットを新しく作成します:
  +
  +
# ipset create myset hash:net
  +
  +
そしてブロックしたい 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
  +
  +
最後に、セット内のアドレスをブロックするように [[iptables]] を設定します。以下のコマンドは "INPUT" チェインの一番上にルールを追加して、"src" パケットや "DROP" の場合 "-m" で ipset の "myset" という名前のセットとマッチ (--match-set) して、ブロックを行います。
  +
  +
# iptables -I INPUT -m set --match-set myset src -j DROP
  +
  +
=== ipset を永続的に設定 ===
  +
  +
作成した ipset はメモリに保存されるため再起動すると消失してしまいます。ipset を永続化させるには以下を行って下さい:
  +
  +
まず ipset を {{ic|/etc/ipset.conf}} に保存:
  +
  +
# ipset save > /etc/ipset.conf
  +
  +
そして {{ic|ipset.service}} を[[有効化]]します。{{ic|iptables.service}} による [[Iptables#iptables の設定と実行|iptables のルール]]の設定と同じように動作します。
  +
  +
=== PeerGuardian や他のブロックリストでブロック ===
  +
  +
maeyanie.com の作者による {{AUR|pg2ipset}}{{Broken package link|パッケージが存在しません}} ツールには [https://github.com/ilikenwf/pg2ipset/blob/master/ipset-update.sh ipset-update.sh] スクリプトが付属しており、cron によって自動的に様々なブロックリストを更新します。現在、デフォルトで、国別のブロックや tor 末端ノードのブロック、Bluetack の pg2 リストのブロックが実装されています。
  +
  +
== 他のコマンド ==
  +
  +
セットを確認するには:
  +
  +
# ipset list
  +
  +
"myset" という名前のセットを削除するには:
  +
  +
# ipset destroy myset
  +
  +
全てのセットを削除するには:
  +
  +
# ipset destroy
  +
  +
他の情報は ipset の man ページを見て下さい。

2017年7月13日 (木) 00:09時点における最新版

関連記事

ipset は Linux のファイアウォールである iptables の補助アプリケーションです。素早く簡単にルールを設定して IP アドレスをブロックしたりすることができます。

インストール

公式リポジトリから ipsetインストールしてください。

設定

IP アドレスのブロック

まず新しいネットワークアドレスの "set" を作成します。以下のコマンドは "myset" という名前で "net" ネットワークアドレスの "hash" セットを新しく作成します:

# ipset create myset hash:net

そしてブロックしたい 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

最後に、セット内のアドレスをブロックするように iptables を設定します。以下のコマンドは "INPUT" チェインの一番上にルールを追加して、"src" パケットや "DROP" の場合 "-m" で ipset の "myset" という名前のセットとマッチ (--match-set) して、ブロックを行います。

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

ipset を永続的に設定

作成した ipset はメモリに保存されるため再起動すると消失してしまいます。ipset を永続化させるには以下を行って下さい:

まず ipset を /etc/ipset.conf に保存:

# ipset save > /etc/ipset.conf

そして ipset.service有効化します。iptables.service による iptables のルールの設定と同じように動作します。

PeerGuardian や他のブロックリストでブロック

maeyanie.com の作者による pg2ipsetAUR[リンク切れ: パッケージが存在しません] ツールには ipset-update.sh スクリプトが付属しており、cron によって自動的に様々なブロックリストを更新します。現在、デフォルトで、国別のブロックや tor 末端ノードのブロック、Bluetack の pg2 リストのブロックが実装されています。

他のコマンド

セットを確認するには:

# ipset list

"myset" という名前のセットを削除するには:

# ipset destroy myset

全てのセットを削除するには:

# ipset destroy

他の情報は ipset の man ページを見て下さい。