Windows Serverへのpingのトラブルシューティング
トラブルシューティング
先の手順ではpingは失敗してしまいます。一体何が問題なのでしょうか?Wiresharkでパケットを覗いてみましょう。
1行目
ARP(Adress Resolution Protocol)のrequestメッセージがnetowork1にブロードキャストされています。Info欄に要約が示されているように、10.0.1.1(server1)が10.0.1.2(server2)のMACアドレスを問い合わせています。
2行目
10.0.1.2のIPアドレスに対応するMACアドレスは08:00:27:27:56:ffですよというARPのreplyメッセージが返ってきています。これで、10.0.1.2のIPアドレスの宛先にパケットを送信するためのMACアドレスが解決できました。
3行目
10.0.1.2のIPアドレスに対応するMACアドレスを宛先に設定し、network1にパケットを送信しています。しかし、応答は返ってきませんでした。([No response seen])
これらのことから以下のことがわかります。
- IPアドレスからMACアドレスの解決は問題なし(10.0.1.2のアドレスが割当たっているネットワークアダプターのコンピューターがネットワーク上に存在している)
- pingのrequestメッセージは送信されている
- pingのresponseメッセージが返ってこない
こうなると、どこかでパケットがフィルターされているのではないかという疑いが出てきます。実は、Windows Serverはデフォルトでpingが使用するICMPv4のメッセージをWindowsファイアーウォールが許可していません(フィルターしています)。これは最初はみんなハマります。WindowsファイアーウォールでICMPv4を許可しましょう。
WindowsファイアーウォールでICMPv4を許可する
- Windowsファイアーウォールを開きます。
- [受信の規則]で[新しい規則]をクリックします。
- カスタムを選択します。
- すべてのプログラムを選択します。
- ICMPv4を選択します。
- 任意のアドレスを選択します。
-
接続を許可するを指定します。
-
すべてチェックします。
-
任意の識別しやすい名前をつけます。
-
上記の手順でserver1とserver2とも設定します。
- 10.0.1.1(server1)から10.0.1.2(server2)にIPアドレス指定でpingが通ることを確認します。今度は成功します。パケットをキャプチャするとICMPのreplyメッセージが返っていることがわかります。
- 10.0.1.2(server2)から10.0.1.1(server1)にIPアドレス指定でpingが通ることを確認します。今度は成功します。
以上でserver1とserver2の間でpingによる疎通確認ができるようになりました。