今日の恭麿
HIEDA NET Corpration
 > これは変だよ  > Windows Server World 七月号


 

まず、VLANという事は物理的には同じネットワークもしくはセグメント上に異なるIPネットワークが複数存在しているということですね。ネットワークの論理アドレスを事業部毎に異なるものにしているからVLANというのでしょう。IPネットワークが異なっている限り、たとえ同じセグメント(同一のHUB)に接続していても、その複数のIPネットーワークを結ぶ(ルーティングする)ルーターがない限り通信は出来ません。IPアドレスだろうがコンピューター名だろうがまったくPingに反応するわけがありません。これを踏まえてです。

IPアドレスでのPingが出来ているという事は、作者のかかわった事業部のネットワークと共有ファイルサーバーの存在するネットワークは、
@ IPアドレスが同じでセグメントも同じ
か、もしくは
A ルーターが接続している別セグメント
と考えられます。@のIPアドレスが同じでセグメントも同じ場合、共有ファイルサーバーのコンピューターブラウザサービスに障害があるとエクスプローラにブラウズされませんがまずめったにないことでしょう。ブロードキャストでマスタブラウザにコンピューター名が登録され、全てのコンピューターがエクスプローラで見えることでしょう。

Aのルーターが接続している場合には、そのルーターが137と138のTCP・UDPポートを開けていないとコンピューターブラウザサービスで利用するトラフィックが流れません。更にこれらのポートが開けてあっても共有ファイルサーバーが事業部ネットワークのマスターブラウザを担っているコンピューターに名前を登録してないとエクスプローラにブラウズされません。またMicrosoftはルーターによるブロードキャストトラフィックのフォワーディングを推奨していません。

NT4以前では名前解決のサブネット越えにサブネット毎にWINSサーバーを建てるとかWINSプロキシを建てる、或いは1台1台に同じ内容のLMHOSTSを用意するなどの方法で実現していました。WINSサーバーのデーターベースにはどのコンピューターがブラウザマスタなのかも登録されていますので、WINSクライアントならば全てエクスプローラでブラウズされる(見える)ようになります。こちらの可能性の方が高いでしょう。

IPアドレスでのPingが出来ているのにサーバー名でPingが返ってこない現象を、ADドメインやワークグループが異なるから、とする理由は間違いです。これは名前解決が失敗してるからでしょう。このネットワークではどんな名前解決方法を採用しているのかが記載されていませんが、同じIPネットワーク内でのブロードキャストによるNetBIOS名解決以外に、Active Directryが導入されている事業部には必ずDNSサーバーがいますから、サブネット越えの名前解決にこれを利用しているのかも知れません。(Active DirectryにDNSサーバーの存在は必須。)その場合DNSサーバーに共有ファイルサーバーのエントリを登録すれば良いのです。ADドメインやワークグループが異なってもDNSサーバーによる名前解決は利用できます。NetBIOS名での解決が出来るかどうかは別の名前解決にかかっていますが、少なくともFQDNでの名前解決は出来るので、
Ping HOST名(FQDN)
も成功するでしょうし、エクスプローラーらや「ファイル名を指定して実行」に
\\HOST名(FQDN)
を入力しても表示されるでしょう。苦労したいのならばLMHOSTSやHOSTファイルを全てのコンピューターに配布しても良いでしょう。確実にルーター越えするNetBIOS名解決もHOST名解決も出来ます。

WindowsマシンのNetBIOS通信やRPC通信には135・137〜139(Win2kでは更に445)のポート(名前解決のみもならば137・138)を使用しますので、通常はイントラネット内のルーターはこのポートを開けておく必要があります。(ルーターでブロードキャストのフォワーディングをする必要はない。)

WINSクライアントとWINSサーバーの通信はIPアドレスで行われるのでルーターを超えられます。しかし、

  • IPルーターは、ブロードキャストトラフィックを伝播しない
  • IPルーターによる解決方法は推奨されない
ので
  • WINSサーバーと通信できない場合
  • WINSサーバーとの通信に時間がかかる場合
  • ルーターを超えるトラフィックを出来る限り抑えたい場合
