Ubuntu14.04でSamba4のドメインコントローラを設定するまとめ…

現在、社内ではUbuntu10.04(古い!)のSamba3でWindowsマシンのファイル共有を行っているんですが、当初30台くらいだったクライアント数も、いつの間にやら60台を越えようとしています。60台にもなると、個別のマシン管理やユーザの管理が大変煩雑になってきたし、ファイルサーバ用途で利用しているんですが、そろそろディスクの容量も逼迫してきたので、これを機にサーバの引っ越しと、Samba4でドメインコントローラなるものを設置したくなってきた。

CentOSでの設定例が非常に多いSamba4の情報ではあるけれど、最近はUbuntu系の情報も増えてきたような気がするのだけれども、まだまだ少ない。果たして、どうなることやら・・

基本構成

Samba4+ADDCの基本的な構成は、以下のものとする。

  • サーバホスト名:
  • ドメイン名:
  • NETBIOS名:
  • IPアドレス:
  • サブネットマスク:
  • ゲートウェイ:
  • DNS Forwarder:
  • pdc
  • mydomain.local
  • MYDOMAIN
  • 192.168.1.100
  • 255.255.255.0
  • 192.168.100.1
  • 8.8.8.8

下ごしらえ

まずは、いつものおまじないを…

/etc/interfaces の編集

Samba4の設定について書かれている情報では、/etc/resolv.conf を編集してDNSをSambaサーバ自身を指定するように書かれていますが、Ubuntu12.04以降から/etc/resolv.confを直接変更しても、再起動後元の設定に書き戻されるようになっています。
現在は、/etc/network/interfaces を編集してDNSに関する情報を指定するようになっています。

内容は、以下のようにしました。

dns-nameservers は半角スペースで区切ることで複数指定することもできるので、そこにSambaサーバの自IPアドレスと、プロバイダなどから提供されているDNSサーバのIPを登録しておきます。

これは、後ほどプロバイダ等から提供されているDNSのアドレスは削除することになります。

/etc/hostname の編集

/etc/hostnameでサーバホスト名を編集。

/etc/hosts の編集

/etc/hosts の内容を次のように設定する。

※2015年3月14日追記
127.0.1.1はDHCPでアドレスを自動的に取得する場合に使用されるアドレスっぽいので、コメントアウトします。
ここを有効なままにしておくと、後で少しハマります。

再起動

ここで、さきに設定したネットワーク関連情報を反映させるために、再起動させる。

ntpサーバのインストール

NTPサーバをインストールする。

/etc/ntp.confの設定を変更する。デフォルトのUbuntuのNTPサーバをコメントアウトして、次のようにしました。

一旦、NTPサービスを停止させて、時刻を合わせる。

NTPサービスを再起動後、設定が有効になる。

NTPとの同期の状態を確認

/etc/fstabの編集

Samba4でのファイル共有機能を利用するためには、ファイルシステムの拡張オプションが必要となります。まずは、/etc/fstab を以下のように変更します。

ACLパッケージをインストール。

その後、再起動し/etc/fstab の設定を反映させます。

Sambaのインストールと初期設定

インストール

samba4と、smbclient、krb5-userをインストール。

途中でkerberosの設定画面が出てきて、設定をするように促されますので、概ね以下のとおりに設定。

  • レルム:
  • あなたのレルムのケルベロスサーバー(kdc):
  • あなたのレルムのケルベロス管理サーバー(admin_server):
  • MYDOMAIN.LOCAL
  • pdc.mydomain.local
  • pdc.mydomain.local
samba-toolでSambaの使用準備をする

まず、デフォルトで作成された設定ファイルを削除か、リネームします。

samba-tool で、sambaの基本的な設定をします。

–interactiveオプションで、対話形式で質問されるのでそれぞれ入力していきます。

現時点では、サーバの役割(Server Role)を、ドメインコントローラ(dc)に、DNSバックエンドを、Sambaに内蔵されているDNSで(SAMBA_INTERNAL)、DNS Forwarder IP に、プロバイダ等から指定されているDNSサーバ(ここでは、8.8.8.8)に指定しました。

また今後、Kerberosで認証するときに必要になる、レルム(Realm)を、MYDOMAIN.LOCALとしています。

あとは、管理ユーザ(Administrator)のパスワードを入力すると、セットアップが進んでいきます。

もしも、セットアップに失敗する場合は、ここまでの設定を見なおしてください。
その場合は、一旦、

  • /etc/samba/smb.conf を削除
  • /var/lib/samba/*.tdb を削除
  • /var/lib/samba/private/ 以下のファイルを削除
  • /var/cache/samba/ 以下のファイル(ディレクトリ含む)を削除

した上で、再度 samba-tool domain provision を実行してください。

ドメインのレベルを2008 R2相当に上げる

krb5.confの差し替え

sambaのProvisioningが無事に終わると、/var/lib/samba/private の下にkrb5.conf が作成されています。先にkrb5.userのインストール時にある程度設定しており、その際にも/etc にkrb5.conf が作成されています。
多くのサイトでは、Samba のProvisioning で作成されたkrb5.conf で /etc/krb5.conf を置き換える、としていますが、ここでは念のため両方を掛けあわせてkrb5.conf を作成しておきます。
こちらも、概ね以下のようになりました。

dns-nameserversの値を変更する

先ほどのSambaの設定作成の際に作成された/etc/samba/smb.conf に DNS forwarder IPアドレスが設定されているので、/etc/network/interfaces のdns nameservers の値からフォワーディング先のDNS IPアドレスを削除し、自IPアドレスのみにする。

この段階で、もう一度再起動。

テスト

DNS名前解決チェック

hostコマンドで、LDAPサーバ、Kerberosサーバ、自IPのそれぞれが名前解決できるか確認。

Administrator としてログインできるか確認

smbclient でサーバと接続確認

Kerberosの認証テスト

kerberosのチケットを発行

”Warning: …” とあるけれど、これはパスワードの期限についての警告。現段階では無視します。

次に、kerberosが発行しているチケットの確認をする。

ここまでで、初期設定は終わり。

改訂履歴

2015年3月13日 NTPに関する設定を加えました。
2015年3月13日 samba-tool domain provision のオプションから–use-ntvfs を省きました。
2015年3月14日 /etc/hosts の編集内容を変更しました。

カテゴリー: Samba4

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です