1. ホーム
  2. オペレーティングシステム
  3. リナックス

LinuxでPingを無効にする、または許可する設定方法

2022-01-13 02:52:19

Linuxはデフォルトでping応答を許可しており、システムがpingを許可するかどうかは2つの要素によって決定されます。

i. カーネルパラメータ
II. ファイアウォール

Pingを許可するためには2つの要素が同時に許可されている必要があり、2つの要素のうち1つでもPingを禁止しているものはPingを打つことができません。

具体的な構成は以下の通りです。

I. カーネルパラメータ設定

1. Pingを許可する設定

A. PINGの操作を一時的に許可するコマンドは #echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
B.永久にPINGを許可する設定方法。

etc/sysctl.conf に一行追加する。

<ブロッククオート

net.ipv4.icmp_echo_ignore_all=1

net.ipv4.icmp_echo_ignore_all という行がすでにある場合は、= 記号の後の値を変更するだけです (0 は許可、1 は無効)。

変更後、sysctl -pを実行し、新しい設定を有効にします。

2. Pingの設定を無効にする

A. PINGを一時的に無効にするコマンドは

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

B. PING設定方法を永続的に許可する。

etc/sysctl.conf に一行追加する。

net.ipv4.icmp_echo_ignore_all=0

net.ipv4.icmp_echo_ignore_all という行がすでにある場合は、= 記号の後の値を変更するだけです。(0は許可、1は無効)

変更後、sysctl -pを実行し、新しい設定を有効にします。

II. ファイアウォールの設定

(注:ここでの方法は、カーネルの設定がデフォルトであること、すなわちPingが無効であることを前提としています)
ここでは、Iptablesファイアウォールの例を示します。その他のファイアウォールの操作方法は、ファイアウォールの公式ドキュメントに記載されています。

1. Pingを許可する設定

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

または、ファイアウォールの動作を一時的に停止させることも可能です。

サービス iptables 停止

2. Pingの設定を無効にする

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

Linuxでpingを無効にする、または許可する設定方法については、この記事がすべてです。Linuxでpingを無効にする方法については、Script Houseの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。