「1 拠点間を VPN で常時接続する」の中で、目的を3つ書きました。
- 2か所の事務所を VPN で接続する
- 電話番号を2か所の事務所で共用する
- ファイルサーバを2か所の事務所で共用する
この3番目を実現する話を書きます。この話はあまり難しい話ではないのですが、ハマると言えばハマるかもしれません。
ヤマハのルーターを超えて2拠点間でファイルサーバーを共用するには
まずは、構想/妄想の図を見てください。
右側の拠点Aにファイルサーバがあります。具体的には、CentOS 上に作った SAMBA サーバです。これは、拠点Aで元々使っていたサーバです。ずーっと使っていたので、設定も頭の中からは消えています。安定動作しているし。
このファイルサーバを、左の拠点B からも使えるようにしたいと言うのが目的の3番でした。
これを実現するためには、いくつか確認/設定や検討しなければならない事項があります。ここで書いている時点では既にわかっている事項ですが、図の構成を構築していた時点では1つ抜け、2つ忘れ…。てな訳で、ここで整理します。
- PC-B がファイルサーバを探せること
- PC-B からファイルサーバへの通信が通ること
- ファイルサーバが PC-B を受け入れること
抽象的な表現になりましたが、1つづつ説明します。
1 PC-Bがファイルサーバを探せること
Windows の世界(個人的には大っ嫌いです、Microsoft のネットワーク)では、ファイル共有は NETBIOS とか言うわけのわからないもので実現していました。現在は、基本的に NBT(NetBIOS over TCP/IP)というプロトコルで実装しているみたいです。嫌いなので、あまり勉強していませんが。エクスプローラーのアドレスバーで「¥¥サーバ」と入力するとそのサーバの資源が見れたりします。しかし、このサーバの名前から実際の IPV4 アドレスをどうやって探しているのかというと、それが NBT なんです。基本的にブロードキャストで探すのですが、同一セグメントしか有効ではありません。結局拠点B 内しか探せないと言うことです。
これを解決するには、WINS サーバを導入するか、lmhosts に登録するかどちらかです。規模が大きければ WINS サーバの導入が良いかもしれませんが、数台規模であれば、lmhosts で解決します。Windows の NBT の名前解決をするためののファイル名が lmhosts です。Linux/UNIX の /etc/hosts と基本は同じです。場所は、
C:\Windows\System32\drivers\etc\lmhosts
です。初期状態では無いので、同じディレクトリ内にある lmhosts.sam をコピーして使います。ちなみに、管理者権限が必要ですので、ご注意を。
ファイルをコピーしたら、メモ帳などで編集します。この時もメモ帳は管理者権限で起動してください。そして、ファイルの最後に次ぎの一行を追加します。ああ、最初に言ってませんでしたが、PC-B の話です。
192.168.0.9 fs001
ファイルサーバの IPV4 アドレスとファイルサーバの名前/ホスト名を記述します。/etc/hosts と同じですね。これだけです。 これで、ファイルサーバの名前解決ができるようになります。
ちなみに、同じディレクトリに hosts ファイルもあります。なぜ分けているのか意味不明。だから Microsoft は嫌いです。同じでいいじゃん。
2 PC-B からファイルサーバへの通信が通ること
lmhosts で名前解決ができたからと言って通信できるわけでもありません。ping でまずは疎通確認してください。ping が通らなければ、ファイルサーバの経路情報を確認しましょう。PC-B は、192.168.2.0/24 のセグメントにいます。そこへの経路がサーバに入っていればOKです。確認は、netstat -r ですね。
# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 192.168.76.0 * 255.255.255.0 U 0 0 0 vmnet8 192.168.127.0 * 255.255.255.0 U 0 0 0 vmnet1 default setup.netvolant 0.0.0.0 UG 0 0 0 eth0
この例では、default として、 NVR500 が動的に登録されています。 NVR500 のアドレスが、なぜか setup.netvolante になっていますが、なぜでしょ? これは良くわかっていませんが、setup.netvolante=ルータ-A です。ルーターA は、192.168.2.0/24 への経路情報を静的に登録してありますので、めでたく通信可能なことが確認できます。ルーターA の経路情報の話は、「6 拠点間をヤマハのルータのVPN機能で常時接続する VPN トンネル設定」を見てください。
|
そして、次はルータのフィルターです。今回は、同じ社内の拠点間と言うことでたまたまフィルターはかけていませんので、そのまま通ります。フィルターの話も、「6 拠点間をヤマハのルータのVPN機能で常時接続する VPN トンネル設定」を見てください。
3 ファイルサーバが PC-B を受け入れること
最後にファイルサーバ側の話です。これ、ちょいハマりましたというか、気が付かずに3日放置してしまいました。放置と言っても、他の仕事をしていたわけですが。SAMBA の設定ファイル /etc/samba/smb.conf を見てください。この中にこのような設定をしていました。
hosts allow = 127. 192.168.0.0/24
これは、受け入れるクライアントを自分自身と192.168.0.0/24 のセグメント内のホストに限定しています。このままだと、PC-B 192.168.2.20 からのアクセスは拒否されます。それで次のように変えました。
hosts allow = 127. 192.168.0.0/20
これで、192.168.0.0/20~192.168.128.0/20 の範囲のホストを受け付けます。これじゃ、やり過ぎじゃんと思う方は、下記の設定で厳密に拠点B のセグメントを追加してください。
hosts allow = 127. 192.168.0.0/24 192.168.2.0/24
これで拠点B の PC-B から拠点A のファイルサーバの資源にアクセス可能になります。もちろん、アカウントがある前提です。
今回は、ここまです。次回は、 NVR500 に USB HDD を接続してファイルサーバ化する話を書きます。