# Giới thiệu Bài Lab Load Balancing
> ### 🚀 Giới thiệu Lab: Load Balancing cho Web Server
>
> Hãy tưởng tượng website công ty bạn bỗng dưng nổi tiếng, lượng truy cập tăng vọt như sóng thần, và **server duy nhất đang “khóc thét” vì quá tải** 😱.
>
> Lab này sẽ giúp bạn **trở thành cứu tinh của server**, học cách **Load Balancing** – phân phối lưu lượng đều giữa nhiều máy chủ, đảm bảo hệ thống luôn **mượt mà, ổn định** và không bị sập trong giờ cao điểm.
>
> ### Trong Lab, bạn sẽ thực hành:
> - **Cài đặt và cấu hình Load Balancer** cho các Web Server.
> - Áp dụng các chiến lược phân phối tải như **Round Robin** và **Least Connections**.
> - Kiểm tra hệ thống khi một server “nổi hứng nghỉ phép” 😎.
> - **Giám sát và tối ưu hiệu năng**, tránh tình trạng server bị quá tải.
Mô hình bài lab:

# Bài tập: NAT Port & Load Balancing cho Web Cty.net
Trong bài tập này, tập trung vào cơ chế là **NAT Port trên Router**
để người dùng truy cập website của **Cty.net**.
---
## I. Yêu cầu bài toán
- Trong mạng nội bộ có **2 máy chủ Web Server**, cùng chạy một website giống nhau.
- Cần cấu hình sao cho khi client bên ngoài truy cập vào **IP WAN của Router port 80**, hoặc 1 tên miền đã được phần giải về **IP WAN của Router** cả **2 Web Server** đều có thể nhận yêu cầu.
- Máy chủ nào **tải thấp hơn** sẽ đảm nhiệm xử lý và phản hồi yêu cầu từ người dùng.
### Hạn chế khi NAT thông thường
- Khi NAT qua IP WAN của Router, **1 port chỉ ánh xạ được vào 1 server duy nhất**.
- Gây **bất tiện**:
- `http://192.168.1.5:800` → Server2 (**gây bất tiện cho người dùng khi truy cập web**)
- `http://192.168.1.5` → Server1 (**hợp lý**)
**Mục tiêu:**
- Người dùng chỉ cần truy cập: `http://192.168.1.5`
- Có thể được điều hướng và truy cập vào **Server1** hoặc **Server2**.
---
## II. Các kịch bản triển khai
### 1. Test cơ chế *Round Robin* trên DNS nội bộ
- Khi client truy cập thông qua **DNS nội bộ**, DNS sẽ thực hiện cơ chế **xoay vòng (Round Robin)**.
- Các Web Server sẽ **luân phiên phản hồi truy vấn** từ client.
- Trỏ bản ghi phân giải web về **IP của 2 web server**

- Kết quả client trong nội bộ truy cập web bình thường

---
### 2. NAT Port trên Router
Cấu hình ánh xạ port (Port Forwarding) như sau:
| IP WAN (Router) | Port | IP LAN (Server) | Port |
|--------------------|------|------------------|------|
| `192.168.1.5` | 80 | `192.168.9.11` | 80 |
| `192.168.1.5` | 800 | `192.168.9.12` | 800 |



### 3. Network Load Balancing (NLB)
- Cài đặt **Network Load Balancing** trên các server để tham gia vào **1 cụm cluster**.



- Một "node" sẽ đứng ra **kéo các node khác vào cluster**.
#### Lưu ý về quyền
| Môi trường | Quyền cần thiết |
|-----------------|--------------------------------------|
| **Domain** | Sử dụng **useradmin domain** có đủ quyền. |
| **Workgroup** | Cần khai báo**admin local** trên từng node. |
Đứng từ server1 kéo các node-server2 vào cluster, thiết lập các thông số
Các thông số này đã được giải thích ở phần sau.





Kiểm tra kết quả: node-server được thêm vào cluster thành công
Đưa node-server 1 vào cluster


Tiếp tục Next để hoàn thành cấu hình
### Priority & IP-Cluster
- Có thể thiết lập **priority** cho từng server để quyết định thứ tự xử lý.
- **IP-Cluster:** địa chỉ IP chung được dùng cho tất cả các node trong cluster.
- Khi tạo **IP-Cluster**, một **MAC ảo** sẽ được sinh ra và gán cho tất cả các node, đảm bảo traffic được định tuyến đúng.
## III. Các chế độ cấu hình NLB
### 1. Unicast Mode
> - 1 **MAC ảo duy nhất** được cấp cho card mạng vật lý của tất cả node.
> - **Không sử dụng MAC gốc** của node.
> - Mọi gói dữ liệu đến đều được **nhận bởi tất cả node**, nhưng chỉ **1 node xử lý và trả lời**.
> - Các node **không thể giao tiếp với nhau**.
---
### 2. Multicast Mode
> - 1 **MAC ảo** được cấp cho card mạng của tất cả node.
> - Địa chỉ **MAC gốc vẫn được sử dụng**.
> - Chỉ **1 node xử lý gói tin đến**.
---
## IV. Trạng thái hội tụ (Converge)
### 1. Kiểm tra hội tụ
Khi các node cùng đạt trạng thái **Converged**, tức là chúng đã **hội tụ và đồng bộ** trong cluster.

### 2. Chỉnh cấu hình NAT port
Tiến hành chỉnh lại cấu hình phần NAT port, lúc này chỉ NAT port 80 trên IP Wan và ánh xạ về IP cluster

### 3. Test lại kết quả truy cập web
Kết quả truy vấn web từ bên ngoài thành công, lúc sẽ vào web trên server1, lúc sẽ vào web trên server2
