Skip to content

MS_ConnectionFailure

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

つながらない!

概要

ネットワークや、サーバに繋がらなくなるケースの

  • 事例と
  • トラブルシュートの方法

についてまとめています。

前提知識

  • まず、ネットワークの基本的な知識が必要になります。
  • また、基本的にパケット・キャプチャができないと厳しいです。
    Wireshark、Microsoft Network Monitor、Fiddlerの使用方法を習得して下さい。

トラブルシュートの順序

OSI参照モデルの順番に合わせてトラブル・シュートして問題を切り分けます。

第一層(ケーブル、NW機器電源など)

第二層(イーサネット)

アドレスの解決

IPアドレス → MACアドレスを解決するARPがあります。
ARPテーブルの確認が必要になることもあります。

NICの設定

  • 非常に良くある話に、「自動識別」と「全二重固定」の混在があります。
    • 自動識別(オート・ネゴシエーション)に対応していないネットワーク機器と
      オート・ネゴシエーション→接続しようとして失敗していることがあります。
    • オート・ネゴシエーションの失敗は、
      Windowsのイベントログに(警告か情報で)出力されるので確認可能です。
  • 次いで、「SNP(Scalable Networking Pack)」と呼ばれる
    ネットワーク最適化機能が有効になっていることで問題を起こすケースがあります。
    • ネットワーク処理が不安定になる。
    • ネットワークと無関係のアプリケーションの処理に影響を与える。
  • 参考

スイッチの設定

  • NICと同様に、ヒット率の高いものに、自動識別(オート・ネゴ)があります。
  • また、ユニ・キャスト、マルチ・キャスト、ブロード・キャストなど、
    スイッチを使用していても、複数のIPアドレス、MACアドレス
    へのフラッディングが必要になるケースがあります。
  • 参考:ITpro「1週間で学ぶネットワークの要点 スイッチ・ネットワークのトラブル対処法」より
    • (1)スイッチング・ハブやL3スイッチなどのLANスイッチを導入したスイッチ・ネットワークには、
      リピータ・ハブだけを使った簡単な構成のLANでは生じにくい様々なトラブルが潜む。
      • LANポートには「MDI」と「MDI-X」の2種類が、より対線ケーブルにも
        「ストレート」と「クロス」の2種類がある。この組み合わせが不適切だと通信不能になる。
      • 接続する機器間で通信モードが一致しないと、
        設定矛盾となってスループットが低下したり、通信不能に陥る。
      • オート・ネゴシエーション機能は、FLPという通信モード情報を含む信号を接続する機器間で交換することで実現。
        A社のケースでは、一部の端末は「100BASE-TXで全2重通信」という通信モードだったため、
        FLP信号の代わりにアイドル信号を利用したが、結局通信モードは不一致になってしまった。
    • (2)より対線ケーブル(ツイストペア・ケーブル)を多数使ったスイッチ・ネットワークでは、
      LAN配線の大幅変更時に混乱が生じやすい。
      これは、利用中のケーブルの種類を容易に判別できるようにしておくだけで対応できる。
      • 外圧がかかり続けたケーブルは劣化。1000BASE-Tはケーブルの品質に注意
      • 光ファイバは品質測定が欠かせない
      • 1000BASE-LX対応機器をMMFで接続する際は、パッチ・コードが必要になる。
    • (3)L2スイッチLANでは、接続ミスによるトラブルを防止したり、
      バックアップ経路を確保するためにスパニング・ツリーと呼ぶ経路制御機能を使う。
      • L2スイッチを多段接続していた所に誤ってケーブルを接続した結果、
        ループ状のトポロジになり、トラフィックがブロードキャスト・パケットで埋め尽くされた。
      • スパニング・ツリーは、デフォルトではMACアドレスの一番小さなL2スイッチがルート・ブリッジになり、
        ネットワーク構成を管理する。A社では夜間に電源を切るL2スイッチをルート・ブリッジにしてしまったため、
        電源のオフ/オンのタイミングで一時的に通信ができなくなった。
      • スパニング・ツリー・プロトコル(STP)で経路を2重化、パス・コストの設定ミスで
        全ての通信が部門バックボーン・スイッチではなく全社バックボーン・スイッチを経由。
      • ブリッジ・プライオリティを誤って低く設定していたため、トポロジの変更が発生し、
        ルートのL2スイッチが新設のL2スイッチに移動、スループットが10分の1に。
    • (4)最近のLANスイッチの多くは、多くの便利な機能を持つ。
      例えば、マルチキャスト関連機能やバーチャルLAN機能である。だが、これらの機能は、
      その仕組みをしっかりと把握して使わないと、意外なトラブルに遭遇することがある。
      • ホット・スタンバイ機能により、定期的にL3スイッチの実働系と待機系が、
        IPマルチキャストのアドレスを使って互いの状態を確認し合っている。
        ところが、L3スイッチがホット・スタンバイのやり取りに使うMACアドレスと
        別の端末のMACアドレスが重複してしまい、さらにLANスイッチ上で
        IGMPスヌープ機能を有効にしていたため、ホット・スタンバイが働かなくなった。
      • エンドユーザーにはVLAN機能は見えない。
        VLANが設定されていないポートに接続した際に、
        「DHCPが動作しないトラブルが発生している」といったクレームを主張。
        この主張に従って原因を調査してしまい、多大な時間を費やしてしまった。
        VLANが原因と判明したのはほかの原因をすべて調査した後だった。

