ping は、ネットワーク接続をテストするためのツールです。ping コマンドは ICMP(インターネット制御メッセージプロトコル)に基づいて動作します。ICMP は IP プロトコルの一部であり、TCP/IP プロトコルスタックのネットワーク層に属します。ping を使用するとネットワークが接続されているかどうかを確認でき、ネットワーク障害を診断するための重要なツールの一つです。

しかし、場合によっては、サーバーが ping を受け付けることで、ネットワーク攻撃(ICMP Flood 攻撃など)といったセキュリティ上の問題が発生する可能性があります。そのため、Linux サーバーの管理者は必要に応じて ping 機能を無効にし、サーバーが外部からの ping リクエストに応答するのを制限できます。

以下では、Linux サーバーで ping を禁止する最も簡単な方法を説明します。

ping の禁止

サーバーのターミナルにログインし、次のコマンドを実行します。

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

このコマンドを実行すると、サーバーはすべての ping リクエストに応答しなくなります。

ping の復元

ping 機能を復元する場合は、次のコマンドを実行します。

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

補足説明

  1. /proc/sys/net/ipv4/icmp_echo_ignore_all の一時的な変更は、現在のシステムの稼働中にのみ有効で、再起動後は無効になります。
  2. ping を永続的に禁止または復元する場合は、設定ファイル /etc/sysctl.conf を変更し、次の内容を追加または変更します。

ping の永続的な禁止

net.ipv4.icmp_echo_ignore_all = 1

ping の永続的な許可

net.ipv4.icmp_echo_ignore_all = 0

変更後、次のコマンドを実行して設定を有効にします。

sysctl -p