SambaでADサーバ構築
WindowsでADを構築してクライアントつなぐと、CALライセンス取られるし
Sambaに興味があったので、SambaでプライマリADとセカンダリAD、
Windowsファイルサーバを構築してみた。(仮想だけど・・・・)
特に中小企業だとこういうところのコストカットが効いてくると思う。
後、自分用の備忘録も兼ねて手順を残しておく。
ちなみになぜかUbuntu14.04LTSで構築してみた。
5月8日追記:
ファイルサーバはAlfresco使うので手順を整理して
ポリシーも適用したかったのでSYSVOLの同期手順を追記しました。
●大まかな手順
1.プライマリADコントローラの作成
(1)ホスト名変更、IPアドレス変更
・IPアドレス変更
・ホスト名変更
・再起動
(2)Sambaのインストール
・インストール
(3)FireWall許可
・ファイアウォール設定
(4)ActiveDirectory設定
・ActiveDirectory関連設定
・設定
・ドメインの機能レベルを 2008 R2 に設定
(5)Kerberos関連設定
・Kerberos5設定ファイル編集
(6)フォワーダーDNSの設定
・フォワーダーDNS設定
・interfacesの設定
・再起動
(7)構築後確認
・SambaのADの動作確認
(8)ユーザ追加(コマンドライン)
(9)Windows側の設定(リモートサーバ管理ツールインストール)
2.セカンダリADサーバ構築
(1)ホスト名変更、IPアドレス変更
・IPアドレス変更
・ホスト名変更
(2)Sambaのインストール
・インストール
(3)FireWall許可
・ファイアウォール設定
・ファイアウォール設定内容確認
(4)ActiveDirectory設定
・DNSの設定
・設定ファイル編集
・ネットワーク再起動
(5)Kerberos関連設定
・Kerberos5設定ファイル編集
・kinitでのテスト
・klistでのテスト
(6)セカンダリActiveDirectory設定
・samba-toolでADDCとして参加
・設定ファイル編集(※念のためプライマリADにも設定)
・リブート(2台とも再起動、プライマリ→セカンダリの順がいい。)
(7)Windowsリモートサーバ管理ツール(RSAT)からユーザ追加
3.SYSVOL共有設定
(1)サーバ状態確認
・FSMOを確認
・同期状態確認
(2)rsync設定
・sshloginグループにユーザ追加(プライマリ、セカンダリ両サーバで実施)
・鍵作成(セカンダリADサーバで実行)
(3)鍵登録(プライマリADサーバで実行)
・authorized_keys作成
(4)sudo権限の設定(同期コマンドについてパスワードを求めない設定)→両方のサーバで実行
(5)セカンダリサーバからの接続確認
・ssh接続確認
・プライマリADサーバ公開鍵ファイル編集
・コマンド実行確認
(6)crontab登録
・cronログ出力設定
・ログ確認
◆参考サイト
http://www.virment.com/config-sambaserver/
http://debianj.com/ubuntu/install/samba
http://mower.hateblo.jp/entry/2015/06/03/112350
http://qiita.com/8mamo10/items/6d43dbb32563f0242990
http://toshtone.hatenablog.jp/entry/2015/05/13/221405
http://www.server-world.info/query?os=Ubuntu_14.04&p=samba&f=4
http://qiita.com/TsutomuNakamura/items/07bf2d01e61e316a2a00
http://qiita.com/yugui/items/eef7ff454600a8d236a6
http://www.kurobuti.com/blog/?p=6278
http://infra.blog.shinobi.jp/Entry/91/
http://d.hatena.ne.jp/torutk/20130301/p1
http://www.rough-and-cheap.jp/linux/samba4/samba4-ubuntu14-04-01/
http://qiita.com/budougumi0617/items/ba54d052365556f78b7e
http://kplace.plala.jp/pc1/pc764.html
http://www.unix-power.net/linux/samba3.html
http://www.uetyi.com/server-const/linux-server/entry-23.html
http://www.unix-power.net/linux/samba4_secondary.html
http://d.hatena.ne.jp/vivid_skid/20131108/1383890326
http://www.ilovex.co.jp/Division/ITD/archives/2008/12/windows_linux.html
http://www.unix-power.net/linux/samba4_setup.html
http://web.chaperone.jp/w/index.php?samba4%2F2ndSamba4ADDC
http://www.ilovex.co.jp/Division/ITD/archives/2008/12/windows_linux.html
http://www.unix-power.net/linux/samba4_tool.html
http://www.unix-power.net/linux/samba4_rsat.html
http://www.slideshare.net/takahashimotonobu/samba420150809-osc-2015-kansaikyoto
http://jehupc.exblog.jp/14875716/
http://www.server-world.info/query?os=Ubuntu_14.04&p=samba&f=3
1.プライマリADコントローラの作成
(1)ホスト名変更、IPアドレス変更
・IPアドレス変更
※下記の通り編集
# Static Address
auto eth0
iface eth0 inet static
address X.X.X.1 ←下記の箇所を書替
dns-nameservers X.X.X.1 192.168.1.1 ←構築サーバのIPアドレスを追記
dns-search example.local ←追記
・ホスト名変更
※変更後のホスト名を設定する。
smbsrv01
※固定IPアドレスのホスト名を追加
X.X.X.1 smbsrv01 smbsrv01.example.local ←ホスト名とFQDNを追記
・再起動
(2)Sambaのインストール
・インストール
※下記をインストール中のGUIで設定する。
・1番目(レルム設定)
example.local
・2番目(自身のホスト名をFQDNで設定する)
smbsrv01.example.local
・3番目(自身のホスト名をFQDNで設定する)
smbsrv01.example.local
(3)FireWall許可
・ファイアウォール設定
・ファイアウォール設定状況確認
(4)ActiveDirectory設定
・ActiveDirectory関連設定
必要事項を入力する
・ドメインの機能レベルを 2008 R2 に設定
[libdefaults]
default_realm = EXAMPLE.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
EXAMPLE.LOCAL = {
kdc = smbsrv01.EXAMPLE.LOCAL
admin_server = smbsrv01.EXAMPLE.LOCAL
}
[domain_realm]
.example.local = EXAMPLE.LOCAL
example.local = EXAMPLE.LOCAL
(6)フォワーダーDNSの設定
・フォワーダーDNS設定
※dns forwarderの箇所をインターネット接続用DNSサーバに変更する。
[global]
workgroup = EXAMPLE
realm = EXAMPLE.LOCAL
netbios name = SMBSRV01
server role = active directory domain controller
dns forwarder = XXX.XXX.XX.1
printing = bsd
・interfacesの設定
※dns-nameserversの箇所に自サーバのIPアドレスのみ設定する。
dns-nameservers X.X.X.1
dns-search example.local
・サーバ再起動
(7)構築後確認
・SambaのADの動作確認
・ログインできるか確認
・DNS確認
(8)ユーザ追加(コマンドライン)
コマンドラインでユーザを追加できるか確認する。
(9)Windows側の設定(リモートサーバ管理ツールインストール)
・IPアドレス設定のDNS欄にSambaサーバのIPアドレスを指定する。(X.X.X.1)
・コンピュータを右クリックしてプロパティからドメインに参加する。
・administratorでログインする。
・リモートサーバ管理ツールダウンロード
https://www.microsoft.com/en-us/download/details.aspx?id=7887
2.セカンダリADサーバ構築
(1)ホスト名変更、IPアドレス変更~(3)FireWall許可までは
1.プライマリADコントローラの作成と同じ手順
(4)ActiveDirectory設定
・DNSの設定
※下記のとおり編集
dns-nameservers X.X.X.1 ←プライマリADのIPアドレスを追記
dns-search example.local ←ドメインを追加
・ネットワーク再起動
(5)Kerberos関連設定
・Kerberos5設定ファイル編集
※下記内容すべて追記
[libdefaults]
default_realm = example.local
dns_lookup_realm = true
dns_lookup_kdc = true
[realms]
example.local = {
kdc = smbsrv01.example.local
admin_server = smbsrv01.example.local
}
[domain_realm]
.example.local = example.local
example.local = example.local
・kinitでのテスト
・klistでのテスト
(6)セカンダリActiveDirectory設定
・samba-toolでADDCとして参加
・smbd.confができていることを確認
・セカンダリサーバを再起動してからマスタ側でセカンダリADが登録できていることを確認する
・設定ファイル編集(※念のためプライマリADにも同じ内容を設定)
※下記のとおり編集
[realms]
example.local = {
kdc = smbsrv01.example.local
kdc = smbsrv02.example.local ←追記する。
admin_server = smbsrv01.example.local
・サーバ再起動
2台とも再起動する。プライマリを再起動して動作を確認できてから
セカンダリを再起動する。
(7)Windowsリモートサーバ管理ツール(RSAT)からユーザ追加
・RSATでユーザを追加する。
・ユーザが追加できていることを確認
・ActiveDirectoryユーザとコンピュータからセカンダリサーバが
追加できていることを確認する。
・サーバ側でユーザ追加できているか確認する。
3.SYSVOL同期
(1)サーバ状態確認
・FSMOを確認
・同期状態確認
(2)rsync設定
・sshloginグループにユーザ追加(プライマリ、セカンダリ両サーバで実施)
・鍵作成(セカンダリADサーバで実行)
(3)鍵登録(プライマリADサーバで実行)
・authorized_keys作成
※セカンダリADで作成したrsync-gpo.pubの内容をコピーして保存する
・権限付与
(4)sudo権限の設定(同期コマンドについてパスワードを求めない設定)→両方のサーバで実行
※下記のとおり編集
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults env_keep += "SSH_AUTH_SOCK" ←追記
※最下行に追記
Defaults!/usr/bin/rsync !requiretty
user ALL=(ALL) NOPASSWD: /usr/bin/rsync
user ALL=(ALL) NOPASSWD: /usr/bin/samba-tool
(5)セカンダリサーバからの接続確認
・プライマリADサーバ公開鍵ファイル編集
※ssh-rsaの前に下記を追加する。
command="sudo /usr/bin/rsync" --server --sender -vvulogDtpAXre.iLs . /var/lib/samba/sysvol/nishimura.local/",from="セカンダリADサーバのIPアドレス"
・コマンド実行確認
(6)crontab登録
・cronログ出力設定
※下記のとおり編集
Sambaに興味があったので、SambaでプライマリADとセカンダリAD、
Windowsファイルサーバを構築してみた。(仮想だけど・・・・)
特に中小企業だとこういうところのコストカットが効いてくると思う。
後、自分用の備忘録も兼ねて手順を残しておく。
ちなみになぜかUbuntu14.04LTSで構築してみた。
5月8日追記:
ファイルサーバはAlfresco使うので手順を整理して
ポリシーも適用したかったのでSYSVOLの同期手順を追記しました。
●大まかな手順
1.プライマリADコントローラの作成
(1)ホスト名変更、IPアドレス変更
・IPアドレス変更
・ホスト名変更
・再起動
(2)Sambaのインストール
・インストール
(3)FireWall許可
・ファイアウォール設定
(4)ActiveDirectory設定
・ActiveDirectory関連設定
・設定
・ドメインの機能レベルを 2008 R2 に設定
(5)Kerberos関連設定
・Kerberos5設定ファイル編集
(6)フォワーダーDNSの設定
・フォワーダーDNS設定
・interfacesの設定
・再起動
(7)構築後確認
・SambaのADの動作確認
(8)ユーザ追加(コマンドライン)
(9)Windows側の設定(リモートサーバ管理ツールインストール)
2.セカンダリADサーバ構築
(1)ホスト名変更、IPアドレス変更
・IPアドレス変更
・ホスト名変更
(2)Sambaのインストール
・インストール
(3)FireWall許可
・ファイアウォール設定
・ファイアウォール設定内容確認
(4)ActiveDirectory設定
・DNSの設定
・設定ファイル編集
・ネットワーク再起動
(5)Kerberos関連設定
・Kerberos5設定ファイル編集
・kinitでのテスト
・klistでのテスト
(6)セカンダリActiveDirectory設定
・samba-toolでADDCとして参加
・設定ファイル編集(※念のためプライマリADにも設定)
・リブート(2台とも再起動、プライマリ→セカンダリの順がいい。)
(7)Windowsリモートサーバ管理ツール(RSAT)からユーザ追加
3.SYSVOL共有設定
(1)サーバ状態確認
・FSMOを確認
・同期状態確認
(2)rsync設定
・sshloginグループにユーザ追加(プライマリ、セカンダリ両サーバで実施)
・鍵作成(セカンダリADサーバで実行)
(3)鍵登録(プライマリADサーバで実行)
・authorized_keys作成
(4)sudo権限の設定(同期コマンドについてパスワードを求めない設定)→両方のサーバで実行
(5)セカンダリサーバからの接続確認
・ssh接続確認
・プライマリADサーバ公開鍵ファイル編集
・コマンド実行確認
(6)crontab登録
・cronログ出力設定
・ログ確認
◆参考サイト
http://www.virment.com/config-sambaserver/
http://debianj.com/ubuntu/install/samba
http://mower.hateblo.jp/entry/2015/06/03/112350
http://qiita.com/8mamo10/items/6d43dbb32563f0242990
http://toshtone.hatenablog.jp/entry/2015/05/13/221405
http://www.server-world.info/query?os=Ubuntu_14.04&p=samba&f=4
http://qiita.com/TsutomuNakamura/items/07bf2d01e61e316a2a00
http://qiita.com/yugui/items/eef7ff454600a8d236a6
http://www.kurobuti.com/blog/?p=6278
http://infra.blog.shinobi.jp/Entry/91/
http://d.hatena.ne.jp/torutk/20130301/p1
http://www.rough-and-cheap.jp/linux/samba4/samba4-ubuntu14-04-01/
http://qiita.com/budougumi0617/items/ba54d052365556f78b7e
http://kplace.plala.jp/pc1/pc764.html
http://www.unix-power.net/linux/samba3.html
http://www.uetyi.com/server-const/linux-server/entry-23.html
http://www.unix-power.net/linux/samba4_secondary.html
http://d.hatena.ne.jp/vivid_skid/20131108/1383890326
http://www.ilovex.co.jp/Division/ITD/archives/2008/12/windows_linux.html
http://www.unix-power.net/linux/samba4_setup.html
http://web.chaperone.jp/w/index.php?samba4%2F2ndSamba4ADDC
http://www.ilovex.co.jp/Division/ITD/archives/2008/12/windows_linux.html
http://www.unix-power.net/linux/samba4_tool.html
http://www.unix-power.net/linux/samba4_rsat.html
http://www.slideshare.net/takahashimotonobu/samba420150809-osc-2015-kansaikyoto
http://jehupc.exblog.jp/14875716/
http://www.server-world.info/query?os=Ubuntu_14.04&p=samba&f=3
http://d.hatena.ne.jp/vivid_skid/20131108/1383890326
http://www.be-dama.com/kb/samba4-ad-mini-howto/ad_setting.html
http://www.kurobuti.com/blog/?p=6517
http://wingse.blog57.fc2.com/blog-entry-293.html
http://qiita.com/tkyk@github/items/7f1216088b789d0538fb
http://qwik.jp/takotlog/RsyncOverSSH.html
http://www.omnioo.com/record/ubuntudebian/crontab/
http://www.be-dama.com/kb/samba4-ad-mini-howto/ad_setting.html
http://www.kurobuti.com/blog/?p=6517
http://wingse.blog57.fc2.com/blog-entry-293.html
http://qiita.com/tkyk@github/items/7f1216088b789d0538fb
http://qwik.jp/takotlog/RsyncOverSSH.html
http://www.omnioo.com/record/ubuntudebian/crontab/
1.プライマリADコントローラの作成
(1)ホスト名変更、IPアドレス変更
・IPアドレス変更
user@defaultimage:~$ sudo vi /etc/network/interfaces
※下記の通り編集
# Static Address
auto eth0
iface eth0 inet static
address X.X.X.1 ←下記の箇所を書替
dns-nameservers X.X.X.1 192.168.1.1 ←構築サーバのIPアドレスを追記
dns-search example.local ←追記
user@defaultimage:~$ sudo vi /etc/hostname
smbsrv01
user@defaultimage:~$ sudo vi /etc/hosts
※固定IPアドレスのホスト名を追加
X.X.X.1 smbsrv01 smbsrv01.example.local ←ホスト名とFQDNを追記
・再起動
user@defaultimage:~$ sudo reboot
・インストール
user@smbsrv01:~$ sudo aptitude install samba winbind libpam-winbind krb5-user smbclient 以下の新規パッケージがインストールされます: krb5-config{a} krb5-user libgssrpc4{a} libkadm5clnt-mit9{a} libkadm5srv-mit9{a} libkdb5-7{a} libnss-winbind{a} libpam-winbind winbind 0 個のパッケージを更新、 9 個を新たにインストール、 0 個を削除予定、74 個が更新 されていない。 733 k バイトのアーカイブを取得する必要があります。 展開後に 3,561 k バイトのディスク領域が新たに消費されます。 先に進みますか? [Y/n/?] ~中略~ libc-bin (2.19-0ubuntu6.6) のトリガを処理しています ... user@smbsrv01:~$
※下記をインストール中のGUIで設定する。
・1番目(レルム設定)
example.local
・2番目(自身のホスト名をFQDNで設定する)
smbsrv01.example.local
・3番目(自身のホスト名をFQDNで設定する)
smbsrv01.example.local
(3)FireWall許可
・ファイアウォール設定
user@smbsrv01:~$ sudo ufw allow Samba ルールを追加しました ルールを追加しました (v6) user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any app Samba ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port domain ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port kerberos ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port ldap ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port loc-srv ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port 1024 ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port 3268 ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port 749 ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port 636 ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port 445 ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port 464 ルールを追加しました user@smbsrv01:~$ sudo ufw allow from 192.168.1.0/24 to any port 139 ルールを追加しました
・ファイアウォール設定状況確認
user@smbsrv01:~$ sudo ufw app list 利用可能なアプリケーション: OpenSSH Postfix Postfix SMTPS Postfix Submission Samba user@smbsrv01:~$ sudo ufw status atarain@smbsrv01:~$ sudo ufw status 状態: アクティブ To Action From -- ------ ---- 80 ALLOW Anywhere 443 ALLOW Anywhere 50022 ALLOW Anywhere 8009 ALLOW Anywhere 8443 ALLOW Anywhere 8005 ALLOW Anywhere Samba ALLOW Anywhere Samba ALLOW X.X.X.0/24 53 ALLOW X.X.X.0/24 88 ALLOW X.X.X.0/24 389 ALLOW X.X.X.0/24 135 ALLOW X.X.X.0/24 1024 ALLOW X.X.X.0/24 3268 ALLOW X.X.X.0/24 749 ALLOW X.X.X.0/24 636 ALLOW X.X.X.0/24 445 ALLOW X.X.X.0/24 464 ALLOW X.X.X.0/24 139 ALLOW X.X.X.0/24 80 (v6) ALLOW Anywhere (v6) 443 (v6) ALLOW Anywhere (v6) 50022 (v6) ALLOW Anywhere (v6) 8009 (v6) ALLOW Anywhere (v6) 8443 (v6) ALLOW Anywhere (v6) 8005 (v6) ALLOW Anywhere (v6) Samba (v6) ALLOW Anywhere (v6)
(4)ActiveDirectory設定
・ActiveDirectory関連設定
必要事項を入力する
user@smbsrv01:~$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.org user@smbsrv01:~$ sudo samba-tool domain provision Realm [NISHIMURA.LOCAL]: EXAMPLE.LOCAL ←入力 Domain [SMBSRV01]: EXAMPLE ←入力 Server Role (dc, member, standalone) [dc]: ←Enter DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:←Enter DNS forwarder IP address (write 'none' to disable forwarding) [X.X.X.1]: ←Enter Administrator password: ←入力 Retype password: Looking up IPv4 addresses Looking up IPv6 addresses ~中略~ Hostname: smbsrv01 NetBIOS Domain: EXAMPLE DNS Domain: smbsrv01.example.local DOMAIN SID: S-1-5-21-2122072113-1337368026-2475642460 user@smbsrv01:~$
・ドメインの機能レベルを 2008 R2 に設定
user@smbsrv01:~$ sudo samba-tool domain level show Domain and forest function level for domain 'DC=smbsrv01,DC=nishimura,DC=local' Forest function level: (Windows) 2008 R2 Domain function level: (Windows) 2008 R2 Lowest function level of a DC: (Windows) 2008 R2(5)Kerberos関連設定
user@smbsrv01:~$ sudo mv /etc/krb5.conf /etc/krb5.conf.org user@smbsrv01:~$ sudo cp /var/lib/samba/private/krb5.conf /etc/ user@smbsrv01:~$ sudo vi /etc/krb5.conf※[realms]以下を追記
[libdefaults]
default_realm = EXAMPLE.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
EXAMPLE.LOCAL = {
kdc = smbsrv01.EXAMPLE.LOCAL
admin_server = smbsrv01.EXAMPLE.LOCAL
}
[domain_realm]
.example.local = EXAMPLE.LOCAL
example.local = EXAMPLE.LOCAL
・フォワーダーDNS設定
user@smbsrv01:~$ sudo vi /etc/samba/smb.conf
※dns forwarderの箇所をインターネット接続用DNSサーバに変更する。
[global]
workgroup = EXAMPLE
realm = EXAMPLE.LOCAL
netbios name = SMBSRV01
server role = active directory domain controller
dns forwarder = XXX.XXX.XX.1
printing = bsd
・interfacesの設定
user@smbsrv01:~$ sudo vi /etc/samba/smb.conf
※dns-nameserversの箇所に自サーバのIPアドレスのみ設定する。
dns-nameservers X.X.X.1
dns-search example.local
user@smbsrv01:~$ sudo reboot
(7)構築後確認
・SambaのADの動作確認
user@smbsrv01:~$ smbclient -V Version 4.1.6-Ubuntu user@smbsrv01:~$ sudo smbclient -L localhost -U% Domain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.6-Ubuntu] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.1.6-Ubuntu) Domain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.6-Ubuntu] Server Comment --------- ------- Workgroup Master --------- -------
・ログインできるか確認
user@smbsrv01:~$ sudo smbclient //localhost/netlogon -UAdministrator Enter Administrator's password: Domain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.6-Ubuntu] smb: \> exit user@smbsrv01:~$ sudo kinit administrator@example.local Password for administrator@example.local: Warning: Your password will expire in 41 days on 2016年04月03日 15時13分08秒
・DNS確認
user@smbsrv01:~$ sudo host -t SRV _ldap._tcp.example.local. _ldap._tcp.example.local has no SRV record user@smbsrv01:~$ sudo host -t SRV _kerberos._udp.example.local _kerberos._udp.example.local has no SRV record user@smbsrv01:~$ sudo host -t A smbsrv01.example.local smbsrv01.example.local has address X.X.X.1
(8)ユーザ追加(コマンドライン)
コマンドラインでユーザを追加できるか確認する。
user@smbsrv01:~$ sudo samba-tool user add hoge New Password: Retype Password: User 'noriko' created successfully
・IPアドレス設定のDNS欄にSambaサーバのIPアドレスを指定する。(X.X.X.1)
・コンピュータを右クリックしてプロパティからドメインに参加する。
・administratorでログインする。
・リモートサーバ管理ツールダウンロード
https://www.microsoft.com/en-us/download/details.aspx?id=7887
2.セカンダリADサーバ構築
(1)ホスト名変更、IPアドレス変更~(3)FireWall許可までは
1.プライマリADコントローラの作成と同じ手順
(4)ActiveDirectory設定
・DNSの設定
user@smbsrv02:~$ sudo vi /etc/network/interfaces
※下記のとおり編集
dns-nameservers X.X.X.1 ←プライマリADのIPアドレスを追記
dns-search example.local ←ドメインを追加
user@smbsrv02:~$ sudo service networking restart stop: Job failed while stopping start: Job is already running: networking
(5)Kerberos関連設定
・Kerberos5設定ファイル編集
user@smbsrv01:~$ sudo vi /etc/krb5.conf
※下記内容すべて追記
[libdefaults]
default_realm = example.local
dns_lookup_realm = true
dns_lookup_kdc = true
[realms]
example.local = {
kdc = smbsrv01.example.local
admin_server = smbsrv01.example.local
}
[domain_realm]
.example.local = example.local
example.local = example.local
user@smbsrv02:~$ sudo kinit administrator Password for administrator@example.local: Warning: Your password will expire in 41 days on 2016年04月03日 15時13分08秒
・klistでのテスト
user@smbsrv02:~$ sudo klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@example.local Valid starting Expires Service principal 2016-02-21T15:48:19 2016-02-22T01:48:19 krbtgt/example.local@example.local renew until 2016-02-22T15:48:14
(6)セカンダリActiveDirectory設定
・samba-toolでADDCとして参加
user@smbsrv02:~$ sudo samba-tool domain join example.local DC -U administrator Finding a writeable DC for domain 'example.local' Found DC smbsrv01.example.local Password for [WORKGROUP\administrator]: ←ドメインAdministratorのパスワード入力 workgroup is EXAMPLE ~中略~ Joined domain EXAMPLE (SID S-1-5-21-1763903548-1476546725-2121917568) as a DC user@smbsrv02:~$
・smbd.confができていることを確認
user@smbsrv02:~$ ls -al /etc/samba/ 合計 16 drwxr-xr-x 3 root root 4096 2月 21 16:21 . drwxr-xr-x 99 root root 4096 2月 21 16:13 .. -rw-r--r-- 1 root root 290 2月 21 16:21 smb.conf drwxr-xr-x 2 root root 4096 2月 16 02:54 tls~$
・セカンダリサーバを再起動してからマスタ側でセカンダリADが登録できていることを確認する
user@smbsrv02:~$ sudo reboot
user@smbsrv02:~$ sudo samba-tool dns query X.X.X.1 example.local @ A -U administrator [sudo] password for user: Password for [EXAMPLE\administrator]: Name=, Records=2, Children=0 A: X.X.X.1 (flags=600000f0, serial=1, ttl=900) A: X.X.X.2 (flags=600000f0, serial=110, ttl=900) Name=_msdcs, Records=0, Children=0 Name=_sites, Records=0, Children=1 Name=_tcp, Records=0, Children=4 Name=_udp, Records=0, Children=2 Name=DomainDnsZones, Records=0, Children=2 Name=ForestDnsZones, Records=0, Children=2 Name=smbsrv01, Records=1, Children=0 A: X.X.X.1 (flags=f0, serial=1, ttl=900) Name=smbsrv02, Records=1, Children=0 A: X.X.X.2 (flags=f0, serial=110, ttl=900) user@smbsrv02:~$
・設定ファイル編集(※念のためプライマリADにも同じ内容を設定)
user@smbsrv02:~$ sudo vi /etc/krb5.conf
※下記のとおり編集
[realms]
example.local = {
kdc = smbsrv01.example.local
kdc = smbsrv02.example.local ←追記する。
admin_server = smbsrv01.example.local
2台とも再起動する。プライマリを再起動して動作を確認できてから
セカンダリを再起動する。
user@smbsrv02:~$ sudo reboot
(7)Windowsリモートサーバ管理ツール(RSAT)からユーザ追加
・RSATでユーザを追加する。
・ユーザが追加できていることを確認
・ActiveDirectoryユーザとコンピュータからセカンダリサーバが
追加できていることを確認する。
・サーバ側でユーザ追加できているか確認する。
user@smbsrv02:~$ sudo samba-tool user list
3.SYSVOL同期
(1)サーバ状態確認
・FSMOを確認
user@smbsrv01:~$ sudo samba-tool fsmo show InfrastructureMasterRole owner: CN=NTDS Settings,CN=SMBSRV01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=nishimura,DC=local RidAllocationMasterRole owner: CN=NTDS Settings,CN=SMBSRV01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=nishimura,DC=local PdcEmulationMasterRole owner: CN=NTDS Settings,CN=SMBSRV01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=nishimura,DC=local DomainNamingMasterRole owner: CN=NTDS Settings,CN=SMBSRV01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=nishimura,DC=local SchemaMasterRole owner: CN=NTDS Settings,CN=SMBSRV01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=nishimura,DC=local user@smbsrv01:~$
・同期状態確認
user@smbsrv01:~$ sudo samba-tool drs showrepl Default-First-Site-Name\SMBSRV01 DSA Options: 0x00000001 DSA object GUID: 3c78b2c8-94c7-492a-bd27-7e4f5f6480c7 DSA invocationId: 4e0e4d1a-4ab9-4e73-9883-b65eb6a7415c ==== INBOUND NEIGHBORS ==== ~中略~ First-Site-Name,CN=Sites,CN=Configuration,DC=nishimura,DC=local TransportType: RPC options: 0x00000001 Warning: No NC replicated for Connection!
(2)rsync設定
・sshloginグループにユーザ追加(プライマリ、セカンダリ両サーバで実施)
user@smbsrv01:~$ su - user user@smbsrv01:~$ sudo usermod -aG sshlogin user user@smbsrv01:~$ sudo groups user user : user adm cdrom sudo dip plugdev lpadmin sambashare sshlogin
・鍵作成(セカンダリADサーバで実行)
user@smbsrv02:~$ ssh-keygen -t rsa -f /home/user/.ssh/rsync-gpo Generating public/private rsa key pair. Created directory '/home/user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/rsync-gpo. Your public key has been saved in /home/user/.ssh/rsync-gpo.pub. The key fingerprint is: e7:16:5f:2e:8e:d8:2a:03:34:19:97:8c:30:1f:06:30 user@smbsrv02 The key's randomart image is: ~中略~ user@smbsrv02:~$ chmod -R 700 .ssh/
(3)鍵登録(プライマリADサーバで実行)
・authorized_keys作成
user@smbsrv01:~$ mkdir -m700 .ssh user@smbsrv01:~$ ls -la 合計 2164 drwxr-x--- 7 user user 4096 5月 8 13:41 . drwxr-xr-x 4 root root 4096 11月 21 11:52 .. drwx------ 2 user user 4096 2月 21 15:08 .aptitude -rw------- 1 user user 34074 5月 8 13:24 .bash_history -rw-r--r-- 1 user user 220 11月 21 11:40 .bash_logout -rw-r--r-- 1 user user 3694 11月 22 12:30 .bashrc drwx------ 2 user user 4096 11月 21 11:42 .cache drwxrwxr-x 2 user user 4096 11月 22 15:15 .oracle_jre_usage -rw-r--r-- 1 user user 675 11月 21 11:40 .profile drwx------ 2 user user 4096 5月 8 13:41 .ssh -rw------- 1 root root 8372 5月 8 13:35 .viminfo -rw-r--r-- 1 root root 2119680 11月 21 17:02 chkrootkit.tar drwxrwxr-x 2 user user 4096 11月 21 11:53 confbk user@smbsrv01:~$ vi .ssh/authorized_keys
※セカンダリADで作成したrsync-gpo.pubの内容をコピーして保存する
・権限付与
user@smbsrv01:~$ chmod 700 .ssh/authorized_keys user@smbsrv01:~$ ls -al .ssh/ 合計 12 drwx------ 2 user user 4096 5月 8 13:43 . drwxr-x--- 7 user user 4096 5月 8 13:41 .. -rwx------ 1 user user 399 5月 8 13:43 authorized_keys user@smbsrv01:~$
(4)sudo権限の設定(同期コマンドについてパスワードを求めない設定)→両方のサーバで実行
user@smbsrv01:~$ sudo visudo
※下記のとおり編集
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults env_keep += "SSH_AUTH_SOCK" ←追記
※最下行に追記
Defaults!/usr/bin/rsync !requiretty
user ALL=(ALL) NOPASSWD: /usr/bin/rsync
user ALL=(ALL) NOPASSWD: /usr/bin/samba-tool
(5)セカンダリサーバからの接続確認
・ssh接続確認
user@smbsrv02:~$ ssh -i .ssh/rsync-gpo user@smbsrv01 The authenticity of host '[smbsrv01]:XXXXX ([192.168.X.XXX]:XXXXX)' can't be established. ECDSA key fingerprint is 0a:80:65:d8:a7:24:ac:aa:22:24:e2:10:20:a3:ba:fd. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[smbsrv01]:XXXXX,[192.168.X.XXX]:XXXXX' (ECDSA) to the list of known hosts. Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-49-generic x86_64) ~中略~ Graph this data and manage this system at: https://landscape.canonical.com/ Last login: Sun Feb 7 11:32:49 2016 user@smbsrv01:~$
user@smbsrv01:~$ vi .ssh/authorized_keys
※ssh-rsaの前に下記を追加する。
command="sudo /usr/bin/rsync" --server --sender -vvulogDtpAXre.iLs . /var/lib/samba/sysvol/nishimura.local/",from="セカンダリADサーバのIPアドレス"
・コマンド実行確認
user@smbsrv02:~$ sudo rsync -aAXu -e "ssh -i /home/user/.ssh/rsync-gpo" --rsync-path='sudo rsync' user@smbsrv01:/var/lib/samba/sysvol/nishimura.local/ /var/lib/samba/sysvol/nishimura.local/ total: matches=0 hash_hits=0 false_alarms=0 data=805 user@smbsrv02:~$ sudo samba-tool ntacl sysvolreset
(6)crontab登録
user@smbsrv02:~$ sudo crontab -e no crontab for root - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/ed 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny Choose 1-3 []:2
※下記のとおり追記
*/15 * * * * sudo rsync -aAXu -e "ssh -i /home/user/.ssh/rsync-gpo" --rsync-path='sudo rsync' user@smbsrv01:/var/lib/samba/sysvol/nishimura.local/ /var/lib/samba/sysvol/nishimura.local/
1-59/15 * * * * sudo samba-tool ntacl sysvolreset
*/15 * * * * sudo rsync -aAXu -e "ssh -i /home/user/.ssh/rsync-gpo" --rsync-path='sudo rsync' user@smbsrv01:/var/lib/samba/sysvol/nishimura.local/ /var/lib/samba/sysvol/nishimura.local/
1-59/15 * * * * sudo samba-tool ntacl sysvolreset
・cronログ出力設定
user@smbsrv02:~$ sudo vi /etc/rsyslog.d/50-default.conf
※下記のとおり編集
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
cron.* /var/log/cron.log ←コメントアウト解除
#daemon.* -/var/log/daemon.log
*.*;auth,authpriv.none -/var/log/syslog
cron.* /var/log/cron.log ←コメントアウト解除
#daemon.* -/var/log/daemon.log
user@smbsrv02:~$ sudo service rsyslog restart rsyslog stop/waiting rsyslog start/running, process 3182
・ログ確認
user@smbsrv02:~$ sudo vi /var/log/cron.log May 8 17:00:01 smbsrv02 CRON[3188]: (root) CMD (sudo rsync -aAXu -e "ssh -i /home/user/.ssh/rsync-gpo" --rsync-path='sudo rsync' user@smbsrv01:/var/lib/samba/sysvol/nishimura.local/ /var/lib/samba/sysvol/nishimura.local/) May 8 17:01:01 smbsrv02 CRON[3199]: (root) CMD (sudo samba-tool ntacl sysvolreset)
コメント