Ubuntu 18.04 で Samba4 が NT_STATUS_INTERNAL_ERROR で失敗する理由

Ubuntu 18.04 で Samba4 が NT_STATUS_INTERNAL_ERROR で失敗する理由

Samba を AD DC として設定する際に問題があります。現在、自宅のネットワーク内の他のコンピューターとファイルを共有するために使用したい Ubuntu ボックスが 1 台あります。現在、DC として機能している同じマシンがファイルも提供します。

これは家庭用のセットアップなので、コンシューマーグレードのルーターを使用しています。

  • OS: Ubuntu 18.04
  • Samba: バージョン 4.7.6-Ubuntu

動作させるための試行の各反復を開始するには、推奨される手順を実行して、Sambaプロセスなどを終了し、前述のファイルを削除します。インストールの準備セットアップガイドよりhttps://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller

$ ps ax | egrep "samba|smbd|nmbd|winbindd"

次に、説明どおりにすべてのプロセスを強制終了します。

sambaがインストールされていることを確認します

$ which samba
/usr/sbin/samba
$ samba --version
Version 4.7.6-Ubuntu

説明書にはこうも書かれている

DC 上の /etc/hosts ファイルが、完全修飾ドメイン名 (FQDN) と短いホスト名を DC の LAN IP アドレスに正しく解決していることを確認します。例:

正確な内容は

127.0.0.1       localhost localhost.localdomain
192.168.1.1     DC1.samdom.example.com DC1


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

ローカル ネットワーク上の Ubuntu ボックスの IP は、192.168.1.20 192.168.1.1ルーターの LAN タブの IP アドレス フィールドで確認できる LAN IP です。ルーターで DDNS はオンになっていないことに注意してください。

$ sudo samba-tool domain provision --use-rfc2307 --interactive
Realm: SAMDOM.EXAMPLE.COM
 Domain [SAMDOM]: SAMDOM
 Server Role (dc, member, standalone) [dc]: dc
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.1]: 8.8.8.8
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=samdom,DC=example,DC=com
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying 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=samdom,DC=example,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 AD has been generated at /var/lib/samba/private/krb5.conf
Setting up fake yp server settings
Once the above files are installed, your Samba AD server will be ready to use
Server Role:           active directory domain controller
Hostname:              zoo-vault
NetBIOS Domain:        SAMDOM
DNS Domain:            samdom.example.com
DOMAIN SID:            …

素晴らしい、ここまでは順調です。krb5.conf提案されたとおりにファイルを /etc/krb5.conf にコピーします。

私はスキップしますAD DNSバックエンドの設定私が使っているSAMBA_INTERNAL

私の/etc/resolv.conf見た目は

# Generated by NetworkManager
search samdom.example.com
nameserver 192.168.1.1

スキップする逆ゾーンを作成する次に、提案に従って Kerberos ファイルをコピーします。

ここで問題が発生します。 で samba を起動しましたがsudo samba、プロセスは実行されているように見えますが、ドキュメントに記載されている次の検証コマンドはいずれも機能しません。

$ smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter SAMDOM\Administrator's password:
session setup failed: NT_STATUS_INTERNAL_ERROR
$ host -t SRV _ldap._tcp.samdom.example.com.
Host _ldap._tcp.samdom.example.com. not found: 3(NXDOMAIN)
$ host -t SRV _kerberos._udp.samdom.example.com.
Host _kerberos._udp.samdom.example.com. not found: 3(NXDOMAIN)
$ host -t A dc1.samdom.example.com.
Host dc1.samdom.example.com. not found: 3(NXDOMAIN)

ここで私は少し困惑しています。

注意すべき点がいくつかあります。私の Ubuntu マシンのローカル ネットワーク上の静的 IP は 192.168.1.1 (上記の設定手順で使用した IP) ではありません。192.168.1.20 です。この IP も使用してみましたが、効果はありませんでした。

noneセットアップ中に 、 、を として使用してみました192.168.1.1が、効果はありませんでした。8.8.8.8DNS forwarder IP address

さまざまな解決策や追加のテスト機能を紹介する記事をオンラインでいくつか見つけましたが、私の問題を解決するものはまだ見つかっていません。

最終的にはSambaを次のように設定したいと思います。

答え1

私はDebian 9にSambaをインストールしました。

apt install samba

同じ失敗が起こりました。winbind(およびsmbclient)を追加する必要がありました。

apt install winbind  

答え2

  1. samba Web サイトで OS にリストされているすべての依存関係が適切にインストールされていることを確認します。
  2. 使用される IP アドレスが、/etc/hostsルータやその他のハードウェアのものではなく、マシン自体のものであることを確認してください。
  3. 同じ IP を使用します/etc/resolv.conf
  4. /etc/hosts例のマシンの名前は です。このDC1.名前は、後のコマンドが機能するためにマシンの名前と一致する必要があります。マシンの名前が であれば設定は完了です。それ以外の場合は、マシンの名前にDC1置き換えてください。DC1
  5. Samba の起動後もインターネット アクセスを継続できるようにするには、「DNS フォワーダー IP アドレス」の入力を求められたときにアクセスできる DNS IP を使用します。このとき、ルーターの LAN IP を使用する必要がある場合があります。

答え3

winbindをインストールする

sudo apt install winbind

これで問題は解決しました

関連情報