Дорого всем времечка. Сегодня я расскажу вам, как поставить samba4 без BIND DLZ, а точнее как это сделать быстро и просто. Нам поможет в этом SAMBA_INTERNAL. Как указанно в ОФИЦАЛЬНОЙ WIKI (большими буквами для особо одаренных, обвиняющих меня в плагиате) – SAMBA_INTERNAL, дает нам динамически обновляемую зону DNS прямо из коробки. Я думаю многим пригодиться данная статья, т. к. настройка через BIND представляется довольно проблематичной и сырой. И так, теперь о минусах:
SAMBA_INTERNAL не имеет обратной зоны, вы ее можете создать, но обновлять он ее не будет — по крайней мере я так и не нашел, как же это сделать. Как оказалось – ларчик просто открывался. Для обновления обратной (равно как и прямой) зон, нужно сделать следующие: поменять nsupdate command = samba-nsupdate -g на nsupdate command = /usr/bin/nsupdate -g (все изменения происходят в файле smb.conf)
SAMBA_INTERNAL не обновляется по ключу с DHCP сервера, точнее есть такая опция как allow dns updates и у нее есть значение signed. Но вот только, что то DHCP ну никак не обновляет зону…
Ну и последнее (в принципе это баг самой samba4 о чем есть заявление у них на ОФИЦАЛЬНОМ САЙТЕ), при выполнении команды samba_dnsupdate выдается сообщение об ошибках, хотя на самом деле все прекрасно обновляется.
Сразу отмечу тот факт, что если вы по какой то причине решили мигрировать зону с SAMBA_INTERNAL на BIND, то вы можете воспользоваться командой
1 | samba_dnsupdate --dns-backend=BIND9_DLZ |
(помните о том что перед samba_dnsupdate должен быть путь куда вы собрали samba4 ). Вам также необходимо поправить файл конфигурации samba4 — smb.conf, отредактировав в нем след. строку server services = удалив из нее опцию dns или изменить на -dns. В обратную же сторону, при смене BIND на SAMBA_INTERNAL процедура почти такая же, за исключением:
1 | samba_upgradedns --dns-backend=SAMBA_INTERNAL |
и добавление опции dns в строке server services файла smb.conf. И еще одно важное замечание: Отключайте ipv6. У многих возникали вопросы и проблемы с BIND да и вообще DNS при включенной поддержке ipv6 на samba4 AD, отключить ipv6 довольно просто (учтите, что в примере указан интерфейс моего сервера, у вас может быть и другой):
1 2 | nano /etc/sysconfig/network-scripts/ifcfg-eth0 NETWORKING_IPV6=no |
Вот собственно и вся предыстория, пора приступить. Начало точно такое же как и у статьи SAMBA4 + CENTOS, но для тех, кому лень тыкать да и для полноты картины я повторю:
Отключаем selinux:
1 2 3 4 5 | nano /etc/sysconfig/selinux SELINUX=disabled setenforce 0 |
Устанавливаем все необходимое:
1 | yum -y install gcc make wget python-devel gnutls-devel openssl-devel libacl-devel krb5-server krb5-libs krb5-workstation bind bind-libs bind-utils |
Качаем и компилим samba4 и тут у нас два варианта. Первый, классический как и в моей предыдущей статье через wget:
1 2 3 4 5 6 | wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz tar -xzvf samba-4.0.4.tar.gz cd ./samba-4.0.4 ./configure --enable-selftest make make install |
Второй, через git:
1 2 3 4 5 | yum -y install git-core git clone git://git.samba.org/samba.git samba-master cd samba-master ./configure --enable-selftest make && make install |
И вот мы подошли к нашей SAMBA_INTERNAL:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /usr/local/samba/bin/samba-tool domain provision Realm [TEST.LOCAL]: Domain [TEST]: (Enter) 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) [192.168.0.1]: 8.8.8.8 Administrator password: 'Ваш пароль' Retype password: 'Ваш пароль' |
Ну и второй вариант, так сказать в одну строку:
1 | /usr/local/samba/bin/samba-tool domain provision --realm=test.local --domain=TEST --adminpass 'Ваш пароль' --server-role=dc --dns-backend= SAMBA_INTERNAL |
Стартуем samba4:
1 | /usr/local/samba/sbin/samba |
Проверяем:
1 2 3 4 5 6 7 | /usr/local/samba/bin/smbclient -L localhost -U% host -t SRV _ldap._tcp.test.local. host -t SRV _kerberos._udp.test.local. host -t A samba.test.local. |
Ну и настраиваем iptables:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | nano /etc/sysconfig/iptables -A INPUT -m udp -p udp --dport 53 -m comment --comment "DNS" -j ACCEPT -A INPUT -m udp -p udp --dport 123 -m comment --comment "NTP" -j ACCEPT -A INPUT -m udp -p udp --dport 135 -m comment --comment "RPC UDP" -j ACCEPT -A INPUT -m udp -p udp --dport 138 -m comment --comment "NetBIOS Netlogon and Browsing" -j ACCEPT -A INPUT -m udp -p udp --dport 389 -m comment --comment "LDAP UDP" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 88 -m comment --comment "Kerberos" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 464 -m comment --comment "Kerberos Password Management" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -m comment --comment "NetBIOS Session" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -m comment --comment "SMB CIFS" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -m comment --comment "LDAP TCP" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 636 -m comment --comment "LDAP SSL" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3268 -m comment --comment "LDAP Global Catalog" -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3269 -m comment --comment "LDAP Global Catalog SSL" -j ACCEPT |
Процесс управления данным доменом такая же как описано в моей предыдущей статье, никаких отличий. На этом все. Всем удачи и успехов во всех начинаниях.
Добавить комментарий