今年のゴールデンウィークは結構充実しておりました。
「涌蓋山登山」に始まり、「ジャングル化していた庭の毎日1時間草むしりによるサバンナ化」。
そして、あの噂の「無料で使えるsamba4のアクティブディレクトリ」の導入です。
フリーのファイルサーバーとして有名なsambaが、「4」から、なっ、なっ、なんとあのマイクロソフトのWindows Serverに実装されているアクティブディレクトリ・ドメインコントローラが使えるんです。
Windows Serverを購入するとなるとおそらく十万円近くはするのでは?しかもライセンスの関係で規定人数以上で利用する場合はさらに追加料金が発生するとげな。
しかし、それが、samba4なら、無制限にフリーです。おそらくマイクロソフトの協力もあったのではないでしょうか。(マイクロソフトの太っ腹に感謝!!!!)
では、さっそくテスト機(もらいもののCel1.2GHz,Mem512MB)にCentOS6.2をインストールし、samba4をここのサイトAやこのサイトBを参考にインストールし、さらにアクティブディレクトリが動作するようにドメインコントローラとして設定してみたバイ。
少し混乱(HostnameやDomainの設定ミス)がありましたが、わりと簡単に設定は終わりました。それでも半日はかかりました。
しかし、実際にWinXPやWin7をこの無料のドメインコントローラに登録しようとするところで、めちゃくちゃ悩みました。
俗に言う、「ドツボにハマった」です。
簡単に書くと「\domain名 のパスが見つからん!」げな。つまり、繋がらん、というか、「ドメインにかててやらん。」げな。
解決策その1>WinXPのファイアウォールを無効化して解決。
やっとドメインコントローラが見えた(かててもらえた)が実際に共有フォルダは見えない!!!
解決策その2>ドメインコントローラを実装しているサーバのポートを開放して解決。
前述のサイトBのここに記載されていたポートをすべて「system-config-firewall」で開放しました。
で、いちおう共有ホルダが見えるようになったがアクセスできん。のです。
原因ははっきりしてはいないのですが、共有ホルダを一度、ネットワークドライブに割り当てるとちゃんとアクセスできて、ファイルも作成できることがわかりました。そんなことは私が参考にしたいくつかのサイトには記載されていなかったのですが、常識なのでしょうね。
それでも、まだトラブルは残っていました。「グローバルカタログが使えん問題」です。
ユーザの管理やポリシー管理などは、samba4の「samba-tool」でも可能なようですが、コマンドだらけなのでちょっと使いにくそうです。
しかし、マイクロソフトが無償で提供しているリモートサーバ管理ツールがありそれをWin7にインストールして使うことができるのです。さっそく使ってみました。
とても便利そうですが、いざユーザを新規作成(図1,図2)しようとすると図3のように警告がでてきて成功しません。これには2日間考えされられました。(もちろん、ゴールデンウィークは終わって通常の業務をこなしながらです。)
「グローバルカタログが…」「サーバ名が一意…」「サーバが使用可能…」???
サーバの設定をミスったかも?とサイトAやサイトBやその他もろもろのサイトを参考にサーバの動作確認をチェックしましたが、どうもサーバ上ではきちんとドメインコントローラが動作しているようです。
いっそのこと再インストールを考えましたが、ここは冷静にならないと、インストールと設定でかるく半日はかかりますからね。(トラブって原因究明が不十分なままで、再インストールをしてしまい、結局、状況が変わらないという話はよく聞きます。)
ドメインコントローラとしてはちゃんと動作しているのならサーバに接続できない理由は通信周りかな?
さっそくWin7に「WireShark」をインストールし、パケットをキャプチャーしてみました。お〜、やっぱり「Destination Unreachable…なんたらかんたら」が出ています。要は、「目的地に到達できんとバイ」と言っているのでしょう。(今、これを書きながら改めてキャプチャーしたパケットをみて気づきました。msft-gcって表示されます。これって、msがマイクロソフトで、ftはわからんが、gcはまさしくグローバルカタログのこと?図4)
つまりポートが閉じているってことか。でも、さっきのサイトにあったように、指定されたポートはすべて開放しております。念の為に再度チェックし、「iptables -L」も実行してiptableの設定内容を確認しました。指示通りです。
で、google先生に「samba4のグローバルカタログ」でお尋ね。
するとこのサイトCの中にヒントになりそうな記述を発見しました。(中間あたり)
つまりグローバルカタログにアクセするには「3268」ポートを目指せというこのようです。
なーんだ、グローバルカタログってアプリケーションだったの?カタログだからただのファイルかと思っていた。
でさっそく、「system-config-firewall」に「3268」プロトコルは「tcp」(最初はudpも設定していたが、なくてもよさそうだ)で設定した。
そして、Win7から先ほどのリモートサーバ管理ツールを開き、ユーザを新規作成すると警告もエラーもなく見事に追加できました。
ブラボー!!です。
で、念の為にiptableを見ると、なんとパケットキャプチャで見えていたmsft-gcがポートのニーモックとして表示されているのです。もし、ちゃんとパケットキャプチャを読み解いていれば、問題は昨日解決していたのに。
さぁ、これで一応samba4のアクティブディレクトリ・ドメインコントローラが使えることがわかったので、今度の土日で志義内のPCの本格的なドメインコントローラへの移行を行います。もちろん、現samba3サーバも「4」へ移行します。ちょっと怖いけど、ドキドキ楽しみです。
ちなみに、アクティブディレクトリって何が便利なの?
私なりの理解では、複数のユーザを個人やグループごとに、そのアクセス権やその振る舞いをポリシーとして登録し一元管理するための仕組みみたいなもの。要は、パソコンにアクセする人の権限を自在にコントロールできる神の手みたいなものかな?ちゃんと使えたらね。
以前、LDAPサーバ構築に挑戦して断念した。再挑戦しようと思っていたところにsamba4のアクティブディレクトリ・ドメインコントローラ実装が実現した。LDAPにはもう未練はなか!