第三層(IP)

ネットワーク接続のプロパティ

通信を行う双方のホストの
「ネットワーク接続のプロパティ」
に正しい設定がされている必要があります。

  • インターネット・プロトコル(TCP/IP)
    • 基本設定
      • IPアドレス
      • サブネットマスク
      • デフォルト・ゲートウェイ
    • 名前解決
      • DNS設定(FQDN名をIPアドレスに変換)
      • WINS設定(NetBIOS名をIPアドレスに変換)
    • DHCPから情報を取得する設定の場合
      DHCPから配信される情報の設定は不要になる。
      • DHCPサーバが動作している事。
      • DHCPクライアントが動作している事。

移行メモ(正誤): 原文の「DNS設定(FQDN名をIP名に変更)」「WINS設定(NetBIOS名をIP名に変更)」は、 「IP名」ではなく「IPアドレス」への変換を指していると解されるため、その旨に整えた。

名前解決

Windowsネットワーク編

IPのルーティング

ping、tracert、pathpingなどを使用して調査する。

必要に応じてルータのルーティング・テーブルの確認が必要になります。

第四・五層(TCP, UDPなど)

TCP, UDP

通信の状態を確認する。

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フィルタリング など。

移行メモ(正誤): 原文はプロファイルの変更方法を「ドメイン変更方法」と見出ししていたが、 手順の内容はネットワークの場所(プロファイル)の変更なので「プロファイル変更方法」に整えた。 また「Windows2008からプロファイル毎の設定が可能」は Windows Vista / Server 2008 世代からの 機能であるため、製品名を Windows Server 2008 と明記した。

第六・七層(HTTPなど)

