Samba 4.0 をインストールして DC を構築し Windows7 を参加させてみた時の備忘録です。

■検証環境
samba4.0環境図

Noホスト名(FQDN)OSIPアドレス備考
1example.kurobuti.comCentOS 6.3 64bitIP : 192.168.0.220AD
2TEST-WIN.kurobuti.comWindows7 32bitIP : 192.168.0.221Windows クライアント
3nfsserver.localCentOS 6.3 64bitIP : 192.168.0.200NFSサーバ
4vSwitch1(ラベル名)-IP : 192.168.0.0/24仮想スイッチ
5Firewall-IP : 192.168.0.1GW


■説明
12月11日に Windows AD 互換の samba 4.0 がリリースされたので、とりあえず簡単に使ってみようと思いインストールとWindows7のAD参加までやってみます。
ちなみに、インストール手順は参考文献「1」を参考にほぼそのままの手順でやっています。

■Samba公式
http://www.samba.org/
DL先: http://ftp.samba.org/pub/samba/
バージョン: samba 4.0.0

※補足
CentOS には 開発ツール がインストール済みとします。
また、IPv6は無効化しています。

(1)samba 4.0.0 をダウンロード

[root@example ~]# wget http://ftp.samba.org/pub/samba/samba-4.0.0.tar.gz

(2)必要なパッケージのインストール

[root@example ~]# yum install libacl-devel libblkid-devel gnutls-devel \
readline-devel python-devel gdb pkgconfig krb5-workstation \ 
zlib-devel setroubleshoot-server \
setroubleshoot-plugins policycoreutils-python \
libsemanage-python setools-libs-python setools-libs \
popt-devel libpcap-devel sqlite-devel libidn-devel \
libxml2-devel libacl-devel libsepol-devel libattr-devel \
keyutils-libs-devel cyrus-sasl-devel bind-utils

※bind-utilsは動作確認時に使うコマンド「host」のためにインストールしています。

(3)samba 4.0.0 のインストール

[root@example ~]# tar zxvf samba-4.0.0.tar.gz -C /usr/local/src/
[root@example ~]# cd /usr/local/src/samba-4.0.0/
[root@example samba-4.0.0]# ./configure --enable-debug --enable-selftest
[root@example samba-4.0.0]# make && make install

ビルド中はなにやら warning が沢山出るなぁとの印象。

(4)AD の設定

[root@example ~]# /usr/local/samba/bin/samba-tool domain provision
Realm [LOCAL]: KUROBUTI.COM
 Domain [KUROBUTI]:
 Server Role (dc, member, standalone) [dc]:
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
 DNS forwarder IP address (write 'none' to disable forwarding) [192.168.0.1]:
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=kurobuti,DC=com
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=kurobuti,DC=com
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role:           active directory domain controller
Hostname:              example
NetBIOS Domain:        KUROBUTI
DNS Domain:            kurobuti.com
DOMAIN SID:            S-1-5-21-1085815710-1241870836-1799506902

項目パラメーター備考
RealmKUROBUTI.COMレルム
DomainKUROBUTIドメインはKUROBUTI
Server Roledc役割はDC
DNS backendSAMBA_INTERNALDNSはSambaにバンドルされているものを利用
DNS forwarder IP address192.168.0.1DNS forwarder 先

入力はハイライト部分のみ。

(5)samba の起動

[root@example ~]# /usr/local/samba/sbin/samba
[root@example ~]# ps aux | grep samba
root     20278  8.6  2.0 478008 40152 ?        Ss   06:54   0:00 /usr/local/samba/sbin/samba
root     20279  0.0  1.4 478008 28328 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20280  0.0  1.5 478008 29176 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20281  0.0  1.5 478008 29972 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20282  7.3  2.0 507344 40316 ?        Ds   06:54   0:00 /usr/local/samba/sbin/smbd --option=server role check:inhibit=yes --foreground
root     20283  0.0  1.4 478008 28300 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20284  0.0  1.5 478008 29696 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20285  0.0  1.5 478008 28884 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20286  0.0  1.5 478008 30404 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20287  0.0  1.5 478008 29692 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20288  0.0  1.5 480520 29288 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20289  0.0  1.4 478008 28440 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20290  0.0  1.5 478008 29420 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20291  0.0  1.5 478008 29320 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20292  0.0  1.5 478428 30396 ?        S    06:54   0:00 /usr/local/samba/sbin/samba
root     20294 10.0  2.6 592556 50244 ?        S    06:54   0:00 python /usr/local/samba/sbin/samba_dnsupdate
root     20295  9.3  2.1 540320 40564 ?        D    06:54   0:00 python /usr/local/samba/sbin/samba_spnupdate
root     20297  0.0  0.0 107452   944 pts/0    S+   06:54   0:00 grep samba

