Winの共有フォルダにEthernetケーブルで繋いだMacからアクセスする

Twitterに書くには長すぎたんだけどどっかにまともに書くほどでもないチラシの裏だったのでこっちに書く。


概要

Windowsマシンを一台新規に導入して、そいつをいわばファイルサーバ代わりに使おうと思ったんだけど、Macからなぜか共有フォルダにアクセスできなかった。
調べたらWindows Firewallが原因だったっぽかったから改善したというお話

作業環境

MacBook
OS X 10.5.8。WiFiでネットに接続。EthernetでWinと接続してて、Winのネット接続用にEthernetにWiFiのインターネット接続を共有してる
Windows
XP SP3。ルーターには直接つながってなくて、Ethernetを使ってMacbook経由でネットに接続してる。Dドライブを丸ごと共有フォルダに設定

初期状況

Win,Macともに共有フォルダを設定してるんだけど、双方向のアクセスが確保できてなかった。

Winクライアント -> Macホスト
問題なく繋がる。ネットワークドライブも割り当ててある
Macクライアント -> Winホスト
Winが直接ルーターに接続してた頃は繋がってたのに、MacにEtherで繋いで接続する様になって繋がらなくなった

Windowsファイアウォールは標準のままだったんだけど、ファイルとプリンタの共有は例外に設定してあった。でも繋がらないのはなんでだ?ということに。

手順

適当にググったらいくつかサイトがヒットして、適当にためしていったら正解にたどり着いた。
はてダに書いてた方がいたので、それ(http://d.hatena.ne.jp/gunshot/20060413/)を見て作業。

スコープを変更する

なんのことはなくて、例外設定画面で「ファイルとプリンタの共有」のポート構成を「編集(E)…」すればいい。

TCP 139,TCP 445, UDP 137, UDP 138の計4つが並んでいたけれども、そのうちTCP 445のスコープのみをカスタマイズする。
初期設定だと「サブネット」になっているのを、「カスタムの一覧」に変更する。解除するIPは(Winから見える)MacのIPを指定すればいい。
ちなみにうちの環境だとWinには192.168.2.2が割り振られていて、Winから見たMacのIPは192.168.2.1。指定してOKしていけば普通に解決して繋がる様になった。

技術背景

繋がればそれでいいからちゃんと調べてないけど、Windows 2000以降で導入されたDirect Hosting of SMBってのがTCP 445を使っていて、そこへサブネット外(共有ホストのMacはそういう扱いになるらしい)からはアクセスできないことが原因だったっぽい。

さらに多くのマシンからアクセスしたりする場合にはカスタムの一覧をいろいろ工夫しないといけないんだろうけど、いまのところはMac母艦からのアクセスが保証できればそれでいいやということに。これ以上マシンが増えるならルーターもう一台部屋の中に置けってことなのかねぇw


Back to Top

Sitemaster: じゅりあす