Webサーバ

  • ポートが空いているか
    • サーバ側:netstat
    • クライアント側:telnet
    • ポート番号の指定
      HTTP://FQDN名:ポート番号/xxx」でポート番号を指定します。
      既定値の80番ポート以外を使用するHTTPサービスは注意が必要です。
  • 認証が必要でないか?
    • 匿名アクセス
      • APサーバの匿名アカウントでの実行には、
        (匿名アカウントでの)偽装設定(サービス・タスク系のアカウント問題: MS_ServiceAndTaskAccountIssues.md)が必要になります。
    • サービス・アカウントでのアクセス
      • 通常はサービス・アカウントで実行されます。
      • 参考:ビルトイン システム アカウント
    • 認証されたユーザアカウントでのアクセス(参考:認証基盤

プロキシ・サーバ

  • プロキシ設定
    • インターネット接続はプロキシ経由である必要はないか?
    • イントラネット接続はプロキシ経由が不要ではないか?
    • プロキシ認証は必要でないか?
  • プロキシ自動設定ファイル(proxy.pac)
    • proxy.pacで、FQDN名(IPアドレス)毎にプロキシの振り分けなどが可能です。
    • proxy.pacの作成方法については proxy.pac でグーグル検索してみて下さい。
  • IE設定等から自動的に設定を取り込む
    以下は古い形式で推奨されませんが、HttpWebRequestの派生クラスは
    既定でIE設定等から自動的に設定を取り込むようです(.NET)。
    • GlobalProxySelection.Select
    • WebProxy.GetDefaultProxy
  • 名前解決
    プロキシ・サーバ上でインターネット上のDNSを使用して名前解決されます。
  • その他
    • プロキシ設定に対応していないアプリケーション(SOCKS ラッパーを噛ませる方法など)
    • プロキシ認証に対応していないアプリケーション
      プロキシ自動設定ファイルに対応していないアプリケーション
      上記に対応する方法としては、(Proxomitronなどの)
      ローカル・プロキシと呼ばれるプロキシを使用する事で
      プロキシ認証・自動設定に対応させる事ができます。

WWWブラウザ設定

  • プロキシ・サーバ
    プロキシ・サーバの設定(上記)
  • ゾーン設定とセキュリティ・レベル
    IEではゾーン設定とセキュリティ・レベルの関係で
    (接続できないというより)動作しないことがあります。
    • ゾーンには以下のものがあります。↓に行くほどセキュリティ制限が緩和されます。
      • 制限付きサイト
      • インターネット
      • イントラネット
      • 信頼済みサイト
  • セキュリティ・レベルの設定項目には多数のものがあります(バージョン別セキュリティ既定値一覧表)。
  • 閲覧の履歴 - 設定 - インターネット一時ファイル
    デフォルトの「自動的に確認」では、
    ファジーな動作でキャッシュを参照しに行くことがあり、
    デバッグ中、不規則な動作に悩ませられることがある。

※ Internet Explorer は 2022年6月にサポート終了。 Microsoft Edge の IEモードを使う場合も、ゾーン設定は同じ「インターネット オプション」が効く。

HTTPS関連

  • 自己署名の証明書では接続できないことがあります(WWWブラウザによる)。
  • 失効確認チェックがプロキシ・サーバ経由でインターネットに
    抜けられないことで、HTTPS接続ができないことがあります。

認証周り全般

こちらを参考にして下さい。

  • サービス・タスク系のいろいろ(MS_ServiceAndTaskTopics.md

ケルベロス認証

ケルベロス認証

ゾーンの設定

IEからケルベロス認証を行う場合、接続先サイトをイントラネット・ゾーン以下の
セキュリティ・レベルが適用されるように設定しないとケルベロス認証されません。

時間がズレている。

時間がズレているとケルベロス認証が必要となる
サービスへ繋がらなくなる事があるようです。

  • NTPとWindows時刻同期サービス - @IT

    ケルベロス認証が利用されているが、ケルベロス認証では
    サーバとクライアント間の時刻が一致している必要があるので、
    そのために時刻同期が必須の機能となったからだ。

# 止まっていたVMを起動した場合等に良くハマるようです。
# RDP(MS_RDP.md)接続もできるし、pingも通るけどなんで!?と言う感じで・・・。

データベース接続

SQL Server

接続文字列

(SQL Server の認証: MS_SQLServerAuthentication.md

Windows ファイアウォール

SQL Server 構成マネージャー

接続に必要なプロトコルを有効に設定する。
特にExpressでは既定で共有メモリ以外のプロトコルがOFFになっている。

セキュリティ設定

リモート・アクセスのセキュリティ設定もあるようです。

ODBC接続

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の場合

特に2005では、

  • セキュリティ構成
  • Browserサービス有効

などが必要のようです。

SQL Server Express

リモート接続には上記のプロトコル有効化とファイアウォール例外の設定が必要。

参考情報

  • Microsoft SQL Server Japan Support Team Blog - Troubleshooting Connectivity
    • #1 - SQL Server への接続
    • #2 - エラー情報からわかる失敗原因
    • #3 - 予期しない接続切断
    • #4 - 接続エラーの調査方法
    • #5 - セッション確立までの動作

Oracle

Oracle Client

Oracle Clientと互換性が無いケースが多いようです。

  • 接続先のOracleデータベースのバージョン不整合
  • インストール先のOSとのバージョン不整合(不整合でもインストールできてしまうとのこと)
    • 例えば、OSがWindows 7 / Server 2008 R2の場合
      • 11g及び10.2.0.5のみをサポート(サーバ・クライアント両方)
      • 10gの他のバージョン(10.2.0.1~4)は動作保証していない

ODP.NET

UPから参照設定している Oracle.DataAccess.dll と、
ローカルにインストールしているOracle Clientに互換性が無いケースが多いです。

※ 現行は、Oracle Client 不要(マネージド)な ODP.NET Managed Driver / Oracle.ManagedDataAccess.Core を使うことで、この種の不整合を回避できる。

SI Object Browser

ORACLE_HOME が複数ある場合、ORACLE_HOMEの設定が必要になります。
ODP.NETのインストール後、ORACLE_HOMEが複数ある状態になるので注意が必要です。

32bit、64bit

  • 32bit用、64bit用データプロバイダに起因する問題(WOW64

Tags: あるある, 障害対応, デバッグ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally