Red Hat - Nâng cấp server lên Domain Controller và join Domain


Domain Controller (DC):  được phát triển bởi Microsoft. DC có chức năng quản lý một cách tập trung một mạng máy tính hay tập hợp các tài khoản người dùng và tài khoản máy tính được nhóm lại với nhau.

Vậy bài toán ở đây là đang dùng Red Hat và muốn có DC để quản lý và join domain như trên windows, để giải quyết bài toán này thì trên Linux có SAMBA4.





Bắt đầu cài Samba4 : (Tham khảo wiki.samba.org )
-Một phiên bản red hat mới khi chưa add license thì khi cài đặt repo sẽ gặp một số vấn đề, nếu chưa add thì chạy dòng lệnh này : subscription-manager register
Khi yêu cầu thông tin thì nhập user /pass đăng ký tại trang chủ để xác nhận licene.
- Sau khi đã hoàn tất về phần thủ tục license ... bắt đầy mount .ISO cài red hat vào để tự động nhận repo.



Tiến hành chạy dòng lệnh sau :

# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \
       libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \
       perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \
       python-crypto gnutls-devel libattr-devel keyutils-libs-devel \
       libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \
       pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel



Tiếp theo ta chạy dòng lệnh để tải gói Samba mới nhất về :
$wget https://download.samba.org/pub/samba/stable/samba-4.7.5.tar.gz


Tiến hành xã nén gói Samba vừa tải về :

[administrator@dc1 ~]$tar -xvf samba-4.7.5.tar.gz 

[administrator@dc1 ~]$ cd samba-4.7.5/

[administrator@dc1 samba-4.7.5]$ ./configure

Khi nào hiện ra dòng bên dưới là đã cài thành công

'configure' finished successfully

[administrator@dc1 samba-4.7.5]$ ./make

[administrator@dc1 samba-4.7.5]$ ./make install

verry low

[root@dc1 samba-4.7.5]# nano ~/.bashrc


Thêm dòng path vào file bashrc

export PATH="/usr/local/samba/sbin:/usr/local/samba/bin:$PATH"

[root@dc1 samba-4.7.5]# nano /etc/resolv.conf 

Khi quá trình cài đặt hoàn tất cần check lại thông tin kiểm tra về domain...
# samba-tool domain provision --help

# samba-tool domain provision --use-rfc2307 --interactive

[root@dc1 samba-4.7.5]# samba-tool domain provision --use-rfc2307 --interactive
Realm [PHAMQUANGLOC.LOCAL]:

Khi enter xuống hàng nếu báo lỗi thì dùng lệnh sau khoá dòng này lại

[root@dc1 krb5.conf.d]# nano /etc/krb5.conf
#includedir /etc/krb5.conf.d/


Có thể check thử samba chạy chưa bằng lệnh
[root@dc1 krb5.conf.d]# samba                                              [root@dc1 krb5.conf.d]# ps -ef | grep samba  

Mặc định khi Samba cài đặt xong sẽ không khởi động cùng hệ thống, muốn cho nó tự động chạy phải viết script cho nó.

[root@dc1 krb5.conf.d]# nano /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

Ta phân quyền cho file samba 4vừa tạo và thêm nó vào service hệ thống

[root@dc1 krb5.conf.d]# chmod 775 /etc/init.d/samba4
[root@dc1 krb5.conf.d]# chkconfig --add samba4
[root@dc1 krb5.conf.d]# chkconfig samba4 on

Khởi động

[root@dc1 krb5.conf.d]# service samba4 restart

Restarting samba4 (via systemctl):                         [  OK  ]

[root@dc1 krb5.conf.d]

Kiểm tra xem trên server đã nhận đúng thông tin domain



[root@dc1 krb5.conf.d]#host -t SRV _ldap._tcp.phamquangloc.local

Kiểm tra thông tin Firewall chạy chưa

firewall-cmd --permanent --zone=public --add-service=dns
systemctl start firewalld
firewall-cmd --permanent --zone=public --add-service=dns


Lưu ý : Nếu quá trình thực hiện có lỗi phát sinh do port ... chèn thêm các dòng lệnh bên dưới.

[root@dc1 krb5.conf.d]# firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add-port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \
firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \
firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \
firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \
firewall-cmd --add-port=1024-5000/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent
[root@dc1 krb5.conf.d]# firewall-cmd --reload

Khi tất cả mọi thứ hoàn tất, server chạy domain ok thì bắt đầu join domain




Khi join domain thì sẽ dùng user gì :
Tạo user : administrator

[root@dc1 ~]# kinit administrator@PHAMQUANGLOC.LOCAL
Password for administrator@PHAMQUANGLOC.LOCAL:

Nếu bị lỗi thì thêm dòng này vào là xong

[root@dc1 ~]# nano /etc/krb5.conf

[libdefaults]
default_realm = PHAMQUANGLOC.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true
[realms]
        PHAMQUANGLOC.LOCAL = {
                kdc = DC1.PHAMQUANGLOC.LOCAL:88
                admin_server = DC1.PHAMQUANGLOC.LOCAL
                default_domain = PHAMQUANGLOC.LOCAL
        }


Sau khi hoàn tất




Câu hỏi đặt ra bây giờ? Thằng Sysadmin sẽ ngồi gõ lệnh để quản trị mọi thứ hay sao, why not?

1. Có thể quản trị bằng lệnh command line : chi tiết sử dụng command line
2. Mượn 1 máy windowns cài rsat samba4 để quản trị (tương tự windowns server) : chi tiết rsat










Nhãn: