Loading...

Bài 66: Dynamic NAT & PAT (NAT Overload) — Cấu Hình Thực Chiến

💡 Liên hệ thực tế

Ở Bài 65, Static NAT cần 1 địa chỉ Public cho mỗi thiết bị — không thực tế cho 50 máy trạm văn phòng. Giải pháp: Dynamic NAT (dùng chung 1 dải địa chỉ Public, cấp phát linh động), và đặc biệt là PAT (Port Address Translation) — kỹ thuật giúp hàng trăm thiết bị chia sẻ chung đúng 1 địa chỉ Public duy nhất, chính là cách hầu như mọi mạng gia đình/văn phòng đang kết nối Internet ngày nay.

Nhưng PAT chỉ giải quyết đúng 1 chiều: thiết bị nội bộ ra Internet. Nếu VNExperts có 1 Web Server nội bộ cần cho khách hàng/đối tác truy cập từ ngoài Internet vào — trong khi công ty chỉ có đúng 1 địa chỉ Public đang dùng chung cho PAT — thì cần thêm 1 kỹ thuật nữa: Port Forwarding, sẽ tìm hiểu ở phần cuối bài này.


📘 Kiến thức cốt lõi

1. Dynamic NAT — dùng 1 "hồ chứa" (pool) địa chỉ Public, cấp phát khi cần:

Router(config)# access-list 1 permit 192.168.10.0 0.0.0.255
Router(config)# ip nat pool NAT-POOL 209.165.200.225 209.165.200.238 prefix-length 28
Router(config)# ip nat inside source list 1 pool NAT-POOL

📎 ACL số 1 ở đây không phải để lọc chặn, mà chỉ đóng vai trò "matcher" — xác định dải địa chỉ Private nào được phép NAT. Router cấp phát 1 địa chỉ IP Public còn trống trong dải 209.165.200.225 → 209.165.200.238 (14 địa chỉ) cho mỗi thiết bị nội bộ khi cần, và thu hồi lại khi thiết bị ngừng giao tiếp.

⚠️ Vấn đề của Dynamic NAT thuần túy: nếu số thiết bị nội bộ nhiều hơn số địa chỉ trong pool (hơn 14 thiết bị cùng ra Internet), các kết nối mới sẽ bị từ chối cho đến khi có địa chỉ trống — đây chính là lý do PAT ra đời để giải quyết triệt để.

2. PAT (Port Address Translation) / NAT Overload — giải pháp phổ biến nhất trong thực tế:

Router(config)# access-list 1 permit 192.168.10.0 0.0.0.255
Router(config)# ip nat pool NAT-PAT-POOL 203.0.113.9 203.0.113.9 prefix-length 28
Router(config)# ip nat inside source list 1 pool NAT-PAT-POOL overload

📎 Từ khóa overload chính là "chìa khóa" biến Dynamic NAT thành PAT — cho phép nhiều thiết bị cùng dùng chung 1 địa chỉ Public duy nhất, phân biệt nhau bằng số cổng (port) khác nhau. Ví dụ 192.168.10.10 và 192.168.10.11 có thể cùng dùng địa chỉ 203.0.113.9, nhưng 1 bên qua cổng 53133, bên kia qua cổng 56311 — Router dựa vào cặp (IP, port) để biết chính xác gói phản hồi thuộc về ai.

Cách cấu hình phổ biến nhất trong thực tế — dùng luôn IP của Interface, không cần Pool riêng:

Router(config)# ip nat inside source list 1 interface gigabitEthernet 0/1 overload

💡 Đây là cấu hình phổ biến nhất cho mạng nhỏ/vừa chỉ có 1 địa chỉ Public duy nhất (điển hình như đường Internet gia đình, văn phòng nhỏ) — dùng thẳng địa chỉ đã gán trên Interface Gi0/1 làm địa chỉ chia sẻ chung, không cần khai báo ip nat pool riêng biệt.

PAT (NAT Overload) — Nhiều thiết bị chia sẻ 1 địa chỉ Public qua Port Sơ đồ minh họa 2 máy trạm với địa chỉ nội bộ khác nhau cùng dùng chung 1 địa chỉ Public duy nhất 203.0.113.9 khi ra Internet, được phân biệt nhờ số cổng port khác nhau gắn kèm theo mỗi kết nối PAT (NAT Overload): Chia Sẻ 1 IP Public Qua Số Cổng (Port) Máy Trạm 1 (PC 1) 192.168.10.10:53133 Máy Trạm 2 (PC 2) 192.168.10.11:56311 Router PAT (ip nat inside overload) Internet IP Public: 203.0.113.9 BẢNG DỊCH PAT (PAT TRANSLATIONS TABLE) Inside Local Inside Global 192.168.10.10:53133 203.0.113.9:53133 192.168.10.11:56311 203.0.113.9:56311

