PingのEcho RequestとEcho Replyは別方向のpacketです。往路が到達しても、宛先のdefault gateway、戻り側routing、stateful firewall、NATが正しくなければReplyは送信元へ戻りません。片方向通信を切り分けるときは両端の経路を別々に描きます。
Pingの戻り経路は往路と同じ?
先に答えると、PingのEcho RequestとEcho Replyは別方向のpacketです。往路が到達しても、宛先のdefault gateway、戻り側routing、stateful firewall、NATが正しくなければReplyは送信元へ戻りません。片方向通信を切り分けるときは両端の経路を別々に描きます。
非対称routingはどこで生まれる?
仕組みを構成上の位置と観測点に分けると、用語だけでなく実際のpacket・stateを説明できます。
| 項目 | 仕組み・役割 | 実務での判断 |
|---|---|---|
| 往路 | Echo Request | 送信元route→中継→宛先 |
| 復路 | Echo Reply | 宛先route→中継→送信元 |
| stateful FW | sessionの往復を追跡 | 想定外interfaceへ戻ると破棄される場合 |
| NAT | address/port変換state | 復路が同じ変換装置へ戻る必要 |
192.0.2.10 --Request--> R1 --> FW-A --> Server 203.0.113.10
192.0.2.10 <--Reply---- R1 <-- FW-B <-- Server
^ 非対称時はsession/NAT stateを確認
片方向通信をどう切り分ける?
片方向通信をどう切り分ける?では、対象と期待値を固定し、状態取得、実通信、変更後確認の順に進めます。commandは例であり、本番投入前に対象OSの公式資料と現行設定を確認してください。
| STEP | 実施内容 | 確認する結果 |
|---|---|---|
| 1 | 送信元で宛先routeとsource IPを固定 | どのinterfaceから出るか |
| 2 | 宛先で送信元へのrouteを確認 | Replyのnext hop |
| 3 | 中継FW/NATのsessionを両方向で確認 | RequestとReplyのtuple |
| 4 | capture時刻をそろえて最後の観測点を特定 | loss区間を狭める |
# Linux source指定
ping -I 192.0.2.10 -c 5 203.0.113.10
ip route get 203.0.113.10 from 192.0.2.10
# Cisco例
show ip route 203.0.113.10
show ip route 192.0.2.10
203.0.113.10 from 192.0.2.10 via 192.0.2.1 dev eth0 src 192.0.2.10
64 bytes from 203.0.113.10: icmp_seq=1 ttl=60 time=8.4 ms
FW・NATでは何を照合する?
一つの表示だけで原因を決めず、症状ごとに次の観測点を選びます。正常時の同条件出力が比較基準です。
| 症状・誤り | 主な原因候補 | 次に確認すること |
|---|---|---|
| Requestだけ見える | 宛先host/FWでReply生成不可 | host firewall、address、service |
| Replyが宛先側から出るが届かない | return route・ACL・NAT | 逆方向の各hop |
| 片方のFWだけsessionなし | asymmetric path | routing preferenceとECMP |
| source指定で結果が変わる | VRF/interfaceごとの経路差 | 実serviceと同じsourceで再試験 |
復旧を何で判定する?
『Pingが通らない』を一つの事象にせず、Requestがどこまで届き、Replyがどこから戻ったかを二本の矢印で記録します。経路変更時は既存sessionと新規sessionの結果を分けます。
- 対象機器・interface・VRF/VLAN
- 取得日時・timezone・software version
- 変更前後の同一command出力
- 期待値・実測値・判定者
- 異常時の停止条件とrollback結果
関連する仕組みを次に確認する
定義だけで終わらせず、隣接する仕組みと障害切り分けへ進みます。
まとめ:往路と復路を別々のrouting問題として確認する
往路と復路を別々のrouting問題として確認することが結論です。構成図、設定・command、正常時と異常時の結果を同じ条件で保存し、第三者が判断を再現できる状態にしてください。