には
  • LMHOSTSファイルを利用(メンテナンスが必要。DHCP環境ではとても大変。)
  • 各サブネットにWINSプロキシエージェントを建てる(WINSプロキシエージェントが名前解決時に必ずWINSサーバーと通信するトラフィックが発生する)
  • 各サブネット(もしくは主なサブネットに)にWINSサーバーを建て、WINSサーバー同士は複製パートナーとして構成する。
とするのがMicrosoft的に正当な解決方法です。

以上の知識

  • Windows 2000以降ではNetBIOS over TCP/IPが必須ではなくなったにせよ、以前のOSでは名前解決に必須の技術
  • NetBIOS名前解決(WINS・LMHOSTS・NetBIOSブロードキャスト)もコンピューターブラウザサービスもMicrosoft独自技術
ということもありMSUでも必ず学習しますし、またまずMCP試験に出ますので、MCP取得者ならば持っている(ハズ)のWindowsの基本知識・基本技術なのです。
※ 日経BPソフトプレスのMicrosoft Press MCSEスキルチェック問題集Microsoft Windows 2000 Network Infrastructure Administration Exam 70-216にもP153 問題5.1.2として記載があります。

異なる物理セグメント間や異なるIPネットワーク間を接続するルーターが存在し正常にルーティングしていればPingは返ってくるでしょう。更にネットワーク上のコンピューターがコンピューターブラウザサービスでマスターブラウザと通信していれば、たとえドメインやワークグループが異なっていても、マイネットワークを展開したエクスプローラーでコンピューターは見えるでしょう。これは多くの方が経験済みのことと思います。但し、ログオンする権限のないコンピューターには接続できませんし、共有フォルダの中身を見ることも出来ません。アクセス権があるかどうかエクスプローラーでブラウズできるかどうかは別物です。見えなくてもアクセスすることが出来る場合もあります。自分がアクセス出来ないコンピューターも見えます。この共有ファイルサーバーにアクセスするには、
 @共有ファイルサーバーに存在するユーザーアカウントとパスワードでアクセスする方法と、
 A自分が使用しているユーザーアカウントとパスワードと同じものを共有ファイルサーバーに登録する方法
のいづれかで解決できます。

で、別の事業部が作成したデータをフロッピーディスク経由ではなく、ネットワークを介して行うにはどうするかです。 私はVLAN間ルーティングをお勧めします。別な事業部も作者のかかわった事業部も共有ファイルサーバー上の共有フォルダにアクセスしなければならないのならば、現在のVLAN間は論理的に接続されていない設定を変更するしかありません。 作者はnet useコマンドで解決としていますが、その前提として各事業部が共有ファイルサーバーと通信出来なければなりません。作者がかかわった事業部のネットワークのマシンと共有ファイルサーバーは少なくともPingが出来ます。という事はこの会社では論理的にVLAN間は接続されていないハズなのですからその他の事業部はIPアドレスのPingであろうがなんだろうが共有ファイルサーバーと通信出来ないハズなのです。通信する為にはVLAN間を論理的に接続させる必要があります。(もし他の事業部からでも「エクスプローラで共有ファイルサーバーは見えないけどIPアドレスでのPingは成功している。」というのならば、ネットワーク上のどこかでルーティングしているマシンが存在するということです。これは前提条件に反します。)

VLAN間ルーティングを実現するのにL3スイッチを用意するのも方法です。しかし、X社ももう持出しはしたくないでしょう。ドメインコントローラー共有ファイルサーバーとWindows 2000 Serverが複数在ります。そこで、どちらか適当な(手抜きという意味でなく正に適している)ほうをルーターとして構成します。Windows NT系列は1枚の物理NICに複数のIPアドレスを割り当てられます。VLANそれぞれのネットワークアドレスを持ったIPアドレスを設定しRRASを適切に設定すればIPルーティングします。追加購入費用なしに実現出来ます。

もし、

  1.  この会社のネットワーク上にVLAN間ルーティングをするルーターが存在していて、各事業部ネットワークから共有ファイルサーバーに対してIPアドレスでのPingでは通信出来るのに共有ファイルサーバーがエクスプローラーでブラウズされないのならば、
  2.  更に各VLAN毎にマスタブラウザが存在しているがTCPとUDPの137・138ポートが閉じられていることで名前解決トラフィックやコンピューターブラウズサービスのトラフィックがルーターを超えられず、各VLANに対して他のVLANに存在するコンピューターがエクスプローラーで見えない・ブラウズされないというのならば、
