FWを経由する通信で、
「片方向だけ通る」
という現象は現場で非常に多く発生します。
- 送信はできるが戻りが来ない
- SYNは届くがACKが返らない
- pingは通るのに業務通信だけ失敗する
- denyログは出ていない
この問題は、設定ミスというより構造理解の不足が原因で長期化します。
本記事では、
- 片方向通信が発生する本当の理由
- 原因の分類と見分け方
- 最短で原因を特定する診断手順
- 「解決した」と言える判断基準
- 再発防止の設計ポイント
を実務レベルで解説します。
目次
まず結論:FWは「パケット」ではなく「セッション」を見ている
片方向通信の原因の多くは、
セッション整合性の崩れ
です。
ステートフルFWは通信開始時にセッションを作成し、
- 送信元IP
- 宛先IP
- ポート番号
- TCP状態
を管理しています。
往路と復路が一致しない場合、FWは戻り通信を破棄します。
原因①:非対称ルーティング(最頻出)
■ 構造
往路:
Client → FW-A → Server
復路:
Server → FW-B → Client
この場合、FW-Aだけがセッションを持っています。
FW-Bにはセッションが存在しないため、戻り通信は破棄されます。
■ 症状
- SYNは届く
- SYN-ACKが戻らない
- FWログにdenyが出ないこともある
■ 確認ポイント
- 戻り経路は同一FWを通っているか
- ECMPが有効になっていないか
- PBRが影響していないか
■ 解決条件
往復とも同一FWを通ること。
原因②:NAT変換の不整合
SNAT/DNATを利用している環境では、
変換を行ったFWでしか元に戻せません。
戻りが別FWを通ると変換できず破棄されます。
■ 症状
- 内側では通信成立しているように見える
- 外側では応答が消える
■ 確認ポイント
- NATテーブルにエントリが存在するか
- 戻りパケットの宛先IPが正しいか
- FWクラスタのセッション同期が有効か
■ 解決条件
NAT処理を同一装置で完結させること。
原因③:ポリシー設定の片方向ミス
静的ACL中心の構成や一部ポリシー漏れで発生します。
■ 症状
- 送信方向のみ許可されている
- 戻り方向がimplicit deny
■ 確認ポイント
- 送信・受信両方向のポリシー確認
- セッションタイムアウト直後の通信失敗有無
■ 解決条件
双方向で正しく許可されていること。
原因④:MTU/フラグメント問題
小さいパケットは通るが、大きな通信で止まる場合はMTU問題を疑います。
■ 症状
- pingは通る
- ファイル転送だけ失敗
■ 確認方法
ping -M do -s 1472 対向IP
■ 解決条件
Fragmentation Neededが正しく返る、またはMSS調整済みであること。
最短で原因に到達する診断フロー
- SYNはFWを通過しているか
- セッションは生成されているか
- 戻り経路は同一FWか
- NAT変換は一致しているか
- denyログは出ていないか
この順番で確認すれば、必ず原因に到達できます。
解決したと言える状態
- 往復とも同一FW経由
- セッションが安定して生成される
- 再送が発生しない
- 通信が継続的に成功する
まとめ
FWを跨ぐ通信で片方向だけ通る原因は、
セッションの不整合
で説明できます。
- 非対称ルーティング
- NAT不整合
- ポリシー片方向設定
- MTU問題
「パケット」ではなく「セッション」で考えること。
これが解決の鍵です。
あわせて読みたい


FW/NATセッションが原因の“謎の通信断”を見抜く方法
ネットワークは正常に見えるのに、 アプリ通信だけ突然切れる 再接続すると復旧する 時間が経つと直ることがある このような 「原因が分からない通信断」 に悩まされた…
あわせて読みたい


FWタイムアウト設計と長時間通信アプリの注意点
「一定時間操作しないと通信が切れる」「VPNや業務アプリが突然切断される」 このようなトラブルの原因として非常に多いのが、 ファイアウォール(FW)のセッションタイ…
