Samba 4.10.2に更新した際に、python関連で修正点があったので更新。なお、この記事は、Active Directoryサーバとして使用することについてのみ解説しています。ファイルサーバとして使用することについては記述していません。
Samba 4.10.xにおける大きな変更点は「python3がデフォルト」「python2サポートの最終バージョン」です。RHEL7/CentOS7環境はpython2なので、あまり変更せずに使える最終バージョンといった感じです。なお、RHEL7/CentOS7のEPELには「python36」というパッケージ名でpython 3.6があるので、それを追加インストールすることはできます。
なお、過去バージョンの履歴。2018年12月版「Samba 4.9.xでActive Directoryを1から立てる」、2018年3月版「Samba 4.7.xでActive Directoryを1から立てる」、2016年7月版「Samba 4.4.xでActive Directoryを1から立てる」、2014年2月版「Samba 4.xでActive Directoryを1から立てる」
さて、Linux上でSambaを使ってActive Directoryサーバを立てるメリットは以下の点です。
その1:Windows Serverを買わなくてもActive Directoryを作れる
WindowsのCALを買わずにActive Directory環境の構築ができるため、ライセンス費用の低減になります。
その2:Active Directoryユーザの作成などのユーザ管理をWindowsマシンからWindows標準ツールで行える
ユーザーの作成/変更、コンピューターアカウントの作成、DNSの管理など、Active Directoryの管理を行う際に頻繁に使う操作については、WindowsのActive Directory管理ツールやDNS管理ツールを使用することができる。このため、普段はLinuxのCLIコマンド(samba-toolsやnetコマンドなど)を使う必要はない。
Active Directoryに参加しているWindowsマシンに、Windows機能のActive Directory管理ツールを追加インストールし、Active Directoryの管理者にてログオンすることで、管理ができる。
その3:sambaの設定は難しくない
10年ぐらい前のsambaでは、DNSサーバやLDAPサーバをsambaとは別に用意し、連携する必要がありました。いまのsambaはDNSサーバとLDAPサーバの機能が統合されているため設定が容易になりました。
Active Directory名とActive Directory上の役割、管理者パスワードを設定するぐらいで環境を作成することができます。
逆にデメリットとしてどのようなものがあるか?
その1:Active Directoryの全機能が搭載されていない
ドメイン/フォレストの機能レベルがWindows Server 2012R2レベルまで対応になったものの、「Kerberos関連機能が未搭載」となっています。(samba公式wiki「Raising the Functional Levels」)
「Windows Server 2008 R2」レベルまでであればフルサポートしています。このレベルであれば、Windows Server 2016環境でフェイルオーバークラスターマネージャーでクラスタを組むこともできました。(samba 4.7ぐらいから可能になった)
手順は、公式の「Setting up Samba as an Active Directory Domain Controller」と「Package Dependencies Required to Build Samba」を参照しながら実施していきます。
1. CentOS7の最小インストールを実施
2. /etc/hostsの修正
自ホスト名を/etc/hostsに追加。
追加の際は、ショートのホスト名と、ドメイン付きのFQDNの両方を列挙すること。
1 | [root@adserver ~]# cat /etc/hosts |
2 | 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 |
3 | ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |
4 | 172.17.44.40 adserver adserver.adosakana.local |
3. 好みに応じて使うツールをインストール
セッションが途中で切れても良い様に「screen」か「tmux」と、ファイルダウンロードするためにwgetかcurlをインストールします。
1 | [root@adserver ~]# yum install wget screen |
4. 必要なパッケージをインストール
Samba公式の「Package Dependencies Required to Build Samba」に記載されているパッケージをインストール
1 | [root@adserver ~]# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \ |
2 | libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \ |
3 | perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \ |
4 | python2-crypto gnutls-devel libattr-devel keyutils-libs-devel \ |
5 | libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \ |
6 | pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel \ |
7 | lmdb-devel jansson-devel gpgme-devel pygpgme libarchive-devel |
ここで問題発生・・・上記の説明に「RHEL7ではEPELレポジトリを追加する必要があるが、CentOS7とScientific Linux7では不要」とあるが、CentOS7環境で試してみると「perl-Test-Base」と「lmdb-devel」は無い。
EPELレポジトリを追加してから、必要なパッケージのインストールをやり直します。(なお、perl-Test-Baseに関連付いていろいろパッケージが追加されます。)
1 | [root@adserver ~]# yum install epel-release.noarch |
5. sambaのtar.gzをダウンロード
samba.orgからsambaをダウンロードします。
3 | download.samba.org (download.samba.org) をDNSに問いあわせています... 144.76.82.156, 2a01:4f8:192:486::443:2 |
4 | download.samba.org (download.samba.org)|144.76.82.156|:443 に接続しています... 接続しました。 |
5 | HTTP による接続要求を送信しました、応答を待っています... 200 OK |
6 | 長さ: 18053738 (17M) [application/gzip] |
7 | `samba-4.10.2.tar.gz' に保存中 |
9 | 100%[======================================>] 18,053,738 3.65MB/s 時間 5.9s |
11 | 2018-12-28 13:10:29 (2.93 MB/s) - `samba-4.10.2.tar.gz' へ保存完了 [18053738/18053738] |
6. configure実施
samba 4.10.0より、標準で使用されるpythonのバージョンが3になりました。このため、RHEL7/CentOS7環境では「python3」が無いことにより下記の様なエラーとなります。
1 | [root@adserver samba-4.10.2]# ./configure |
2 | /usr/bin/env: python3: そのようなファイルやディレクトリはありません |
3 | [root@adserver samba-4.10.2]# |
これを避けるために「PYTHON=python2 ./configure」というような形で実行します。(Samba 4.10.0リリースノートより)
1 | [root@adserver ~]# tar xfz samba-4.10.2.tar.gz |
2 | [root@adserver ~]# cd samba-4.10.2/ |
3 | [root@adserver samba-4.10.2]# PYTHON=python2 ./configure |
4 | Setting top to : /root/samba-4.10.2 |
5 | Setting out to : /root/samba-4.10.2/bin |
6 | Checking for 'gcc' (C compiler) : /usr/bin/gcc |
7 | Checking for program 'git' : /usr/bin/git |
8 | Checking for c flags '-MMD' : yes |
9 | Checking for program 'gdb' : /usr/bin/gdb |
10 | Checking for header sys/utsname.h : yes |
13 | Checking if compiler accepts -fstack-protector : no |
14 | Checking if compiler accepts -fstack-protector : no |
15 | Checking if compiler accepts -fstack-clash-protection : yes |
16 | 'configure' finished successfully (1m43.247s) |
17 | [root@adserver samba-4.10.2]# |
7. make & make install
こちらもRHEL7/CentOS7の場合は「PYTHON=python2 make」、「PYTHON=python2 make install」と実行します。
1 | [root@adserver samba-4.10.2]# PYTHON=python2 make |
2 | PYTHONHASHSEED=1 WAF_MAKE=1 python2 ./buildtools/bin/waf build |
3 | Waf: Entering directory `/root/samba-4.10.2/bin/default' |
5 | [4112/4118] Compiling source4/scripting/man/samba-gpupdate.8.xml |
6 | Note: Writing samba-gpupdate.8 |
8 | [4113/4118] Compiling pidl/lib/Parse/Pidl/Wireshark/NDR.pm |
9 | [4114/4118] Compiling pidl/lib/Parse/Pidl/Dump.pm |
10 | [4115/4118] Compiling pidl/lib/Parse/Pidl/Wireshark/Conformance.pm |
11 | [4116/4118] Compiling pidl/pidl |
12 | [4117/4118] Compiling pidl/lib/Parse/Pidl/NDR.pm |
13 | [4118/4118] Compiling pidl/lib/Parse/Pidl/Util.pm |
14 | Waf: Leaving directory `/root/samba-4.10.2/bin/default' |
15 | 'build' finished successfully (19m50.933s) |
16 | [root@adserver samba-4.10.2]# PYTHON=python2 make install |
17 | PYTHONHASHSEED=1 WAF_MAKE=1 python2 ./buildtools/bin/waf install |
18 | Waf: Entering directory `/root/samba-4.10.2/bin/default' |
19 | Selected embedded Heimdal build |
20 | Checking project rules ... |
22 | + install /usr/local/samba/share/man/man3/Parse::Pidl::NDR.3pm (from bin/default/pidl/Parse::Pidl::NDR.3pm) |
23 | + install /usr/local/samba/share/man/man3/Parse::Pidl::Util.3pm (from bin/default/pidl/Parse::Pidl::Util.3pm) |
24 | Waf: Leaving directory `/root/samba-4.10.2/bin/default' |
25 | 'install' finished successfully (5m24.784s) |
26 | [root@adserver samba-4.10.2]# |
8. インストール完了確認
インストールされたsambaのバージョンを確認します。
1 | [root@adserver samba-4.10.2]# /usr/local/samba/sbin/samba -V |
3 | [root@adserver samba-4.10.2]# |
9. Active Directoryのセットアップ
ドメイン「adosakana.local」を作成します。
また、sambaの機能を使ってAD DNSを構築するので「SAMBA_INTERNAL」を選択します。
なお、「–use-rfc2307」はADにNIS連携機能を追加するオプションです。AD上にUnix用のUID/GID/shell情報なども格納できるようにします。Samba環境では有効にしておくべきものです。
また、セットアップ中、「Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!」とメッセージが出ますが、これは、この手順で自動生成されたkrb5.confをシステムのもつkrb5.confと統合しろ、というお知らせです。後の手順で対処します。
1 | [root@adserver samba-4.10.2]# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive |
2 | Realm [example.com]: ADOSAKANA.LOCAL |
4 | Server Role (dc, member, standalone) [dc]: |
5 | DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: |
6 | DNS forwarder IP address (write 'none' to disable forwarding) [172.30.50.100]: 172.30.50.100 |
9 | Looking up IPv4 addresses |
10 | Looking up IPv6 addresses |
11 | No IPv6 address will be assigned |
14 | Setting up the registry |
15 | Setting up the privileges database |
18 | Setting up sam.ldb partitions and settings |
19 | Setting up sam.ldb rootDSE |
20 | Pre-loading the Samba 4 and AD schema |
21 | Unable to determine the DomainSID, can not enforce uniqueness constraint on local domainSIDs |
23 | Adding DomainDN: DC=adosakana,DC=local |
24 | Adding configuration container |
25 | Setting up sam.ldb schema |
26 | Setting up sam.ldb configuration data |
27 | Setting up display specifiers |
28 | Modifying display specifiers and extended rights |
30 | Modifying users container |
31 | Adding computers container |
32 | Modifying computers container |
33 | Setting up sam.ldb data |
34 | Setting up well known security principals |
35 | Setting up sam.ldb users and groups |
38 | Creating CN=MicrosoftDNS,CN=System,DC=adosakana,DC=local |
39 | Creating DomainDnsZones and ForestDnsZones partitions |
40 | Populating DomainDnsZones and ForestDnsZones partitions |
41 | Setting up sam.ldb rootDSE marking as synchronized |
43 | A Kerberos configuration suitable for Samba AD has been generated at /usr/local/samba/private/krb5.conf |
44 | Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink! |
45 | Setting up fake yp server settings |
46 | Once the above files are installed, your Samba AD server will be ready to use |
47 | Server Role: active directory domain controller |
49 | NetBIOS Domain: ADOSAKANA |
50 | DNS Domain: adosakana.local |
51 | DOMAIN SID: S-1-5-21-3471449246-245784766-327389652 |
52 | [root@adserver samba-4.10.2]# |
10. sambaを起動
sambaが起動していないことを確認した上で、sambaを起動します。
1 | [root@adserver samba-4.10.2]# ps -ef|grep samba |
2 | root 30118 5011 0 18:40 pts/0 00:00:00 grep --color=auto samba |
3 | [root@adserver samba-4.10.2]# /usr/local/samba/sbin/samba |
4 | [root@adserver samba-4.10.2]# ps -ef|grep samba |
5 | root 30120 1 12 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
6 | root 30121 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
7 | root 30122 30120 1 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
8 | root 30123 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
9 | root 30124 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
10 | root 30125 30120 11 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
11 | root 30126 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
12 | root 30127 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
13 | root 30128 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
14 | root 30129 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
15 | root 30130 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
16 | root 30131 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
17 | root 30132 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
18 | root 30133 30120 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
19 | root 30134 30121 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
20 | root 30136 30129 0 18:41 ? 00:00:00 /usr/local/samba/sbin/samba |
21 | root 30137 30134 17 18:41 ? 00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground |
22 | root 30140 30136 16 18:41 ? 00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground |
23 | root 30144 30137 0 18:41 ? 00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground |
24 | root 30145 30137 0 18:41 ? 00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground |
25 | root 30146 30140 1 18:41 ? 00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground |
26 | root 30151 30140 0 18:41 ? 00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground |
27 | root 30152 30140 0 18:41 ? 00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground |
28 | root 30153 30137 0 18:41 ? 00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground |
29 | root 30155 5011 0 18:41 pts/0 00:00:00 grep --color=auto samba |
30 | [root@adserver samba-4.10.2]# |
11. 動作確認
CentOS内部からSMB接続を行うテストを実施。
1 | [root@adserver samba-4.10.2]# /usr/local/samba/bin/smbclient --version |
3 | [root@adserver samba-4.10.2]# /usr/local/samba/bin/smbclient -L localhost -U% |
9 | IPC$ IPC IPC Service (Samba 4.10.2) |
10 | Reconnecting with SMB1 for workgroup listing. |
17 | [root@adserver samba-4.10.2]# |
以前は「Domain=[ADOSAKANA.LOCAL] OS=[Unix] Server=[Samba x.y.z]」という出力もあったのですが、Samba 4.7以降では無くなっています。
netlogon共有にAdministrator権限でアクセスできるか確認。
1 | [root@adserver samba-4.10.2]# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls' |
2 | Enter ADOSAKANA\Administrator's password: |
3 | . D 0 Tue Mar 27 17:47:04 2018 |
4 | .. D 0 Tue Mar 27 17:47:51 2018 |
6 | 17811456 blocks of size 1024. 12499620 blocks available |
7 | [root@adserver samba-4.10.2]# |
12. AD DNSの動作テスト
AD DNSが想定通りに動作しているかテストします。
まず、どんなzoneが登録されているのか確認します。
1 | [root@adserver samba-4.10.2]# /usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator |
2 | Password for [ADOSAKANA\Administrator]: |
5 | pszZoneName : adosakana.local |
6 | Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE |
7 | ZoneType : DNS_ZONE_TYPE_PRIMARY |
9 | dwDpFlags : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED |
10 | pszDpFqdn : DomainDnsZones.adosakana.local |
12 | pszZoneName : _msdcs.adosakana.local |
13 | Flags : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE |
14 | ZoneType : DNS_ZONE_TYPE_PRIMARY |
16 | dwDpFlags : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED |
17 | pszDpFqdn : ForestDnsZones.adosakana.local |
18 | [root@adserver samba-4.10.2]# |
Active Directoryで使用するDNSのSRVレコードが登録されているかをhostコマンドを使って確認します。
1 | [root@adserver samba-4.10.2]# host -t SRV _ldap._tcp.adosakana.local 127.0.0.1 |
7 | _ldap._tcp.adosakana.local has SRV record 0 100 389 adserver.adosakana.local. |
8 | [root@adserver samba-4.10.2]# host -t SRV _kerberos._udp.adosakana.local 127.0.0.1 |
14 | _kerberos._udp.adosakana.local has SRV record 0 100 88 adserver.adosakana.local. |
15 | [root@adserver samba-4.10.2]# |
ADサーバのホスト名が登録されているか確認します。
1 | [root@adserver samba-4.10.2]# host -t A adserver.adosakana.local 127.0.0.1 |
7 | adserver.adosakana.local has address 172.17.15.70 |
8 | [root@adserver samba-4.10.2]# |
13. DNSサーバの変更
ADサーバの/etc/resolv.confを、ADサーバ自身を使う様に書き換えます。
14. /etc/krb5.conf の変更
/usr/local/samba/private/krb5.conf に元となるものが自動生成されているので、それを使用する。
1 | [root@adserver samba-4.10.2]# ls -l /etc/krb5.conf /usr/local/samba/private/krb5.conf |
2 | -rw-r--r--. 1 root root 641 10月 30 23:40 /etc/krb5.conf |
3 | -rw-rw-rw-. 1 root root 96 12月 28 14:13 /usr/local/samba/private/krb5.conf |
4 | [root@adserver samba-4.10.2]# cat /usr/local/samba/private/krb5.conf |
6 | default_realm = ADOSAKANA.LOCAL |
7 | dns_lookup_realm = false |
9 | [root@adserver samba-4.10.2]# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf |
10 | cp: `/etc/krb5.conf' を上書きしますか? y |
11 | [root@adserver samba-4.10.2]# |
15. Kerberosの動作確認
「kinit administrator@ドメイン名」を実行して確認します。
1 | [root@adserver samba-4.10.2]# kinit administrator@ADOSAKANA.LOCAL |
2 | Password for administrator@ADOSAKANA.LOCAL: |
3 | Warning: Your password will expire in 41 days on 2019年02月08日 14時13分15秒 |
4 | [root@adserver samba-4.10.2]# |
正常に設定されていれば、上記の様にAdministratorユーザのパスワード有効期限が表示されます。
「klist」コマンドでも確認することが出来ます。
1 | [root@adserver samba-4.10.2]# klist |
2 | Ticket cache: FILE:/tmp/krb5cc_0 |
3 | Default principal: administrator@ADOSAKANA.LOCAL |
5 | Valid starting Expires Service principal |
6 | 2018-12-28T14:26:25 2018-12-29T00:26:25 krbtgt/ADOSAKANA.LOCAL@ADOSAKANA.LOCAL |
7 | renew until 2018-12-29T14:26:22 |
8 | [root@adserver samba-4.10.2]# |
なお、ドメイン名指定の大文字/小文字を間違えると下記の様なエラーとなります。
1 | [root@adserver ~]# kinit administrator@adosakana.local |
2 | Password for administrator@adosakana.local: |
3 | kinit: KDC reply did not match expectations while getting initial credentials |
DNSサーバ指定が誤っている場合は下記の様なエラーです。
1 | [root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL |
2 | kinit: Cannot resolve servers for KDC in realm "ADOSAKANA.LOCAL" while getting initial credentials |
16. フォレストとドメインの機能レベル確認
作成したActive Directoryのドメインの機能レベルとフォレストの機能レベルを確認します。
1 | [root@adserver samba-4.10.2]# /usr/local/samba/bin/samba-tool domain level show |
2 | Domain and forest function level for domain 'DC=adosakana,DC=local' |
4 | Forest function level: (Windows) 2008 R2 |
5 | Domain function level: (Windows) 2008 R2 |
6 | Lowest function level of a DC: (Windows) 2008 R2 |
7 | [root@adserver samba-4.10.2]# |
Samba 4.10.2でもWindows Server 2008R2が標準設定となっています。
17. firewalldの設定
CentOS7ではfirewalldによりポートが制限されています。
現状を「firewall-cmd –list-all」で確認します。
1 | [root@adserver samba-4.10.2]# firewall-cmd --list-all |
4 | icmp-block-inversion: no |
7 | services: ssh dhcpv6-client |
15 | [root@adserver samba-4.10.2]# |
開けるべきポートのテンプレートがあらかじめ用意されているので「firewall-cmd –get-services」を実行して確認します 。
1 | [root@adserver samba-4.10.2]# firewall-cmd --get-services |
2 | RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry docker-swarm dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls managesieve mdns minidlna mongodb mosh mountd ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius redis rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh syncthing syncthing-gui synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server |
3 | [root@adserver samba-4.10.2]# |
サービス |
ポート |
プロトコル |
firewalld定義 |
DNS |
53 |
tcp/udp |
dns |
Kerberos |
88 |
tcp/udp |
kerberos,freeipa-ldap,freeipa-ldaps |
End Point Mapper (DCE/RPC Locator Service) |
135 |
tcp |
freeipa-trust |
NetBIOS Name Service |
137 |
udp |
samba,samba-client |
NetBIOS Datagram |
138 |
udp |
samba,samba-client,freeipa-trust |
NetBIOS Session |
139 |
tcp |
samba,freeipa-trust |
LDAP |
389 |
tcp/udp |
freeipa-trust(ldap,freeipa-ldapはtcpのみ) |
SMB over TCP |
445 |
tcp |
samba,freeipa-trust(freeipa-trustはudpも含む) |
Kerberos kpasswd |
464 |
tcp/udp |
kpasswd,freeipa-ldap,freeipa-ldaps |
LDAPS |
636 |
tcp |
ldaps,freeipa-ldaps |
Dynamic RPC Ports(4.7以前) |
1024-1300 |
tcp |
freeipa-trust |
Dynamic RPC Ports(samba 4.7以降) |
49152-65535 |
tcp |
? |
Global Catalog |
3268 |
tcp |
freeipa-trust |
Global Catalog SSL |
3269 |
tcp |
なし |
・firewalldの定義「samba」「dns」「freeipa-ldaps」「freeipa-trust」を使用
・「Dynamic RPC Ports(samba 4.7以降):49152-65535」を追加するか、smb.confで「rpc server port」を定義するか。
・「Global Catalog SSL:3269」を追加
1 | [root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-service=samba |
3 | [root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-service=dns |
5 | [root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-service=freeipa-ldaps |
7 | [root@adserver samba-4.10.2# firewall-cmd --permanent --zone=public --add-service=freeipa-trust |
9 | [root@adserver samba-4.10.2]# firewall-cmd --reload |
11 | [root@adserver samba-4.10.2]# firewall-cmd --list-all |
14 | icmp-block-inversion: no |
17 | services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust |
26 | [root@adserver samba-4.10.2# |
1 | [root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-port=49152-65535/tcp |
3 | [root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-port=3269/tcp |
5 | [root@adserver samba-4.10.2]# firewall-cmd --reload |
7 | [root@adserver samba-4.10.2]# firewall-cmd --list-all |
10 | icmp-block-inversion: no |
13 | services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust |
14 | ports: 49152-65535/tcp 3269/tcp |
22 | [root@adserver samba-4.10.2]# |
18. systemdへの登録
systemdへの登録については「Managing the Samba AD DC Service Using Systemd」を参照のこと
CentOS6の場合は「Managing the Samba AD DC Service Using an Init Script」
以上で設定は終了です。
“Samba 4.10.xでActive Directoryを1から立てる” への1件の返信