作者の提唱するnet useコマンドは解決方法の1つとして有効でしょう。(コンピューターブラウズと通信出来るか出来ないかは別物です。)しかし、VLAN間は論理的に接続されていないという本文内での説明と矛盾します。VLAN間は論理的に接続されていないならば、pingが届くわけがない。pingが届くという現象がある以上、VLAN間は論理的に接続されている・ルーティングしていると言う解釈が成り立ちます。このお客様はスキルが低いようで気付いていないようですが、読者(=擬似お客様)に対しては正確な説明が出来ていません。作者のチームはシステムインテグレーターとしては現状把握・調査・リサーチ・インタビュー・仕様説明に失敗していると思います。

という事で、前提条件どおりのネットワーク構成ならば共有ファイルサーバーを管理するドメインを構築する必要もないし、net useコマンドもいらないです。「ファイルを指定して実行」やエクスプローラーのアドレス欄に、\\fqdnもしくは\\host_nameを入力してやればよろしい。ドライブレターを与えたい時に初めてnet useコマンドの出番です。\\NetBIOS_nameをしたいときには、VLAN間をルーティングさせているルーターに、名前解決トラフィックやコンピューターブラウズサービスのトラフィックを通過させてやればよいのです。この程度の知識で「世間のITエンジニアはスキルがないから俺は苦労しているぜ!」的な内容の記事を、全国誌に毎月掲載しているエンジニアのかたのほうが迷惑ですね。

まぁ、MCPを馬鹿にするプログラマの多くは、Windows ネットワークでどんなトラフィックが流れているかを知らない何てこと多いですし、CCxxなciscoネットワークエンジニアの多くはMCPを馬鹿にする割には、PCのオペレーションができないし、Windowsのドメインネットワークの仕組みを知らない・どんなトラフィックが流れているかを知らない、ということはよくありますからねぇ。

29 AUG 2003 追記:
 このページと同様の内容をメールしていたところ、8月27日に編集部から丁寧な回答をいただきました。有難うございます。作者の方の言い分は、実話を元にしているけれど、複数の事実をあたかも1つの出来事のように書いたから誤解を生じさせる言い方になった、ということです。つまり、誤解はさせたけれど技術知識としては間違っていないよ、ということなのですね。執筆者のかたの回答では「誤解」という表現を使用されていますが、たとえ言葉が足りなかったとしても、私は「間違い」と認識します。少なくとも

  • Pingが通るのならば事業部間が通信できない部分は矛盾してしまいますし、
  • エクスプローラーでリモートコンピューターの共有フォルダにアクセスするのを実現するのに最良の方法はWindowsのドメインを導入することだ
としているからです。

面白いことに、検索サイトにも登録していないのにもかかわらず、この26日前後はTOPページを経由せずに直接このページが全国からアクセスされていました。ISPのアドレスは誰と特定できませんからおいときますが、判るものでは大阪の大学や新潟の女子短大や北海道や東北の試験場や有名電機メーカー各社・個人のかた、そしてMicrosoftからも複数アクセスがありました。

11 SEP 2003 追記:
 またまた、先月の27日のように、この10日前後は検索サイトにも登録していないのにもかかわらず、TOPページを経由せずに直接このページが全国からアクセスされていました。ほとんど前回の方々ですが、今回初めて御覧頂いた方もいらっしゃいます。悪口は書いていないつもりなんですけど。(^_^;)ページ右上のお問合せでご意見などいただければ有難いのですが。m(__)m

17 SEP 2003 追記:
 昨日、Windows Server World編集部の方とお話する機会を得ました。その時に伺ったお話しでは、なんと僕の尊敬するあのグローバルナレッジの横山先生もWindows NT Worldの時代より、何か疑問を感じると、
「これはおかしい、変だぞ、正確には甲ではないか?。」
というメールを毎月のように送ってきていた、と言うことです。なるほど・・・。

← 第一話
← 第二話


※ 参考:Windows Server World 9月号 読者の反応

初出 18 AUG 2003
最終更新日 17 SEP 2003
 



 (C)2003 HIEDA NET Corporation All rights reserved.