CISCO IOS DYNAMIC NAT: CƠ CHẾ CẤP PHÁT ĐỊA CHỈ ĐỘNG KHI RA INTERNET 
Chắc hẳn mọi người không còn lạ lẫm gì với khái niệm NAT (Network Address Translation) – chiếc phao cứu sinh giúp chúng ta tiết kiệm không gian địa chỉ IPv4 công cộng (Public IP) đang ngày càng cạn kiệt. Nếu như Static NAT là cơ chế "1-đổi-1" cố định, khá lãng phí và thường chỉ dùng cho các Server nội bộ, thì Dynamic NAT (NAT động) lại mang đến một tư duy linh hoạt hơn rất nhiều.
Hãy tưởng tượng doanh nghiệp của bạn mua một gói thầu internet và được ISP cấp cho một dải gồm 5 IP Public. Trong khi đó, văn phòng của bạn lại có đến 50 nhân viên. Làm thế nào để 50 con người này có thể luân phiên nhau sử dụng 5 IP Public đó để ra Internet một cách mượt mà? Câu trả lời chính là Dynamic NAT – cơ chế gom IP Public vào một "bể chứa" (Pool) và cấp phát động cho bất kỳ máy Inside nào có nhu cầu.
Hôm nay, hãy cùng tôi cấu hình thực chiến tính năng này trên Cisco IOS theo đúng sơ đồ tài liệu nhé! 1. MÔ HÌNH VÀ CHUẨN BỊ THIẾT BỊ HẠ TẦNG (BÁM SÁT TÀI LIỆU)
Để dễ hình dung, chúng ta có một mô hình mạng bao gồm:
- Phía bên trái (INSIDE): Gồm hai Router đóng vai trò làm máy trạm là Host1 và Host2 nằm trong dải mạng nội bộ 192.168.123.0/24. Gateway của chúng là IP 192.168.123.3.
- Ở giữa (NAT Router): Thiết bị thực hiện biên dịch NAT. Cổng FastEthernet 0/0 hướng vào bên trong (Inside) sở hữu IP 192.168.123.3. Cổng FastEthernet 1/0 hướng ra bên ngoài (Outside) sở hữu IP 192.168.23.3.
- Phía bên phải (OUTSIDE): Một Router đóng vai trò là Web Server ngoài Internet (Web1) nằm trong dải mạng 192.168.23.0/24 với IP 192.168.23.1.
Cấu hình trên Host1: Host1(config)# no ip routing Host1(config)# ip default-gateway 192.168.123.3
Cấu hình trên Host2: Host2(config)# no ip routing Host2(config)# ip default-gateway 192.168.123.3 2. TIẾN TRÌNH 4 BƯỚC CẤU HÌNH DYNAMIC NAT TRÊN ROUTER NAT
Bây giờ, chúng ta tập trung toàn bộ cấu hình lên thiết bị trung tâm là NAT Router. Tiến trình cấu hình bao gồm các bước sau:
Bước 1: Xác định ranh giới Inside và Outside Chúng ta cần chỉ định rõ cho Router biết cổng nào là vùng an toàn nội bộ và cổng nào là vùng internet công cộng: NAT(config)# interface fastEthernet 0/0 NAT(config-if)# ip nat inside NAT(config)# interface fastEthernet 1/0 NAT(config-if)# ip nat outside
Bước 2: Tạo "Bể chứa" IP Public (NAT Pool) Giả sử nhà mạng ISP cấp cho chúng ta một dải IP Public từ 192.168.23.10 đến 192.168.23.20. Chúng ta sẽ tạo một cái Pool có tên là MYPOOL để chứa dải IP này: NAT(config)# ip nat pool MYPOOL 192.168.23.10 192.168.23.20 netmask 255.255.255.0
Bước 3: Tạo Access List (ACL) để định nghĩa nguồn traffic được phép NAT Chúng ta cần một "màng lọc" để cho phép những máy nào trong mạng nội bộ được quyền lấy IP từ Pool ra ngoài. Ở đây, chúng ta cho phép toàn bộ dải 192.168.123.0/24: NAT(config)# access-list 1 permit 192.168.123.0 0.0.0.255
Bước 4: Thiết lập lệnh ràng buộc Dynamic NAT Đây là câu lệnh kết nối tất cả các thành phần trên lại với nhau. Chúng ta ra lệnh cho Router: "Bất kỳ traffic nào khớp với Access-list 1 (Inside), hãy dịch nó sang một IP động nằm trong bể chứa MYPOOL (Outside)": NAT(config)# ip nat inside source list 1 pool MYPOOL 3. XÁC MINH CƠ CHẾ HOẠT ĐỘNG VÀ PHÂN TÍCH BẢNG NAT (VERIFICATION)
Sau khi cấu hình xong, hệ thống vẫn chưa có bất kỳ sự chuyển đổi nào vì chưa có traffic phát sinh. Để kiểm tra, chúng ta đứng từ các máy Host gửi yêu cầu kết nối đến Web Server Web1 (192.168.23.1).
Thử nghiệm từ Host1: Host1# ping 192.168.23.1 Kết quả ping thành công!
Thử nghiệm từ Host2: Host2# ping 192.168.23.1 Kết quả ping tiếp tục thành công!
Ngay lập tức, chúng ta quay trở lại NAT Router để kiểm tra bảng biên dịch bằng lệnh quen thuộc: NAT# show ip nat translations
Màn hình sẽ hiển thị các dòng trạng thái biên dịch chi tiết như sau:
- Tuyến của Host1: Địa chỉ Inside local 192.168.123.1 đã được ánh xạ sang địa chỉ Inside global đầu tiên trong Pool là 192.168.23.10.
- Tuyến của Host2: Địa chỉ Inside local 192.168.123.2 được ánh xạ sang địa chỉ tiếp theo trong Pool là 192.168.23.11. Cả hai máy đều đang kết nối đến cổng Outside global/local là 192.168.23.1.
LỜI KHUYÊNTrong phần thảo luận chuyên sâu của tài liệu, có một khái niệm rất hay mà các kỹ sư thường gặp là sự phân biệt giữa Simple translation (Biên dịch đơn giản) và Extended translation (Biên dịch mở rộng).
- Nếu bảng NAT chỉ ánh xạ thuần túy một IP nội bộ sang một IP công cộng, đó là Simple.
- Nếu chúng ta muốn ép việc dịch thuật phải đi kèm chi tiết số cổng Port (như giao thức TCP/UDP), chúng ta có thể chèn thêm từ khóa extendable trong các câu lệnh cấu hình static nâng cao: ip nat inside source static tcp 192.168.1.4 25 199.198.5.1 25 extendable. Điều này cho phép anh em tận dụng tối đa một IP Public duy nhất nhưng mở được nhiều dịch vụ khác nhau (như Web cổng 80, Mail cổng 25) cho các IP Inside khác nhau mà không sợ xung đột.
#VnPro#CCNA#CCNP#CCIE#NAT#DynamicNAT#CiscoIOS#NetworkConfiguration#RoutingAndSwitching#EnterpriseNetwork