お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。
  • インデックス
  •  » サーバ環境
  •  » samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

#1 2013-07-12 08:13:19

seijun
メンバ
登録日: 2007-11-14

samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

しばらくご無沙汰しておりました。表題のとおり、samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。
Win7Proのコンパネ-システム-ドメインまたはワークグループの設定で、所属するグループをworkgroupからドメインに変更して、OKボタンを押したところ

ドメイン「samba4svr.com」のActiveDirectory ドメインコントローラー(DC)に接続できませんでした。

と言われ、「詳細」をクリックしますと、

注意: この情報はネットワーク管理者向けのものです。ネットワーク管理者でない場合は、ネットワーク管理者に連絡してこの情報を伝えてください。この情報はファイル C:\Windows\debug\dcdiag.txt に記録されています。

ドメイン "samba4svr.com" の Active Directory ドメイン コントローラー (AD DC) を検索するために使用される DNS の Service Location (SRV) リソース レコードを照会したときに、次のエラーが発生しました:

エラー: "DNS 名がありません。"
(エラー コード 0x0000232B RCODE_NAME_ERROR)

クエリは _ldap._tcp.dc._msdcs.samba4svr.com の SRV レコードに対するものでした

このエラーの一般的な原因として次のものがあります:

- ドメインの AD DC を検索するのに必要な DNS SRV レコードが DNS に登録されていません。これらのレコードは、AD DC がドメインに追加されると、自動的に DNS サーバーに登録されます。レコードは、設定された間隔で AD DC によって更新されます。このコンピューターは、次の IP アドレスを持つ DNS サーバーを使用するように構成されています:

192.168.1.1
192.168.1.2

となります。
ただし、Ubuntu 13.04サーバー側では、

seijun@ubuntu:~$ host -t SRV _ldap._tcp.samba4svr.com.
_ldap._tcp.samba4svr.com has SRV record 0 100 389 ubuntu.samba4svr.com.
seijun@ubuntu:~$ host -t SRV _ldap._tcp.dc._msdcs.samba4svr.com.
_ldap._tcp.dc._msdcs.samba4svr.com has SRV record 0 100 389 ubuntu.samba4svr.com.
seijun@ubuntu:~$ host -t SRV _kerberos._udp.samba4svr.com.
_kerberos._udp.samba4svr.com has SRV record 0 100 88 ubuntu.samba4svr.com.
seijun@ubuntu:~$ host -t A ubuntu.samba4svr.com.
ubuntu.samba4svr.com has address 192.168.1.2

です。samba4の構築に当たっては、
1.sambaの4.0.5をソースからインストールし、/usr/local/samba以下にインストールしました。
2.domain provisionでは、samba4標準のdns機能を使わず、bind9_flatを選択しました。
3.そのため、/etc/bind/named.confは次のようになっています。

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/named.conf.local";
include "/usr/local/samba/private/named.conf";
// include "/etc/bind/rndc.key";

この中で、/etc/bind/named.conf.optionsには

//Samba4
tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";

を追加しています。
いろいろ調べていましたら、Windows 2008R2には、SRVレコードを復旧するコマンドがあるようですが、samba4ではそのコマンドを使うわけには参りません。
あるサイトでは、tkey-gssapi-keytabの箇所がおかしいと、この現象が現れるようだ、との指摘がありましたが、はて?という感じです。

解決法についてご教示をお願いしたく存じます。

オフライン

 

#2 2013-07-12 20:49:34

seijun
メンバ
登録日: 2007-11-14

Re: samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

自己レスですが、次のサイトも参考にしました。
http://d.hatena.ne.jp/torutk/20130301/p1
関係するところは、

コード:

Windowsのドメイン設定

Active Directoryアカウントと初回参加の落とし穴

Unix/Linux系の管理をしていると、Windows Server/Active Directoryの管理には戸惑うことが多いです。

落とし穴がいくつかあるので要注意です。といっても、Active Directoryの説明もわかりにくい(骨格情報が少なくツール操作方法が多い気がする)のですが。

Active Directoryにはユーザーアカウントとコンピュータアカウントがあり、Windowsドメインに参加するためには、ユーザーとコンピュータとともに認証する必要があります。つまり、あらかじめコンピュータがActive Directoryに登録されていることが前提となります。

ここで、初めてWindowsドメインに参加するコンピュータについては、参加にあたってそのコンピュータが登録されている必要があるが、初めて参加するのでActive Directoryにはまだそのコンピュータが登録されていないというジレンマに陥ります。先にSamba4でユーザーアカウント(一般権限)を作成し、そのアカウントでWindowsコンピュータをドメインに参加しようと設定するとエラーとなってしまいます。(ここで相当はまりました)

このジレンマを解決するためか、Active Directoryについては特殊なルールがあります。調べた限り次のとおりです。

ドメイン管理者権限を持つアカウントでWindowsドメインに参加するとコンピュータアカウントを作成する権限があるので、Active Directoryに登録がないコンピュータをドメインに参加させることができる。
ユーザーアカウントがAuthenticatedUsersグループに含まれているなら、そのアカウントで10個までActive Directoryにコンピュータを登録することができる。
そこで、最初はドメイン定義で作成したAdministratorアカウントでWindowsコンピュータをドメインに参加させます。

その後は別途作成したユーザーでWindowsにログオンします。この手順であれば問題ないようです。

Windowsコンピュータをドメインに参加させる手順

まず、DNSサーバーの設定にActive DirectoryのDomain Controller(つまりSamba4稼働マシン)を追加します。

次に、ドメインに参加する設定をします。

[コントロールパネル]>[システム]>[システムの詳細設定]>[コンピュータ名]タブをクリックし、ドメイン設定の[変更]ボタンを押す。
[ドメイン]ラジオボタンをチェックし、ドメイン名に"COFFEE"を入力する。
ここで、ドメイン名にNetBIOSドメイン名である"COFFEE"を指定する場合と、FQDN(?)の"COFFEE.LOCAL"を指定する場合があるようです。環境によってはエラーになることがあるかもしれません(NetBIOSはルーター越えの場合あやしいかも)。
[ユーザー名]に"Administrator"、[パスワード]に"XXXxxx999"を入れる。コンピュータがドメインに登録されて問題が生じなければ、「COFFEEドメインにようこそ」ダイアログが表示されます。
再起動します。再起動後、ログオン画面にログオン先欄が増えているので、ドメインログオンするときはログオン先にドメイン名を選択します。

だと思いますが、どうもうまく行きません。

オフライン

 

#3 2013-07-14 20:10:00

seijun
メンバ
登録日: 2007-11-14

Re: samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

自己レスです。/usr/local/samba/private/named.confは/usr/local/samba/private/dns/samba4svr.com.zoneを呼び出しているのですが、
このzoneファイルは次のようになっていて、
_ldap._tcp.dc._msdcs    IN SRV 0 100 389    ubuntu
もちゃんとあります。

; -*- zone -*-
; generated by provision.pl
$ORIGIN samba4svr.com.
$TTL 1W
@               IN SOA  ubuntu   hostmaster (
                                2013071108   ; serial
                                2D              ; refresh
                                4H              ; retry
                                6W              ; expiry
                                1W )            ; minimum
                IN NS    ubuntu

                IN A    192.168.1.2
;

ubuntu          IN A    192.168.1.2
win7pro01       IN A    192.168.1.100 ; Adding by Nomura
ubuntu-desktop  IN A    192.168.1.30  ; Adding by Nomura
gc._msdcs       IN A    192.168.1.2