3. Port Forwarding (Static PAT) — mở đường cho Internet truy cập vào server nội bộ:

PAT vừa học giải quyết chiều outbound (thiết bị nội bộ ra Internet). Nhưng nếu VNExperts có 1 Web Server đặt trong mạng nội bộ (192.168.10.100), và địa chỉ Public 203.0.113.9 đang dùng chung cho PAT — làm sao client ngoài Internet truy cập được vào server đó?

Câu trả lời là Port Forwarding, hay còn gọi đúng tên kỹ thuật là Static PAT: ánh xạ cố định 1 cổng cụ thể trên địa chỉ Public tới đúng 1 cổng trên 1 thiết bị nội bộ cụ thể.

Router(config)# ip nat inside source static tcp 192.168.10.100 80 203.0.113.9 80

📎 Lệnh trên: mọi traffic đến 203.0.113.9:80 (cổng 80 — HTTP) sẽ được Router tự động chuyển tiếp vào đúng 192.168.10.100:80 — trong khi mọi thiết bị nội bộ khác vẫn tiếp tục dùng chung 203.0.113.9 qua PAT động như bình thường cho việc ra Internet.

🎯 Khác biệt cốt lõi so với Static NAT (Bài 65) và PAT động (mục trên): Static NAT ánh xạ toàn bộ địa chỉ IP 1-1, PAT động cấp phát cổng ngẫu nhiên cho chiều outbound, còn Port Forwarding ánh xạ cố định 1 cổng cụ thể để mở đường cho chiều inbound — cả 3 kỹ thuật có thể cùng tồn tại song song trên 1 Router.

Port Forwarding (Static PAT) — Mở Đường Cho Internet Vào Server Nội Bộ Sơ đồ giải thích cách Router sử dụng quy tắc Static PAT để ánh xạ cố định một cổng IP Public vào Web Server nội bộ, đồng thời chạy song song với PAT động dành cho các PC khác. Port Forwarding (Static PAT) — Mở Đường Cho Internet Vào Server Nội Bộ Ánh xạ cố định 1 cổng trên IP Public tới đúng 1 thiết bị nội bộ cụ thể Client Internet Truy cập Web Server 203.0.113.9 : 80 Router (PAT) IP Public: 203.0.113.9 Static PAT Rule :80 → 192.168.10.100:80 (cố định, luôn đúng 1 đích) 192.168.10.100:80 Web Server 192.168.10.100 PC 1 (PAT động) 192.168.10.10 PC 2 (PAT động) 192.168.10.11 🎯 Điểm khác biệt cốt lõi Static PAT: Ánh xạ CỐ ĐỊNH 1 cổng → Luôn đúng 1 đích (Cho phép Internet chủ động kết nối VÀO) PAT động: Cấp cổng NGẪU NHIÊN mỗi lần kết nối (Chỉ cho thiết bị nội bộ chủ động kết nối RA Internet) 💡 Port Forwarding và PAT động có thể cùng chạy song song trên 1 Router mà không gây xung đột

5. Kiểm tra bảng NAT khi PAT đang hoạt động — chú ý cột port:

Router# show ip nat translations
Pro  Inside global         Inside local          Outside local    Outside global
icmp 203.0.113.9:512       192.168.10.10:512     4.4.4.4:512      4.4.4.4:512
tcp  203.0.113.9:53133     192.168.10.10:53133   93.184.216.34:80 93.184.216.34:80
tcp  203.0.113.9:56311     192.168.10.11:56311   93.184.216.34:80 93.184.216.34:80
tcp  203.0.113.9:80        192.168.10.100:80     ---              ---

💡 So với Static NAT (Bài 65), điểm khác biệt lớn nhất là mỗi dòng đều có kèm số port (:512:53133,:56311) — đây chính là cơ chế giúp phân biệt các thiết bị khác nhau dù cùng dùng chung 1 địa chỉ 203.0.113.9

📎 Dòng cuối cùng (203.0.113.9:80 ↔ 192.168.10.100:80) chính là kết quả của Static PAT (Port Forwarding) đã cấu hình ở trên — khác biệt rõ rệt so với 3 dòng PAT động phía trên ở 2 điểm:

  • Cột Outside local/global hiển thị ---: vì đây là ánh xạ cố định (static), tồn tại thường trực trong bảng NAT ngay cả khi chưa có client nào kết nối tới — không giống PAT động chỉ xuất hiện khi có phiên đang hoạt động. Khi có client Internet thực sự kết nối vào, cột Outside sẽ hiển thị đúng địa chỉ/port của client đó.
  • Port :80 không đổi: trong khi PAT động cấp port ngẫu nhiên (:53133, :56311), Static PAT giữ nguyên đúng port đã khai báo (80), vì mục đích là để client Internet luôn biết chính xác cổng cần gõ vào khi truy cập (203.0.113.9:80), không thể để Router tự đổi port ngẫu nhiên như PAT động.

