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 件のコメント:
コメントを投稿