CentOSに必要なものはここを参考にした。
# yum install gcc libacl-devel libblkid-devel gnutls-devel \ readline-devel python-devel gdb pkgconfig krb5-workstation \ zlib-devel setroubleshoot-server libaio-devel \ 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 cups-devel bind-utilsあとで configureしてわかったが、perlが入っていないのでこれも追加でインストール
# yum install perl
CentOS7のminimumセットにはwgetが入っていないのでインストール
ついでに後で必要になるであろうネットワーク関連のツールと、killallが使えなかったのでファイルシステムに関するユーティリティをインストール。
# yum install wget net-tools psmisc
ダウンロード&make&インストール
ここからSamba4の最新版をダウンロード
ftp://ftp.samba.gr.jp/pub/samba/
# wget ftp://ftp.samba.gr.jp/pub/samba/samba-4.1.12.tar.gz # tar xfz samba-4.1.12.tar.gz # cd samba-4.1.12 # ./configure # make # make install
絶対パスで指定するのが面倒なので /usr/local/(bin|sbin) に シンボリックリンクを作る
# ln -s /usr/local/samba/sbin/samba /usr/local/sbin # ln -s /usr/local/samba/bin/samba-tool /usr/local/bin # ln -s /usr/local/samba/bin/smbclient /usr/local/bin # samba -V
ここから samba4の Active Directoryの設定
# samba-tool domain provision --use-rfc2307 --interactive Realm[HOGEHOGE.LOCAL]:Domain [HOGEHOGE]: Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: (enter) DNS forwarder IP address (write 'none' to disable forwarding) [8.8.8.8]: (enter) Administrator password: Retype password:
samba4のネームサーバーを参照させるためにDNSを設定する
/etc/resolv.conf は直接書き換えられない(再起動時に上書きされる)ので、別の場所で指定する。
# vi /etc/sysconfig/network-scripts/ifcfg-enp0p3 DNS1="127.0.0.1" DNS2="8.8.8.8"kerberosの設定
# mv /etc/krb5.conf /etc/krb5.conf.org # cp /usr/local/samba/private/krb5.conf /etc/krb5.confsamba4を起動して動作確認
まずは Active Directory(AD)のDomain Controller(DC)として動作しているかの確認
# samba
# smbclient -L localhost -U%
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.1.12)
Domain=[HOGEHOGE] OS=[Unix] Server=[Samba 4.1.12]
Server Comment
--------- -------
Workgroup Master
--------- -------
'netlogon'と'sysvol'が共有されていればOKとのこと。
つづいて、AD内の DNSサーバーが動作しているかの確認
# host -t SRV _ldap._tcp.hogehoge.local _ldap._tcp.hogehoge.local has SRV record 0 100 389 bcnr33.hogehoge.local. # host -t SRV _kerberos._udp.hogehoge.local _kerberos._udp.hogehoge.local has SRV record 0 100 88 bcnr33.hogehoge.local. # host -t A bcnr33.junauto.local bnr32.hogehoge.local has address 192.168.1.100 # samba-tool dns zonelist localhost -U Administrator Password for [HOGEHOGE\Administrator]: 2 zone(s) found pszZoneName : hogehoge.local Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE ZoneType : DNS_ZONE_TYPE_PRIMARY Version : 50 dwDpFlags : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED pszDpFqdn : DomainDnsZones.hogehoge.local pszZoneName : _msdcs.hogehoge.local Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE ZoneType : DNS_ZONE_TYPE_PRIMARY Version : 50 dwDpFlags : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED pszDpFqdn : ForestDnsZones.hogehoge.localkerberos認証の確認
# kinit administrator@HOGEHOGE.LOCAL
Password for administrator@HOGEHOGE.LOCAL:
Warning: Your password will expire in 38 days on 2014年10月21日 15時21分38秒
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@HOGEHOGE.LOCAL
Valid starting Expires Service principal
2014-09-12T17:00:45 2014-09-13T03:00:45 krbtgt/HOGEHOGE.LOCAL@HOGEHOGE.LOCAL
renew until 2014-09-13T17:00:42
ワーニングは、パスワードの有効期限とのこと。待ち受けポートの確認
# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1574/master tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 767/samba tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 766/smbd tcp 0 0 0.0.0.0:1024 0.0.0.0:* LISTEN 762/samba tcp 0 0 0.0.0.0:3268 0.0.0.0:* LISTEN 767/samba tcp 0 0 0.0.0.0:3269 0.0.0.0:* LISTEN 767/samba tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 767/samba tcp 0 0 0.0.0.0:135 0.0.0.0:* LISTEN 762/samba tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 766/smbd tcp 0 0 0.0.0.0:464 0.0.0.0:* LISTEN 769/samba tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 777/samba tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 824/sshd tcp 0 0 0.0.0.0:88 0.0.0.0:* LISTEN 769/samba tcp 0 52 192.168.1.100:22 192.168.1.50:50104 ESTABLISHED 1819/sshd: root@pts tcp6 0 0 ::1:25 :::* LISTEN 1574/master tcp6 0 0 :::636 :::* LISTEN 767/samba tcp6 0 0 :::445 :::* LISTEN 766/smbd tcp6 0 0 :::1024 :::* LISTEN 762/samba tcp6 0 0 :::3268 :::* LISTEN 767/samba tcp6 0 0 :::3269 :::* LISTEN 767/samba tcp6 0 0 :::389 :::* LISTEN 767/samba tcp6 0 0 :::135 :::* LISTEN 762/samba tcp6 0 0 :::139 :::* LISTEN 766/smbd tcp6 0 0 :::464 :::* LISTEN 769/samba tcp6 0 0 :::53 :::* LISTEN 777/samba tcp6 0 0 :::22 :::* LISTEN 824/sshd tcp6 0 0 :::88 :::* LISTEN 769/samba53:DNSサーバー, 88:Kerberosキー配布センター, 389=LDAPなど
ドメインレベル・フォレストレベルを昇格させる
# samba-tool domain level raise --domain-level=2008_R2 --forest-level=2008_R2 Domain function level changed! Forest function level changed! All changes applied successfully!昇格したか現在のレベルを確認する
# samba-tool domain level show Domain and forest function level for domain 'DC=junauto,DC=local' Forest function level: (Windows) 2008 R2 Domain function level: (Windows) 2008 R2 Lowest function level of a DC: (Windows) 2008 R2samba4を自動起動できるようにする。
# vi /etc/init.d/samba4スクリプトの中身
#!/bin/bash
#
# samba4 Bring up/down samba4 service
#
# chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured to \
# start at boot time.
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
# Short-Description: Bring up/down samba4
# Description: Bring up/down samba4
### END INIT INFO
# Source function library.
. /etc/init.d/functions
if [ -f /etc/sysconfig/samba4 ]; then
. /etc/sysconfig/samba4
fi
CWD=$(pwd)
prog="samba4"
start() {
# Attach irda device
echo -n $"Starting $prog: "
/usr/local/samba/sbin/samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then success $"samba4 startup"; else failure $"samba4 startup"; fi
echo
}
stop() {
# Stop service.
echo -n $"Shutting down $prog: "
killall samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4 shutdown"; fi
echo
}
status() {
/usr/local/samba/sbin/samba --show-build
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status irattach
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
起動時の登録# chmod 0755 /etc/init.d/samba4 # ln -s /etc/init.d/samba4 /etc/rc3.d/S80samba4 # chkconfig --add samba4 # chkconfig --level 35 samba4 onSamba4サーバーのAD DC準備はここまで
参考にしたサイト
Samba4でのActive Directory構築 - OSSでLinuxサーバ構築
Samba 4.xでActive Directoryを1から立てる | OSAKANA TAROのメモ帳
0 件のコメント:
コメントを投稿