「届かない手紙」の正体を見抜け!ファイアウォール環境下でのトラブルシューティング入門
ネットワークの世界へようこそ。エンジニアとして現場に出ると、必ずと言っていいほど直面するのが「なぜか通信が繋がらない」という壁です。
画面上で ping を打っても無反応。traceroute をしても途中で星印(* * *)が並ぶだけ。まるで、大切な手紙を出したのに返事が一切返ってこないようなもどかしさですよね。
今日は、そんな「通信の行方不明事件」を、ファイアウォールやACL(アクセス制御リスト)という「厳重な門番」がいる環境を例に、紐解いていきましょう。
—
1. そもそも ping は何をしているのか?
ping は、相手に「そこにいますかー?」と声をかける、非常にシンプルなコマンドです。
- 正常な状態: 相手が「はい、いますよ!」と返事(Echo Reply)をくれる。
- 異常な状態: 相手が無視している、あるいは途中の門番が手紙を没収している。
初心者のうちは「ping が通らない=ネットワークが切れている」と思いがちですが、現場の現実は違います。ネットワークは繋がっているのに、門番が「その手紙(ICMPパケット)は受け取れない」と門前払いしているケースが圧倒的に多いのです。
なぜ「無視」されるのか?
多くのファイアウォールは、セキュリティ向上(ステルス化)のために、自分宛の ping に一切応答しない設定になっています。「返事をしないことで、そこに機器が存在することを隠す」という戦略ですね。
—
2. traceroute でわかる「門番」の正体
traceroute は、目的地までの中継地点を一つずつ確認するコマンドです。家から郵便局へ手紙を届ける際、どのルートを通り、どこで止められたのかを追跡できます。
もし特定のホップ数から先がすべて * * * になるなら、そこが「門番(ファイアウォールやACL)」がいる場所です。
現場で役立つ traceroute のヒント
Linux系OSの traceroute はデフォルトでUDPを使いますが、これがまたファイアウォールにブロックされやすいんです。そんな時は -I オプションを試してみてください。
# ICMP(pingと同じ種類)を使って経路を確認する
# 多くの環境で、UDPより通りやすくなることが多いです
traceroute -I 192.168.1.100
—
3. 「ポート」という名の郵便受けを叩く
ping が通らなくても、Webサーバーなら 80 番や 443 番のポートが開いているはずです。ここで登場するのが ss(昔は netstat)コマンドや、ポートスキャン的な確認手法です。
例えば、相手のサーバーに対して「Webの郵便受けは空いていますか?」と確認するには、nc(netcat)コマンドが非常に便利です。
# 192.168.1.100 の 80番ポート(HTTP)に接続を試みる
# 接続できれば「ポートは開いている」=「通信は許可されている」と判断できます
nc -zv 192.168.1.100 80
もしここで Connection refused と返ってきたら、「門番は通してくれたけど、中の郵便受けが空っぽ(サービスが起動していない)」ということがわかります。逆に、ずっと無反応なら「門番がブロックしている」ことが確定します。
—
4. トラブルシューティングの鉄則:手順を整理しよう
現場でパニックにならないために、以下のステップで切り分けていきましょう。
1. ping を疑いすぎない: ping が通らなくても、アプリケーションの通信は通ることはよくあります。「ping = ネットワークのすべて」という思い込みを捨てましょう。
2. ポートの生存確認を行う: nc や telnet を使い、特定のポートに対して直接「こんにちは」を言ってみる。
3. ACLのログを確認する: もしあなたがルーターやファイアウォールの管理権限を持っているなら、ログを確認するのが一番の近道です。
CiscoルーターでのACLログ確認例
! ACLの最後に 'log' をつけておくと、破棄された通信がログに残ります
access-list 101 deny ip any any log
—
まとめ:ネットワークは「人間関係」に似ている
ネットワークのトラブルシューティングは、見えない相手とのコミュニケーションです。「無視されているのか?」「そもそも住所が間違っているのか?」「門番が追い返しているのか?」
一つずつコマンドで問いかけ、返ってくる反応を観察する。その繰り返しが、やがて「パケットがどう流れているか」という確かな感覚――いわゆるエンジニアの勘として蓄積されていきます。
最初は難しく感じるかもしれませんが、まずは「手紙を届ける経路」を想像することから始めてみてください。大丈夫、一歩ずつ進めば必ず全貌が見えてきますよ!
それでは、現場からは以上です。また次のトラブルでお会いしましょう!
コメント