年が明けて忙しい日が続き、随分と間が空いてしまった。
開発のほうでも少し面白いことがあったが、とりあえずそちらはまた機会を改めて。
ようやく私の住んでいる田舎にも光回線が届いた。これを機会に仕事用環境にも無線LANを導入すべくネットワーク関係の設定を見直していたのだが、つまらないことで少々躓いてしまったのでメモっておく。
まず、個人の開発環境であるのでネットワークと言っても数台だ。NASをやプリンタを入れても二桁には届かないので、ドメインではなくワークグループで管理している。
その中の開発用Linuxサーバのsambaを特定のクライアントにしか見れないように設定しようと、以下のような記述を/etc/samba/smb.confに追加した
hosts deny = ALL
hosts allow = 192.168.2.0/28 127.
お試し頂く場合、もちろんIPアドレス指定は適時環境に合わせて修正して欲しい。
で、この記述をした後、他のクライアントの「ネットワークコンピュータ」からワークグループのPC一覧が閲覧できなくなってしまったのだ。hosts allowの範囲に入っていないIPなので、sambaで公開している共有名は見れないのは当然だ。だが「このワークグループのサーバー一覧を現在、利用できません」というエラーが表示され、一覧そのものが表示されなくなってしまったのだ。
ここでこの「サーバ」というのは何か、という話をしておくと、これは「マスターブラウザ」と呼ばれるものだ。ワークグループでネットワークを管理する場合、立ち上がっているPCの内どれか一つが「マスターブラウザ」となって、「今ネットワークにどんなPCが接続されているか」という情報を保持し他のPCに配信する役割を担う。マスターブラウザになっていたPCがネットワークから切断されたばあい、動的に新しいマスターブラウザになるPCをネットワークの中から選定し新しく情報を作り直す、という作業を行う。
で、このLinuxサーバはVMWareで動かしていたので思い当たるのに時間がかかってしまったが、sambaの初期設定では「自分がマスターブラウザになる」という優先度の設定がかなり高くなっているのだ。故に、先に実環境のWindowsが立ち上がっていてもマスターブラウザの役割を乗っ取ってしまう。で、このsambaでは特定のIPのアクセスを排除しているので、排除されたIPを持つPCはマスターブラウザに到達できずにワークグループ内のPCの情報を取得できなくなってしまうのだ。
ということで、/etc/samba/smb.confに「自分はマスターブラウザにはならない」という、以下の設定を追加した。
local master = no
これで無事復旧。このsambaで公開したディレクトリはhosts allowで指定したIPを持つPCからのみ閲覧でき、他のPCはワークグループ内の他のPCにアクセスできるようになった。
開発のほうでも少し面白いことがあったが、とりあえずそちらはまた機会を改めて。
ようやく私の住んでいる田舎にも光回線が届いた。これを機会に仕事用環境にも無線LANを導入すべくネットワーク関係の設定を見直していたのだが、つまらないことで少々躓いてしまったのでメモっておく。
まず、個人の開発環境であるのでネットワークと言っても数台だ。NASをやプリンタを入れても二桁には届かないので、ドメインではなくワークグループで管理している。
その中の開発用Linuxサーバのsambaを特定のクライアントにしか見れないように設定しようと、以下のような記述を/etc/samba/smb.confに追加した
hosts deny = ALL
hosts allow = 192.168.2.0/28 127.
お試し頂く場合、もちろんIPアドレス指定は適時環境に合わせて修正して欲しい。
で、この記述をした後、他のクライアントの「ネットワークコンピュータ」からワークグループのPC一覧が閲覧できなくなってしまったのだ。hosts allowの範囲に入っていないIPなので、sambaで公開している共有名は見れないのは当然だ。だが「このワークグループのサーバー一覧を現在、利用できません」というエラーが表示され、一覧そのものが表示されなくなってしまったのだ。
ここでこの「サーバ」というのは何か、という話をしておくと、これは「マスターブラウザ」と呼ばれるものだ。ワークグループでネットワークを管理する場合、立ち上がっているPCの内どれか一つが「マスターブラウザ」となって、「今ネットワークにどんなPCが接続されているか」という情報を保持し他のPCに配信する役割を担う。マスターブラウザになっていたPCがネットワークから切断されたばあい、動的に新しいマスターブラウザになるPCをネットワークの中から選定し新しく情報を作り直す、という作業を行う。
で、このLinuxサーバはVMWareで動かしていたので思い当たるのに時間がかかってしまったが、sambaの初期設定では「自分がマスターブラウザになる」という優先度の設定がかなり高くなっているのだ。故に、先に実環境のWindowsが立ち上がっていてもマスターブラウザの役割を乗っ取ってしまう。で、このsambaでは特定のIPのアクセスを排除しているので、排除されたIPを持つPCはマスターブラウザに到達できずにワークグループ内のPCの情報を取得できなくなってしまうのだ。
ということで、/etc/samba/smb.confに「自分はマスターブラウザにはならない」という、以下の設定を追加した。
local master = no
これで無事復旧。このsambaで公開したディレクトリはhosts allowで指定したIPを持つPCからのみ閲覧でき、他のPCはワークグループ内の他のPCにアクセスできるようになった。