iptablesとは何ですか?
Iptablesは、使用されるポリシーチェーンに基づいてトラフィックを許可またはブロックするコマンドラインファイアウォールプログラムです。 Iptablesは、パケットベースのアプローチでトラフィックを監視します。プログラムがシステムに接続しようとすると、iptablesは事前定義されたリストからルールを探します。ルールが見つからない場合は、デフォルトのアクションにフォールバックし、新しい接続へのアクセスを防ぎます。
パケットフィルターiptablesは、Rust Sellerによって最初に作成され、NetfilterCoreチームの製品です。これはC言語で書かれており、1998年に最初にリリースされました。同社は安定したバージョンを随時リリースしており、次のリポジトリからダウンロードできます。
https://git.netfilter.org/iptables/
会社のウェブサイト:www.netfilter.org
iptablesとその使用方法の詳細については、次の公式ドキュメントに従ってください。
https://netfilter.org/documentation/
Pingとは何ですか?
PingまたはPacketInternetGroperは、IPネットワークを介した送信元と宛先のコンピューター/デバイス間の接続ステータスを確認できるネットワーク管理ユーティリティです。また、ネットワークからの応答の送受信にかかる時間を見積もるのにも役立ちます。
この記事では、次の目的で使用できるiptablesコマンドについて説明します。
- ICMP要求を制御することでサーバーへの着信および発信pingをブロックするようにiptablesファイアウォールに指示するルールを追加します。
- ICMPリクエストを制御することにより、サーバーとの間でpingを許可するようにiptablesファイアウォールに指示するルールを削除します。
この記事に記載されているコマンドと手順をUbuntu22.04LTSシステムで実行しました。
iptablesからのpingをブロック/許可するには?
ターミナルで次のコマンドを実行すると、Linuxコマンドラインからiptablesをインストールできます。
$ sudo apt-get install iptables
ターミナルアプリケーションは、システムアプリケーションランチャー検索または Ctrl + Alt + Tを使用して開くことができます。 ショートカット。
インストールを確認し、バージョン番号を確認するには、次のコマンドを使用できます。
$ iptables --version
ブロックping
上記のように、iptablesファイアウォールはいくつかのルールセットに基づいています。サーバーとの間のpingをブロックするために、次のルールを追加できます。 pingコマンドを実行すると、コマンドはエラーメッセージを出力します。
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
例:
または、エラーメッセージを出力せずにpingをブロックするために、次のルールを追加できます。
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP $ sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
iptablesコマンドの-Aコマンドオプションは「追加」を表すため、追加されるルールはすべて「sudoiptables-A…。」で始まります。 ‘。
pingを許可する
次のコマンドを使用すると、iptablesに追加されたすべてのルールを一覧表示できます。
$ sudo iptables -L
いずれかのルールがpingをブロックしている場合(この場合はICMPが拒否されます)、次のようにそのルールを削除できます。
$ sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT
-D コマンドスイッチは、ルールを削除するために使用されます。
次のコマンドを使用して、iptablesファイアウォールに追加されたすべてのカスタムルールを削除できます。
$ sudo iptables -F
iptablesユーティリティでルールを追加および削除することで、ファイアウォールの動作を制御する方法を確認しました。