SSGにおける通信トラブルシューティング
一番触っていたのがScreenOSなので、懐かしさもありますが本ブログではじめて記事にしたいと思います。
FWはポリシーで通信を許可/拒否するという性質上、ネットワーク内で通信不具合が発生するとまず疑われます。
初歩的なところでは、IPアドレスオブジェクトやTCP/UDP/IPサービスオブジェクトの設定ミス、ポリシーの設定順番ミスなどが挙げられます。
SSG自身のIPアドレス設定ミスやルーティング設定ミス、Src/Dst NAT設定ミスも当然ありえます。
それらをチェックしてもまだ通信不具合が継続する場合、debug flow basic コマンドを用いてSSGでどのようにパケットが処理されているか確認して切り分け可能です。
ALGが正常に動作していない、NATが適切に設定されているのに動作していないなど色々わかりますね。
コマンドについてはJuniper社のKBに詳細があります。
https://kb.juniper.net/InfoCenter/index?page=content&id=KB12208
項番5で補足がありますが、ffilterの設定には注意が必要です。
https://kb.juniper.net/InfoCenter/index?page=content&id=KB6709
以下はPing疎通NGの時のdebugの流れサンプルです。
ログ出力量が多いのでSSH接続および set console page 0 がオススメ。
undebug all
clear db
unset ff
get ffilter
set dbuf size 4096
set ffilter ip-proto 1
debug flow basic
切り分け用にICMPで通信を実施
Escキー押下
get db stream
set console dbuf はHigh CPUになるので使っていなかったですね。
慣れてくるとセッション確立の一連の処理も出力結果からわかります。