(6)AD DC の動作確認

[root@example ~]# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[KUROBUTI] OS=[Unix] Server=[Samba 4.0.0]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.0.0)
Domain=[KUROBUTI] OS=[Unix] Server=[Samba 4.0.0]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
[root@example ~]# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'パスワード' -c 'ls'
Domain=[KUROBUTI] OS=[Unix] Server=[Samba 4.0.0]
  .                                   D        0  Fri Dec 28 06:45:06 2012
  ..                                  D        0  Fri Dec 28 06:45:23 2012

                46647 blocks of size 262144. 34616 blocks available

こんな感じに表示されれば大丈夫です。

(7)DNS の動作確認

[root@example ~]# vi /etc/resolv.conf
# Generated by NetworkManager
domain kurobuti.com
nameserver 192.168.0.220
[root@example ~]# host -t SRV _ldap._tcp.kurobuti.com.
_ldap._tcp.kurobuti.com has SRV record 0 100 389 example.kurobuti.com.
[root@example ~]# host -t SRV _kerberos._udp.kurobuti.com.
_kerberos._udp.kurobuti.com has SRV record 0 100 88 example.kurobuti.com.
[root@example ~]# host -t A kurobuti.com.
kurobuti.com has address 192.168.0.220

こんな感じに表示されれば大丈夫です。

(8)Kerberos の設定ファイル修正

[root@example ~]# vi /etc/krb5.conf
[libdefaults]
 default_realm = EXAMPLE.COM
↓ # 修正
 default_realm = KUROBUTI.COM

 dns_lookup_kdc = false
↓ # 修正
 dns_lookup_kdc = true

・動作確認

[root@example ~]# kinit administrator@KUROBUTI.COM
Password for administrator@KUROBUTI.COM: [パスワード入力]
Warning: Your password will expire in 41 days on Fri Feb  8 06:45:19 2013
[root@example ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@KUROBUTI.COM

Valid starting     Expires            Service principal
12/28/12 07:06:52  12/28/12 17:06:52  krbtgt/KUROBUTI.COM@KUROBUTI.COM
        renew until 01/04/13 07:06:50

きちんとチケットを受け取ったことが確認できました:D

(9)NTP の設定
ここでは割愛します。
AD なのできちんと時間同期しましょう:D

(10)ドメインへの参加
TEST-WIN端末のIP設定をします。
IP設定

ドメインに参加してみます。
ドメイン参加

ドメイン参加に必要なユーザー名とパスワードを入力します。
パスワード入力

無事参加できました:D
参加完了

再起動後、ログインしてみる。
問題無くログインできることを確認する。

(11)ユーザーを追加してみる

[root@example ~]# /usr/local/samba/bin/samba-tool user add testuser
New Password:
Retype Password:
User 'testuser' created successfully

ここで作成したユーザーでログインできることを確認する。

取りあえず、これで簡単にですが samba 4.0 での AD 構築 と AD への参加・ユーザー追加までできました:D
BINDの設定やツールを使ってADをいじいじできたりもしますが、時間があったらやってみようっと。

(12)ちなみに samba の停止

[root@example ~]# killall samba
[root@example ~]# rm -f /usr/local/samba/var/run/samba.pid
[root@example ~]# ps aux | grep samba
root     20559  0.0  0.0 107452   944 pts/0    S+   22:39   0:00 grep samba

参考文献
1. http://wiki.samba.org/index.php/Samba_AD_DC_HOWTO
2. http://itpro.nikkeibp.co.jp/article/NEWS/20121212/443604/


12月 27, 2012 at 10:46 pm by 黒ぶちメガネ
Category: Linux, samba