SSGでハマったこと
図にあるセグメントBのFW(SSG)をNetScreenからSSGに変更した際、今まではセグメントAからセグメントBにあるサーバにアクセスが出来ていたが、SSGに変更した途端、アクセスが出来なくなった。
最初はルーティング設定の不備かと思ったが、正確に設定されており、セグメントAからセグメントBのSSGやサーバにはpingが通るのでルーティング問題ではないと思った。
色々調べてみると、ScreenOS5.1以上、ScreenOS6.2以上の機器(Netscreen、SSG)からルーティングを利用してデフォルトゲートウエイとは異なるゲートウエイにあるサーバにアクセスした場合、TCPパケットがDROPされるらしい。
困ったことにICMPやUDPは通過される模様なので、pingだけの通信確認ではこの現象は確認が難しい。
先程の図にあるように、セグメントAからセグメントBのサーバにアクセスした場合、そこを管轄している
ScreenOS6.2以上のSSG(Netscreenだと5.1以上)を経由した際にDROPされます。
なぜこのような事が発生するかというと、以下のマニュアルの17ページに記載されてます。
http://www.juniper.net/techpubs/software/screenos/screenos6.2.0/ce_v4.pdf
Non-SYN Flags By default, the security device checks for SYN flags in the first packet of a session and rejects any TCP segments with non-SYN flags attempting to initiate a session. You can leave this packet flow as is or change it to so that the device does not enforce SYN flag checking before creating a session. Figure 9 on page 18 illustrates packet flow sequences when SYN flag checking is enabled and when it is disabled
SYN flagの接続が最初に無いまま、発行されるTCPはREJECT(DROP)される、と書いてあるらしい。
ちなみにこの設定はデフォルトとなっております。
これを解決させるにはWebUIでは設定出来ず、CUIからの操作となります。
set flow tcp-syn-check ↓ unset flow tcp-syn-check save(セーブを忘れずに)
ディスカッション
コメント一覧
まだ、コメントがありません