💬 Hỏi & Đáp nhanh

❓ Vì sao ACL dùng trong lệnh ip nat inside source list lại không nên viết permit any? 

✅ Cisco khuyến nghị mạnh mẽ không dùng permit any trong ACL gắn với NAT — vì điều này có thể vô tình cho phép NAT dịch cả những địa chỉ không mong muốn (kể cả địa chỉ Public hoặc dải đặc biệt), gây ra hành vi khó lường. Luôn khai báo rõ ràng đúng dải mạng nội bộ cần NAT.

❓ PAT có giới hạn số lượng thiết bị có thể chia sẻ chung 1 địa chỉ Public không? 

✅ Có giới hạn về mặt lý thuyết — vì số cổng (port) khả dụng có giới hạn (khoảng 65,536 port), nhưng trong thực tế con số này đủ lớn để phục vụ hàng trăm, thậm chí hàng nghìn kết nối đồng thời từ 1 địa chỉ Public duy nhất — đây là lý do PAT trở thành giải pháp chuẩn cho hầu hết mạng gia đình/doanh nghiệp nhỏ hiện nay.

Nếu không cấu hình Port Forwarding, client ngoài Internet có tự kết nối được vào server nội bộ đang dùng chung PAT không?
❌ Không — mặc định, PAT chỉ cho phép kết nối khởi tạo từ bên trong ra ngoài; Router không biết chuyển tiếp traffic đến vào đúng thiết bị nội bộ nào nếu không có ánh xạ cổng cố định. Đây chính là lý do cần Port Forwarding (Static PAT) cho bất kỳ dịch vụ nào cần client bên ngoài chủ động kết nối vào (web server, camera giám sát, remote desktop...).

❓ Có cần tạo ip nat pool riêng nếu chỉ có đúng 1 địa chỉ Public (chính là IP của Interface WAN)? 

❌ Không cần — như đã học ở phần cấu hình, có thể dùng trực tiếp ip nat inside source list 1 interface gigabitEthernet 0/1 overload, tận dụng luôn địa chỉ đã gán sẵn trên Interface, không cần khai báo Pool riêng biệt cho trường hợp phổ biến này.


📝 Bài tập đánh giá

Câu 1: Từ khóa nào biến Dynamic NAT thành PAT, cho phép nhiều thiết bị chia sẻ 1 địa chỉ Public?

  • A. pool
  • B. overload
  • C. static
  • D. translate

Câu 2: VNExperts có Web Server nội bộ tại 192.168.10.100, muốn client Internet truy cập được qua 203.0.113.9:80, trong khi các thiết bị khác vẫn dùng PAT động bình thường để ra Internet. Kỹ thuật nào cần dùng?

  • A. Dynamic NAT thuần túy với pool riêng
  • B. Port Forwarding (Static PAT)
  • C. Tăng số lượng địa chỉ trong ip nat pool
  • D. Tắt hẳn PAT, chuyển toàn bộ sang Static NAT

Câu 3: Trong bảng show ip nat translations của PAT, yếu tố nào giúp phân biệt các thiết bị khác nhau cùng dùng chung 1 địa chỉ Public?

  • A. Địa chỉ MAC
  • B. Số cổng (port)
  • C. Tên máy tính (hostname)
  • D. Thời gian kết nối

👉 Đáp án:

Câu 1: B — Từ khóa overload kích hoạt cơ chế PAT, cho phép nhiều thiết bị nội bộ chia sẻ chung 1 (hoặc vài) địa chỉ Public.

Câu 2: B — Port Forwarding (Static PAT) ánh xạ cố định 1 cổng cụ thể trên IP Public tới đúng thiết bị nội bộ, cho phép truy cập từ Internet vào, trong khi các thiết bị khác vẫn tiếp tục dùng PAT động bình thường.

Câu 3: B — Số cổng (port) đi kèm mỗi địa chỉ IP là yếu tố giúp Router phân biệt chính xác từng thiết bị/kết nối khi nhiều thiết bị cùng dùng chung 1 địa chỉ Public.


📚 Bài viết thuộc khóa học CCNA của VNExperts

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Bài 65: Static NAT Mục lục khóa học CCNA Bài 67: QoS cơ bản — vì sao video call cần ưu tiên hơn tải file