9dd01026-329d-4285-873d-140737c89ca2._msdcs    IN CNAME    ubuntu
;
; global catalog servers
_gc._tcp        IN SRV 0 100 3268    ubuntu
_gc._tcp.Default-First-Site-Name._sites    IN SRV 0 100 3268    ubuntu
_ldap._tcp.gc._msdcs    IN SRV 0 100 3268    ubuntu
_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs    IN SRV 0 100 3268 ubuntu
;
; ldap servers
_ldap._tcp        IN SRV 0 100 389    ubuntu
_ldap._tcp.dc._msdcs    IN SRV 0 100 389    ubuntu
_ldap._tcp.pdc._msdcs    IN SRV 0 100 389    ubuntu
_ldap._tcp.85676906-f4e0-4595-bca1-9594b76e164c.domains._msdcs        IN SRV 0 100 389 ubuntu
_ldap._tcp.Default-First-Site-Name._sites        IN SRV 0 100 389 ubuntu
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs    IN SRV 0 100 389 ubuntu
;
; krb5 servers
_kerberos._tcp        IN SRV 0 100 88        ubuntu
_kerberos._tcp.dc._msdcs    IN SRV 0 100 88    ubuntu
_kerberos._tcp.Default-First-Site-Name._sites    IN SRV 0 100 88    ubuntu
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs    IN SRV 0 100 88 ubuntu
_kerberos._udp        IN SRV 0 100 88        ubuntu
; MIT kpasswd likes to lookup this name on password change
_kerberos-master._tcp        IN SRV 0 100 88        ubuntu
_kerberos-master._udp        IN SRV 0 100 88        ubuntu
;
; kpasswd
_kpasswd._tcp        IN SRV 0 100 464    ubuntu
_kpasswd._udp        IN SRV 0 100 464     ubuntu
;
; heimdal 'find realm for host' hack
_kerberos        IN TXT    SAMBA4SVR.COM

オフライン

 

#4 2013-07-14 21:03:03

seijun
メンバ
登録日: 2007-11-14

Re: samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

自己レスで恐縮ですが、何とかWin7ProをADドメインに参加させることができたようです。
http://www.matrix44.net/cms/notes/gnuli … untu-12-04
に、次のように書いてありました。

Step 5: Allow dynamic DNS updates

We want our clients to be able to update their DNS entries automatically. Edit /etc/bind/named.conf and append the following line:

tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
Step 6: Configure Bind as a Forwarder

If you have another DNS Server (like a SOHO ROuter) on your Network which provides DNS Service to resolve external names (like www.google.com), you’ll need to configure Bind to use this DNS to resolve entries.

First we need to disable IPv6 in Bind by editing /etc/default/bind9 and appending:

OPTIONS="-4 -u bind"
Now modify /etc/bind/named.conf to include the following directives in the options
section:

allow-query { any; };
allow-recursion { any; };
forwarders { 192.168.99.254; };
dnssec-validation no;

ということで、/etc/bind/named.conf.optionsに次のように挿入しました。

allow-query { any; };
allow-recursion { any; };
forwarders { 192.168.1.1; };
//dnssec-validation no;

192.168.1.1はRouterのアドレス、最後の//はどこかの設定とぶつかってbind9が起動しないので、入れて見ました。
そしたら、Windows 7 Proffesinalのコマンド・プロンプトで、

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:¥Users¥Administrator.SAMBA4SVR>nslookup -type=All _ldap._tcp.dc._msdcs.samba4svr.com
サーバー:  UnKnown
Address:  192.168.1.2

_ldap._tcp.dc._msdcs.samba4svr.com      SRV service location:
          priority       = 0
          weight         = 100
          port           = 389
          svr hostname   = ubuntu.samba4svr.com
samba4svr.com   nameserver = ubuntu.samba4svr.com
ubuntu.samba4svr.com    internet address = 192.168.1.2

C:¥Users¥Administrator.SAMBA4SVR>nslookup -type=SRV _ldap._tcp.dc._msdcs.samba4svr.com
サーバー:  UnKnown
Address:  192.168.1.2

_ldap._tcp.dc._msdcs.samba4svr.com      SRV service location:
          priority       = 0
          weight         = 100
          port           = 389
          svr hostname   = ubuntu.samba4svr.com
samba4svr.com   nameserver = ubuntu.samba4svr.com
ubuntu.samba4svr.com    internet address = 192.168.1.2

となり、無事にWin7Proをsamba4で作成したActive Directory Domainに参加させることができたようです。
ただし、Win7ProからはDNSサーバーのコンピューター名が分からないようです。
また、どういうわけか、ネットワークに肝心のADDC(Samba4サーバー)のアイコンが出ないので、まだ未完成の状態です。
いろいろ調べてみます。

オフライン

 

#5 2013-07-15 03:32:12

seijun
メンバ
登録日: 2007-11-14

Re: samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

