-
Notifications
You must be signed in to change notification settings - Fork 0
MS_ConnectionFailure
ネットワークや、サーバに繋がらなくなるケースの
- 事例と
- トラブルシュートの方法
についてまとめています。
- まず、ネットワークの基本的な知識が必要になります。
- また、基本的にパケット・キャプチャができないと厳しいです。
Wireshark、Microsoft Network Monitor、Fiddlerの使用方法を習得して下さい。
OSI参照モデルの順番に合わせてトラブル・シュートして問題を切り分けます。
IPアドレス → MACアドレスを解決するARPがあります。
ARPテーブルの確認が必要になることもあります。
- 非常に良くある話に、「自動識別」と「全二重固定」の混在があります。
- 自動識別(オート・ネゴシエーション)に対応していないネットワーク機器と
オート・ネゴシエーション→接続しようとして失敗していることがあります。 - オート・ネゴシエーションの失敗は、
Windowsのイベントログに(警告か情報で)出力されるので確認可能です。
- 自動識別(オート・ネゴシエーション)に対応していないネットワーク機器と
- 次いで、「SNP(Scalable Networking Pack)」と呼ばれる
ネットワーク最適化機能が有効になっていることで問題を起こすケースがあります。- ネットワーク処理が不安定になる。
- ネットワークと無関係のアプリケーションの処理に影響を与える。
- 参考
- ITエンジニアの「やってはいけない」
- 基礎情報
- 1週間で学ぶネットワークの要点:スイッチ・ネットワークのトラブル対処法
- Windows Server 2008 の TCP Chimney オフロード、Receive Side Scaling、および Network Direct Memory Access 機能について(KB951037)
- NICと同様に、ヒット率の高いものに、自動識別(オート・ネゴ)があります。
- また、ユニ・キャスト、マルチ・キャスト、ブロード・キャストなど、
スイッチを使用していても、複数のIPアドレス、MACアドレス
へのフラッディングが必要になるケースがあります。 - 参考:ITpro「1週間で学ぶネットワークの要点 スイッチ・ネットワークのトラブル対処法」より
- (1)スイッチング・ハブやL3スイッチなどのLANスイッチを導入したスイッチ・ネットワークには、
リピータ・ハブだけを使った簡単な構成のLANでは生じにくい様々なトラブルが潜む。- LANポートには「MDI」と「MDI-X」の2種類が、より対線ケーブルにも
「ストレート」と「クロス」の2種類がある。この組み合わせが不適切だと通信不能になる。 - 接続する機器間で通信モードが一致しないと、
設定矛盾となってスループットが低下したり、通信不能に陥る。 - オート・ネゴシエーション機能は、FLPという通信モード情報を含む信号を接続する機器間で交換することで実現。
A社のケースでは、一部の端末は「100BASE-TXで全2重通信」という通信モードだったため、
FLP信号の代わりにアイドル信号を利用したが、結局通信モードは不一致になってしまった。
- LANポートには「MDI」と「MDI-X」の2種類が、より対線ケーブルにも
- (2)より対線ケーブル(ツイストペア・ケーブル)を多数使ったスイッチ・ネットワークでは、
LAN配線の大幅変更時に混乱が生じやすい。
これは、利用中のケーブルの種類を容易に判別できるようにしておくだけで対応できる。- 外圧がかかり続けたケーブルは劣化。1000BASE-Tはケーブルの品質に注意
- 光ファイバは品質測定が欠かせない
- 1000BASE-LX対応機器をMMFで接続する際は、パッチ・コードが必要になる。
- (3)L2スイッチLANでは、接続ミスによるトラブルを防止したり、
バックアップ経路を確保するためにスパニング・ツリーと呼ぶ経路制御機能を使う。- L2スイッチを多段接続していた所に誤ってケーブルを接続した結果、
ループ状のトポロジになり、トラフィックがブロードキャスト・パケットで埋め尽くされた。 - スパニング・ツリーは、デフォルトではMACアドレスの一番小さなL2スイッチがルート・ブリッジになり、
ネットワーク構成を管理する。A社では夜間に電源を切るL2スイッチをルート・ブリッジにしてしまったため、
電源のオフ/オンのタイミングで一時的に通信ができなくなった。 - スパニング・ツリー・プロトコル(STP)で経路を2重化、パス・コストの設定ミスで
全ての通信が部門バックボーン・スイッチではなく全社バックボーン・スイッチを経由。 - ブリッジ・プライオリティを誤って低く設定していたため、トポロジの変更が発生し、
ルートのL2スイッチが新設のL2スイッチに移動、スループットが10分の1に。
- L2スイッチを多段接続していた所に誤ってケーブルを接続した結果、
- (4)最近のLANスイッチの多くは、多くの便利な機能を持つ。
例えば、マルチキャスト関連機能やバーチャルLAN機能である。だが、これらの機能は、
その仕組みをしっかりと把握して使わないと、意外なトラブルに遭遇することがある。- ホット・スタンバイ機能により、定期的にL3スイッチの実働系と待機系が、
IPマルチキャストのアドレスを使って互いの状態を確認し合っている。
ところが、L3スイッチがホット・スタンバイのやり取りに使うMACアドレスと
別の端末のMACアドレスが重複してしまい、さらにLANスイッチ上で
IGMPスヌープ機能を有効にしていたため、ホット・スタンバイが働かなくなった。 - エンドユーザーにはVLAN機能は見えない。
VLANが設定されていないポートに接続した際に、
「DHCPが動作しないトラブルが発生している」といったクレームを主張。
この主張に従って原因を調査してしまい、多大な時間を費やしてしまった。
VLANが原因と判明したのはほかの原因をすべて調査した後だった。
- ホット・スタンバイ機能により、定期的にL3スイッチの実働系と待機系が、
- (1)スイッチング・ハブやL3スイッチなどのLANスイッチを導入したスイッチ・ネットワークには、
通信を行う双方のホストの
「ネットワーク接続のプロパティ」
に正しい設定がされている必要があります。
- インターネット・プロトコル(TCP/IP)
- 基本設定
- IPアドレス
- サブネットマスク
- デフォルト・ゲートウェイ
- 名前解決
- DNS設定(FQDN名をIPアドレスに変換)
- WINS設定(NetBIOS名をIPアドレスに変換)
- DHCPから情報を取得する設定の場合
DHCPから配信される情報の設定は不要になる。- DHCPサーバが動作している事。
- DHCPクライアントが動作している事。
- 基本設定
移行メモ(正誤): 原文の「DNS設定(FQDN名をIP名に変更)」「WINS設定(NetBIOS名をIP名に変更)」は、 「IP名」ではなく「IPアドレス」への変換を指していると解されるため、その旨に整えた。
- FQDN名→IPアドレスの名前解決
hostsファイル、DNSサービスにより名前解決されます。- hostsファイル(
%SystemRoot%\System32\drivers\etc\hosts) - DNS(DNSサーバ)
- DNSサーバが動作している事。
- DNSクライアントが動作している事。
- DNSを使用した名前解決を確認する。
- 必要に応じてDNSキャッシュを確認する。
- hostsファイル(
- NetBIOS名→IPアドレスの名前解決
lmhostsファイル、Browserサービス、WINSサービスにより名前解決されます。- lmhostsファイル(
%SystemRoot%\System32\drivers\etc\lmhosts) - ワーク・グループ環境
- 同一サブネット内であれば、ブロードキャスト要求をBrowserサービスで名前解決します。
- サブネットを跨ぐ場合は、WINSサービスの導入を検討します。
- Active Directory環境
同一ドメイン内であれば名前解決可能です。
- lmhostsファイル(
ping、tracert、pathpingなどを使用して調査する。
- @IT:Windows TIPS
- 仕事に役立つコマンド入門 - パケットの到達を確認する「ping」-「pathping」:ITpro
必要に応じてルータのルーティング・テーブルの確認が必要になります。
TCPの通信の状態を調べるためにはnetstatコマンドが使用できます。
- いちばん簡単なのは無効にする事です。
- Windowsファイア・ウォール
- ウィルス対策ソフトにより設定が突然変更される事があります。
- TCP, UDPのリスニング・ポートだけでなく、ICMPなどもフィルタリングする設定があります。
- サービス、ポート単位の例外の設定が可能です。
- 上記に加えスコープの設定がありますので注意。
- サブネット内のアドレス
- カスタム設定(ホワイト・リストの設定 / サブネット・マスクの設定)
- 任意のアドレス
- Windows Server 2008からプロファイル毎の設定が可能になりました。
プロファイルには、パブリック、プライベート、ドメインの3つがあります。 - 特に、突然、プロファイルがプライベートからパブリックに変わるなどしてハマる事があります。
- パブリック:以下に属さない公共の場所
- プライベート:個人の自宅やワークグループ構成のネットワーク
- ドメイン:Active Directoryドメイン・ネットワーク
- プロファイル変更方法
- Vista、2008:[ネットワークと共有センター]→[カスタマイズ]ボタン
- 7、2008R2:[ネットワークと共有センター]→[ホームグループと共有に関するオプションを選択する]ボタン
- 参考情報
- その他、長時間接続されているデータが流れなくなった
TCP/IP接続をフィルタする種類の動的フィルタリング設定もあるようです。
この場合、大量バッチ処理のリクエストのレスポンスの戻りがフィルタされ、
RSTパケットも飛ばない状態で、突然切断されたように見えます。-
TCP/IP入門・ネットワーク入門(@network)
MACアドレスフィルタリングにおける注意、ファイアウォールの種類、静的/動的フィルタリング、
フィルタリングで遮断すべきポート番号、URLフィルタリング、P2Pフィルタリング など。
-
TCP/IP入門・ネットワーク入門(@network)
移行メモ(正誤): 原文はプロファイルの変更方法を「ドメイン変更方法」と見出ししていたが、 手順の内容はネットワークの場所(プロファイル)の変更なので「プロファイル変更方法」に整えた。 また「Windows2008からプロファイル毎の設定が可能」は Windows Vista / Server 2008 世代からの 機能であるため、製品名を Windows Server 2008 と明記した。
- ポートが空いているか
- サーバ側:netstat
- クライアント側:telnet
- ポート番号の指定
「HTTP://FQDN名:ポート番号/xxx」でポート番号を指定します。
既定値の80番ポート以外を使用するHTTPサービスは注意が必要です。
- 認証が必要でないか?
- プロキシ設定
- インターネット接続はプロキシ経由である必要はないか?
- イントラネット接続はプロキシ経由が不要ではないか?
- プロキシ認証は必要でないか?
- プロキシ自動設定ファイル(proxy.pac)
- proxy.pacで、FQDN名(IPアドレス)毎にプロキシの振り分けなどが可能です。
- proxy.pacの作成方法については proxy.pac でグーグル検索してみて下さい。
- IE設定等から自動的に設定を取り込む
以下は古い形式で推奨されませんが、HttpWebRequestの派生クラスは
既定でIE設定等から自動的に設定を取り込むようです(.NET)。- GlobalProxySelection.Select
- WebProxy.GetDefaultProxy
- 名前解決
プロキシ・サーバ上でインターネット上のDNSを使用して名前解決されます。 - その他
- プロキシ設定に対応していないアプリケーション(SOCKS ラッパーを噛ませる方法など)
- プロキシ認証に対応していないアプリケーション
プロキシ自動設定ファイルに対応していないアプリケーション
上記に対応する方法としては、(Proxomitronなどの)
ローカル・プロキシと呼ばれるプロキシを使用する事で
プロキシ認証・自動設定に対応させる事ができます。
- プロキシ・サーバ
プロキシ・サーバの設定(上記) - ゾーン設定とセキュリティ・レベル
IEではゾーン設定とセキュリティ・レベルの関係で
(接続できないというより)動作しないことがあります。- ゾーンには以下のものがあります。↓に行くほどセキュリティ制限が緩和されます。
- 制限付きサイト
- インターネット
- イントラネット
- 信頼済みサイト
- ゾーンには以下のものがあります。↓に行くほどセキュリティ制限が緩和されます。
- セキュリティ・レベルの設定項目には多数のものがあります(バージョン別セキュリティ既定値一覧表)。
- 閲覧の履歴 - 設定 - インターネット一時ファイル
デフォルトの「自動的に確認」では、
ファジーな動作でキャッシュを参照しに行くことがあり、
デバッグ中、不規則な動作に悩ませられることがある。
※ Internet Explorer は 2022年6月にサポート終了。 Microsoft Edge の IEモードを使う場合も、ゾーン設定は同じ「インターネット オプション」が効く。
- 自己署名の証明書では接続できないことがあります(WWWブラウザによる)。
- 失効確認チェックがプロキシ・サーバ経由でインターネットに
抜けられないことで、HTTPS接続ができないことがあります。
こちらを参考にして下さい。
- サービス・タスク系のいろいろ(
MS_ServiceAndTaskTopics.md)
IEからケルベロス認証を行う場合、接続先サイトをイントラネット・ゾーン以下の
セキュリティ・レベルが適用されるように設定しないとケルベロス認証されません。
時間がズレているとケルベロス認証が必要となる
サービスへ繋がらなくなる事があるようです。
-
ケルベロス認証が利用されているが、ケルベロス認証では
サーバとクライアント間の時刻が一致している必要があるので、
そのために時刻同期が必須の機能となったからだ。
# 止まっていたVMを起動した場合等に良くハマるようです。
# RDP(MS_RDP.md)接続もできるし、pingも通るけどなんで!?と言う感じで・・・。
(SQL Server の認証: MS_SQLServerAuthentication.md)
-
先ず、Windows ファイアウォールOFFで問題を切り分け、
-
Windows ファイアウォールOFFが問題の場合は、
地道にWindows ファイアウォールの例外を追加する。-
SQL Server アクセスを許可するように Windows ファイアウォールを構成する - Microsoft Learn
New-NetFirewallRule -DisplayName "SQLServer default instance" -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow New-NetFirewallRule -DisplayName "SQLServer Browser service" -Direction Inbound -LocalPort 1434 -Protocol UDP -Action Allow
-
[INF] ファイアウォール経由での SQL Server との通信に必要な TCP ポート(KB287932)
-
-
なお、通常、プロトコルは、
- TCP 1433、UDP 1434のハズだが、
- 任意 1433、任意 1434としないと、
通らないことがあった。
接続に必要なプロトコルを有効に設定する。
特にExpressでは既定で共有メモリ以外のプロトコルがOFFになっている。
-
SQL Server 構成マネージャー を起動する - BEACHSIDE BLOG
SQL Server 構成マネージャーって、かなり前からですがメニューに表示されなくなりましたよね。
-
参考
リモート・アクセスのセキュリティ設定もあるようです。
ODBCのドライバ選択を間違うと接続できないことがあるようです。
- SQL Server
- SQL Server Native Client
※ SQL Server Native Client(SNAC)は非推奨。現行は Microsoft ODBC Driver for SQL Server / Microsoft OLE DB Driver for SQL Server を使う。
特に2005では、
- セキュリティ構成
- Browserサービス有効
などが必要のようです。
リモート接続には上記のプロトコル有効化とファイアウォール例外の設定が必要。
- Microsoft SQL Server Japan Support Team Blog - Troubleshooting Connectivity
- #1 - SQL Server への接続
- #2 - エラー情報からわかる失敗原因
- #3 - 予期しない接続切断
- #4 - 接続エラーの調査方法
- #5 - セッション確立までの動作
Oracle Clientと互換性が無いケースが多いようです。
- 接続先のOracleデータベースのバージョン不整合
- インストール先のOSとのバージョン不整合(不整合でもインストールできてしまうとのこと)
- 例えば、OSがWindows 7 / Server 2008 R2の場合
- 11g及び10.2.0.5のみをサポート(サーバ・クライアント両方)
- 10gの他のバージョン(10.2.0.1~4)は動作保証していない
- 例えば、OSがWindows 7 / Server 2008 R2の場合
UPから参照設定している Oracle.DataAccess.dll と、
ローカルにインストールしているOracle Clientに互換性が無いケースが多いです。
※ 現行は、Oracle Client 不要(マネージド)な ODP.NET Managed Driver / Oracle.ManagedDataAccess.Core を使うことで、この種の不整合を回避できる。
ORACLE_HOME が複数ある場合、ORACLE_HOMEの設定が必要になります。
ODP.NETのインストール後、ORACLE_HOMEが複数ある状態になるので注意が必要です。
- 32bit用、64bit用データプロバイダに起因する問題(WOW64)
Tags: あるある, 障害対応, デバッグ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。