Forticlientで接続したらChromeでERR_EMPTY_RESPONSEになる
タイトル通りの現象が起こっていた。
結論から言うと、MTUやMSSの設定が不適切のためだった。
FortiClientでFortigateにVPN接続を行ったところ、最初は問題無いのだがしばらくすると、HTTPSでアクセスしていたページを読み込まなくなり、真っ白になるか、ERR_EMPTY_RESPONSEのエラーが出る。ググったらESETが原因の疑いがあるとのことなので切ってみたが、変わらずだった。
更に調べたところ、FortigateのKnowledge Baseに情報があった。
FortiGateのWeb設定画面でもしばらくすると正しく表示されない現象が起きていたので、これの原因を潰していけばもしかしたらと思った。
https://kb.fortinet.com/kb/documentLink.do?externalID=FD34688
これによれば原因としてはいくつかあるらしい。
インターフェースでHTTP/HTTPSアクセスを許可しているかについては、最初はアクセスできているので関係ない。
trusted hostは設定していないので今回は該当しない。
HTTPSのポート設定も変えていないし、サーバ証明書も関係なかった。VIPも違った
3) MTU along the pathが今回の原因だった。
VPN接続を待ち受けているインターフェースのMTUを
set mtu-override enable
set mtu 1454
とフレッツに合わせてデフォルトの1500から縮小した。
その後は問題無く使えるようになった。
ポリシーでMSSを下げても同じようにうまく動くらしいが、自分の環境ではダメだった。
自宅の回線がフレッツで、FortiClientがうまいこと認識してくれなかったため、会社のインターネット回線のMTU 1500で送られてきてロスでも起きたようだ。
IPSecだとMTUが大きすぎても勝手に分割とかしてくれないんだろうか。よくわからぬ。
同じ問題に遭遇している人がいたようだ。
https://www.linkedin.com/pulse/fortigate-mtu-tcp-mss-troubleshooting-guy-greenshtein