samba3の設定を一知半解で援用して次のような/usr/local/samba/etc/smb.confを作り、bind, samba4を再起動しましたが肝心の共有フォルダーがsysvolだけの状態です。

# Global parameters
[global]
    workgroup = SAMBA4SVR
    realm = SAMBA4SVR.COM
    netbios name = UBUNTU
    server role = active directory domain controller
    server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate
    idmap_ldb:use rfc2307 = yes
    map to guest = bad user
    guest account = nobody

[netlogon]
    path = /usr/local/samba/var/locks/sysvol/samba4svr.com/scripts
    read only = No

[sysvol]
    # path = /usr/local/samba/var/locks/sysvol
    path = /var/public
    guest ok = yes
    read only = No

[homes]
    # guest ok = No
    # read only = No
    browsable = yes
    writable = yes
    valid users = %S

[public]
    comment = Global Share for all users
    path = /var/public
    guest ok = yes
    read only = No

[printers]
    comment = All Printers
    path = /var/spool/public
    printable = yes
    browseable = yes
    public = yes
    guest ok = yes
    use client driver = yes

どうすれば(どのように修正すれば)良いのでしょうか。

オフライン

 

#6 2013-07-15 10:50:05

seijun
メンバ
登録日: 2007-11-14

Re: samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

自己レスで恐縮ですが、共有名をNetBios名(ubuntu)ではなくDomain名(samba4svr)にしていたため、アクセスができなかったようです。
Windows Explorer で、\\samba4svrではなく、\\ubuntuとすると、問題なく共有ディレクトリに読み書きできました。

オフライン

 

#7 2013-07-17 04:10:07

seijun
メンバ
登録日: 2007-11-14

Re: samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

日経Linuxの2013年7月号に、レプリケーションDCの作成と既存Active Directory Domainへの参加のさせ方が掲載されていましたが、小生のように一知半解のものが不用意にこの記事に書かれているコマンド(図3)を実行すると、Win7がドメインに参加できなくなり、再参加させようとすると「rpcサーバーが利用できません」と文句を言われます。恐らく、別サーバーに作ってみたSamba4が災いしていると思います。

このため、いろいろ試行錯誤しましたが、要するにmake uninstall でsamba4を削除するとともに、/usr/local/samba以下のディレクトリを完全に削除して最初から作り直すとうまく行きました。Ubuntuでは/usr/local/samba/privateのnamed.confとディレクトリdns以下は、bind9がアクセスできるように、bindグループにする必要があります。

よって、Samba4を業務で止揚するには、当然のことながら、Windows ServerのActive DirectoryとSamba3を熟知していることが必要になります。

別サーバーにKVMを使ってWindows 2008 Server R2を、また、生のSamba3とVirtualBoxでWindows 7 Professionalをそれぞれインストールすれば、勉強のため環境ができるのではないかと思っています。

なお、取り敢えずの/usr/local/samba/etc/smb.confは次のようになっており、ファイル共有、印刷とも問題なくできます。印刷にはcupsデーモンが動いている必要があります。

# Global parameters
[global]
    workgroup = SAMBA4SVR
    realm = SAMBA4SVR.COM
    netbios name = UBUNTU
    server role = active directory domain controller
    server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate

[netlogon]
    path = /usr/local/samba/var/locks/sysvol/samba4svr.com/scripts
    read only = No

[sysvol]
    path = /usr/local/samba/var/locks/sysvol
    read only = No

[public]
  path = /var/public
  guest ok = yes
  read only = no

[printer]
  printable = yes
  printer name = EPSON-PX-101
  cups options = raw
  # printing = bsd
  use client driver = yes
  path = /var/spool/samba
  hosts allow = 192.168.1.0/255.255.255.0

下図が上記の設定でSamba4を開いたものです。一知半解のため、外見はSamba3と変わりません。:(
http://www2.it-ishin.com/media/samba02.png

※なお、BIND9_FLATFILEを選んで、/usr/local/samba/private/dnsの中にあるzoneファイルに他のコンピューターのAレコードを書き込めば、宅内DNSができるようです。

オフライン

 
  • インデックス
  •  » サーバ環境
  •  » samba4でAD DCを作成したのですが、Windows 7 Professionalをドメインに参加させることができません。

Board footer

Powered by FluxBB