Hướng dẫn Join VMware ESXi vào Active Directory: Quản lý tập trung và phân quyền chuyên nghiệp

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

Cảnh tượng quen thuộc: Cực hình khi dùng tài khoản local

Nếu bạn chỉ quản lý 1-2 máy chủ ESXi, việc dùng tài khoản root có lẽ vẫn ổn. Tuy nhiên, hãy nhìn vào thực tế khi hệ thống bắt đầu nở ra. Tại đơn vị mình đang vận hành, con số này là 12 host ESXi. Cứ mỗi lần thay đổi chính sách mật khẩu hoặc có nhân sự IT mới, mình phải đăng nhập vào từng con host để thao tác thủ công. Đây thực sự là một quy trình lặp đi lặp lại rất lãng phí thời gian.

Về mặt bảo mật, việc nhiều người dùng chung một tài khoản root là lỗ hổng cực lớn. Khi có sự cố như một máy ảo (VM) quan trọng bị xóa nhầm, bạn sẽ không cách nào truy vết được ai là người thực hiện. Đó là lý do tại sao việc đưa các host ESXi gia nhập (join) vào Windows Active Directory (AD) là nhiệm vụ bắt buộc. Nó giúp bạn quản trị danh tính từ một nơi duy nhất và tận dụng được chính sách bảo mật sẵn có của doanh nghiệp.

Cơ chế “bắt tay” giữa ESXi và Active Directory

Khi join domain, ESXi sẽ chuyển giao quyền xác thực cho Windows Domain Controller (DC) thông qua giao thức Kerberos. Thay vì tra cứu mật khẩu trong file nội bộ, ESXi sẽ hỏi DC xem thông tin đăng nhập đó có hợp lệ hay không.

Việc này mang lại hai thay đổi lớn cho quy trình quản trị:

  • Authentication (Xác thực): Đăng nhập trực tiếp bằng định dạng user@domain (ví dụ: [email protected]) trên cả Web Client và SSH.
  • Authorization (Phân quyền): Gán quyền dựa trên Group. Ví dụ: nhóm SA_Admins có toàn quyền, còn nhóm App_Dev chỉ được bật/tắt máy ảo nhất định.

Kinh nghiệm thực tế cho thấy, nếu bạn không chuẩn bị kỹ hạ tầng DNS và NTP, quá trình này sẽ thất bại ngay lập tức với những mã lỗi rất khó hiểu.

3 điều kiện cần kiểm tra trước khi thực hiện

Đừng vội bấm nút Join Domain. Hãy dành 5 phút để check danh sách dưới đây để tránh tốn cả tiếng đồng hồ xử lý lỗi sau đó.

1. Đồng bộ thời gian (NTP)

Kerberos cực kỳ khó tính với độ lệch thời gian. Nếu giờ trên ESXi và DC lệch nhau quá 300 giây (5 phút), yêu cầu xác thực sẽ bị từ chối. Hãy trỏ cả hai về cùng một nguồn NTP Server đáng tin cậy.

2. Phân giải tên miền (DNS)

ESXi cần biết IP của Domain Controller thông qua tên miền. Bạn phải cấu hình DNS trên ESXi trỏ về IP của các con DC. Quan trọng hơn, hãy đảm bảo bạn đã tạo bản ghi A và bản ghi ngược (PTR) cho host ESXi trên DNS Server của Windows.

3. Chuẩn bị Group trong Active Directory

Thay vì gán quyền cho từng người, hãy tạo một Group riêng, chẳng hạn ESXi_Full_Admins. Sau đó, bạn chỉ cần ném các tài khoản kỹ thuật vào nhóm này là xong.

Thực hành: Join ESXi vào Domain

Cách 1: Thao tác trên giao diện Web (ESXi Host Client)

Đây là lựa chọn phổ biến nhất cho những ai thích sự trực quan.

  1. Truy cập ESXi Web UI bằng quyền root.
  2. Tại menu Manage, chọn tab Security & users và tìm đến mục Authentication.
  3. Nhấn Join domain.
  4. Nhập FQDN của domain (ví dụ: itfromzero.vn) và thông tin tài khoản có quyền Join Domain.
  5. Đợi khoảng 30 giây. Nếu trạng thái chuyển sang “Leave domain”, bạn đã thành công một nửa.

Cách 2: Sử dụng dòng lệnh (CLI) cho dân chuyên

Nếu bạn muốn tự động hóa qua script, hãy dùng esxcli. Các lệnh cơ bản bao gồm:

# Đặt Hostname và FQDN chuẩn
esxcli system hostname set --host=esxi-01 --fqdn=esxi-01.itfromzero.vn

# Thêm DNS Server
esxcli network ip dns server add --server=192.168.1.10

# Lệnh Join Domain
esxcli system auth-domain join --domain=itfromzero.vn --user=administrator --password='Mật_Khẩu_Tại_Đây'

Lưu ý: Sau khi chạy xong, hãy xóa lịch sử lệnh hoặc cẩn thận với mật khẩu hiện trên màn hình nếu có người đứng cạnh.

Phân quyền: Bước cuối cùng để vận hành

Nhiều bạn thắc mắc tại sao join domain xong vẫn không đăng nhập được. Đó là vì bạn chưa cấp quyền cho user AD trên ESXi.

  1. Tại giao diện Web, vào Actions -> Permissions.
  2. Chọn Add user.
  3. Nhập chính xác tên nhóm AD theo cấu trúc: DOMAIN\Group_Name (Ví dụ: ITFROMZERO\ESXi_Full_Admins).
  4. Chọn Role là Administrator và nhớ tích vào Propagate to all children để quyền này áp dụng cho mọi tài nguyên trên host.

Bây giờ, hãy dùng trình duyệt ẩn danh để test. Đăng nhập bằng tài khoản AD cá nhân, nếu mọi thứ trơn tru thì xin chúc mừng, bạn đã thoát khỏi mớ hỗn độn của tài khoản local.

Giải mã các lỗi “nhức đầu” thường gặp

Trong quá trình quản lý thực tế, mình đúc kết được 3 lỗi hay gặp nhất:

  • Firewall chặn port: ESXi cần giao tiếp với DC qua port 88 (Kerberos), 389 (LDAP) và 445 (SMB). Nếu có firewall ở giữa, hãy đảm bảo các port này đã được thông suốt.
  • Dịch vụ lwsmd bị treo: Likewise Service Manager (lwsmd) là trái tim của việc kết nối domain. Nếu mất kết nối, hãy SSH vào và restart nó bằng lệnh: /etc/init.d/lwsmd restart.
  • Lỗi Clock Skew: Đây là lỗi lệch giờ đã đề cập ở trên. Đôi khi chỉ lệch 6 phút cũng khiến bạn loay hoay cả buổi chiều.

Lời kết

Join ESXi vào Active Directory không chỉ là tiện ích, đó là tiêu chuẩn chuyên nghiệp. Nó giúp hệ thống của bạn minh bạch hơn, an toàn hơn và cực kỳ nhàn nhã khi cần audit. Nếu hệ thống của bạn có từ 3 host trở lên, đừng chần chừ mà hãy triển khai ngay để giải phóng sức lao động cho chính mình.

Share: