本日のお問い合わせはこちらです。
会社で契約したシステムがあるのですがそのサイトに一部拠点から繋がりません。本社からはブラウザで閲覧できて普通に使えているのですがインターネットVPNの先の支店が本社経由でシステムのサイトに繋がりません。どうしたらいいでしょうか。
とのことでした。
なんじゃそら・・・まずは構成から洗い出していくしかなさそうですね。
以下に対応録を記載いたします。
おろ?そうではなくてインターネットの一部のサイトが繋がらない場合はこちらの記事をご参照ください。
Contents
特定のサイトにアクセスできない!ブラウザエラーでつながらない原因は何?
別のブラウザではつながるのか
IEで接続されていたので別のブラウザならば繋がるのでは?と思ったのですが別のブラウザでも事象変わらず。
別のPC端末ではどうか
PC個別の問題なのかと思い別のPC端末で試してみました。
結果、まったく不具合は変わらず閲覧できませんでした。
通信切り分け
コマンドプロンプトで
ping [特定サイトのIP]
を実施してみましたがそもそもサービス提供会社様のネットワークの仕様でpingは通さないんですって。
じゃあトレースルート。
tracert -d [特定サイトのIP]
途中まで通りました。
本社さんのルータまでですね。
でもそこから先は応答なし。ふみゅう。
ブラウザでいろいろやってみる
ブラウザを開いて該当サイトにアクセスしてみたところ「ページを表示できません」となりました。
なら一部URLを削ってみたらどうなるのか?
すると「403 Forbbiton error」だったり「404 not found」だったりのエラーメッセージがブラウザに表示されました。
ということは通信は宛先のサーバまで届いており、サーバがちゃんとエラーメッセージを返してきているということになりますね。
ほむほむ。
ブラウザにプロキシサーバが設定されてるんじゃ?
ブラウザのプロキシサーバの設定を確認しました。
結果、プロキシは設定されておらず無効でした。むむ。
キャッシュでしょきゃっしゅ
キャッシュが変にたまっているとおかしな動作をするのがブラウザ。
ブラウザのキャッシュを削除してみましたが特定のサイトはアクセスできず。
ぐぬぬ。
PCのセキュリティ関係が原因か?
Windowsファイアウォールを無効にしてみました。
UACのレベルを一番下に下げてみました。
ウィルスバスターをアンロードしてみました。
結果、やっぱり特定のサイトにアクセスできませんでした。
PCの設定、関係ないのかなあ?
ポートノックで通信確認だ
コマンドプロンプトでtelnetを試してみます。
ただし普通のtelnetではなく、ポートを指定します。
telnet [特定サイトのIP] 80
httpのポート80番で通信確認だ!と思ったら「telnet」コマンドがwindows7ではデフォルトでインストールされておらず実施できませんでした。
ならばftpで実施だ。
コマンドプロンプトから以下のコマンドを実行。
ftp
>open [特定サイトのIP] 80
接続できました
>
う~ん、やっぱり特定サイトのIPまで80番ポートで接続することができています。
でも特定サイトは閲覧できない。
なぜなんだろう?
構成は
支店PC --- 支店ルータ --- [インターネットVPN] --- Fortigate --- 本社VPNルータ --- サービス会社ルータ --- [サービスNW] --- 特定サイトのwebサーバ
のような構成でした。
ファイアウォールのFortigateがいますね。
UTMのライセンスとか切れて変な動きをしているのか?
それともwebフィルターが原因か?
とりあえずFortigateにログインして確認してみると各種ライセンスはばっちり有効。
わかった、Fortigateの非対象ルーティングが原因だろう!
Fortigateは送信時の経路と戻りの通信時の経路が一致してないと通信をブロックしちゃうもんね!
早速FortigateのCLIにログインして非対称ルーティングを許可するように設定。
以下のサイトさんで詳しく解説されていたので参考にしました。
体育会系NetworkEngineerの備忘録
【FortiGate】非対称ルーティングの設定
ふふふ、これで解決だろと思ったら事象変わらず。
なんでだろう?
Webフィルターも一時的にオフにして通信確認。
やっぱり特定サイトはアクセスできない。
Fortigateのパケットキャプチャをオン。
支店PCのアクセスをキャプチャするように設定。
結果、1件もヒットせず。
うんVPN通信だからだな。
そして必殺技。
Fortigateを取り外してみる(何)
でもやっぱり特定サイトはアクセスできない。
うん、たぶんFortigateは関係ないぞ、これ。
サービス会社ルータって
サービス会社のSEさんに問い合わせて状況を確認してもらいました。
特定サイトのwebサーバでアクセス元のIPアドレスを絞ってるんじゃない?と思ったらサービス会社ルータって通信をnat変換して特定サイトのwebサーバにアクセスできるIPアドレスに変換するんですって。
ついでにサービス会社ルータでnat変換のログをみるとちゃんと支店PCからアクセスに来ていて、nat変換されて元気に特定サイトのwebサーバにアクセスに行ってるんですねパケットは。
やっぱり通信は正常に見えるなあ。
よもやの原因
サービス会社のSEさんとよくよくお話していると意外な事実が発覚。
サービスNWなんですけど、無線ネットワークでMTU値が大きいパケットはドロップしちゃうんですよね。
なんとまあ。
フレッツサービスなどではルータでMTU値をデフォルト値の1500から1454に減らして通信させないとパケットがドロップしちゃうというのは聞いたことがあるけれど。
個別のサービスではあまり聞いたことがなかったなあ。
そこで支店ルータ側のLANインタフェースでMTU値を低く設定してみました。
結果、特定のサイトにアクセスできるようになりました!
・・・
一言言わせて欲しい。
そんなん、わかるか!!
特定のサイトにアクセスできない!ブラウザエラーでつながらない原因は何?~結論~
いかがでしたでしょうか。
特定のサイトのみ閲覧できない場合はいろんな原因が考えられますが、サーバ側の不具合や仕様の可能性もあります。
あとは、IEの詳細設定でTLS1.0、TLS1.1、TLS1.2、このあたりのチェックボックスにチェックがついていないと、インターネットの一部サイトが閲覧できない、なんて事象が発生します。
自分ひとりでは解決が困難な場合もありますので関係者と密に連絡をとりながら不具合を特定して解決していきたいものですね。
本記事が少しでもお役に立てたならばこれほど嬉しいことはありません。
最後まで読んでいただきありがとうございました。
よろしければ別記事もご参照ください。