Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [ccnp] làm chủ policy nat (conditional nat) cho hạ tầng đa isp

    LÀM CHỦ POLICY NAT (CONDITIONAL NAT) CHO HẠ TẦNG ĐA ISP


    Hãy tưởng tượng một kịch bản thực tế tại doanh nghiệp: Công ty bạn thuê 2 đường Internet từ ISP1 và ISP2. Trong LAN có một máy trạm của sếp sở hữu IP nội bộ là 192.168.1.101. Sếp đưa ra một yêu cầu cực kỳ ngặt nghèo: "Khi tôi kết nối đến Server kế toán của đối tác bên ISP1, IP của tôi phải được hiển thị dưới dạng IP Public của ISP1. Nhưng khi tôi truy cập vào hệ thống ERP của đối tác bên ISP2, IP của tôi phải tự động đổi sang IP Public của ISP2 để đồng bộ hệ thống định tuyến!"
    Nếu chỉ sử dụng NAT truyền thống (Dynamic NAT hoặc PAT Overload thông thường), Router chỉ nhìn vào IP nguồn của máy trạm để đổi màu gói tin. Nó hoàn toàn "mù lòa", không cần biết máy trạm đang đi đâu và muốn kết nối đến mục tiêu nào. Kết quả là gói tin đi hướng nào cũng chỉ dùng chung một IP Public cố định.
    Để giải quyết bài toán "NAT linh hoạt theo điểm đến" này, lúc này sẽ lập tức kích hoạt một giải pháp tối cao: Policy NAT (NAT theo chính sách). Hãy cùng tôi phân tích nhé! 1. BẢN CHẤT CỦA POLICY NAT: SỰ KẾT HỢP GIỮA NAT VÀ ROUTE-MAP


    Policy NAT (hay còn gọi là Conditional NAT) cho phép chúng ta ràng buộc các quy tắc NAT đi kèm với một Route-map. Bên trong Route-map, chúng ta sử dụng Extended Access-List để bắt (match) chính xác các điều kiện.
    Điểm khác biệt cốt lõi ở đây là gì?
    • NAT thông thường: Chỉ kiểm tra điều kiện "Ai là người gửi gói tin?" (Match Source IP).
    • Policy NAT: Kiểm tra toàn diện "Ai gửi gói tin? Gửi đến IP đích nào? Và đang sử dụng giao thức/cổng dịch vụ gì?" (Match Source IP, Destination IP, and Port). Router chỉ thực hiện biên dịch địa chỉ khi và chỉ khi gói tin thỏa mãn toàn bộ các điều kiện khắt khe này.
    2. MÔ HÌNH TOPO VÀ TRIỂN KHAI THỰC CHIẾN (BÁM SÁT TÀI LIỆU)


    Để minh họa, chúng ta xây dựng mô hình mạng Lab doanh nghiệp kết nối song song với 2 nhà mạng gồm:
    • Host H1: Máy trạm của người dùng trong LAN sở hữu IP Private: 192.168.1.101.
    • Router R1 (NAT Router): Thiết bị biên xử lý dịch địa chỉ. Cổng Gi0/1 hướng vào trong LAN (192.168.1.254). Cổng Gi0/2 nối sang ISP1 (Mạng 192.168.12.0/24). Cổng Gi0/3 nối sang ISP2 (Mạng 192.168.13.0/24).
    • ISP1 Router: Sở hữu một cổng Loopback 2.2.2.2/32 đóng vai trò là một Telnet Server bên ngoài.
    • ISP2 Router: Sở hữu một cổng Loopback 3.3.3.3/32 đóng vai trò là một Telnet Server bên ngoài.
    Mục tiêu cấu hình:
    • Khi H1 kết nối Telnet (Port 23) đến Server 2.2.2.2 của ISP1, Router R1 phải NAT IP nguồn 192.168.1.101 thành IP Public 192.168.12.1.
    • Khi H1 kết nối Telnet (Port 23) đến Server 3.3.3.3 của ISP2, Router R1 phải NAT IP nguồn 192.168.1.101 thành IP Public 192.168.13.1.
    Bước 1: Cấu hình gán vùng NAT cơ bản trên Router R1


    R1(config)# interface GigabitEthernet 0/1 R1(config-if)# ip nat inside
    R1(config)# interface GigabitEthernet 0/2 R1(config-if)# ip nat outside
    R1(config)# interface GigabitEthernet 0/3 R1(config-if)# ip nat outside Bước 2: Định nghĩa các điều kiện bằng Extended Access-List


    Chúng ta tạo ra 2 ACL mở rộng để phân tách rõ ràng hai luồng traffic đích đến: R1(config)# ip access-list extended H1_TO_ISP1 R1(config-ext-nacl)# permit tcp host 192.168.1.101 host 2.2.2.2 eq 23
    R1(config)# ip access-list extended H1_TO_ISP2 R1(config-ext-nacl)# permit tcp host 192.168.1.101 host 3.3.3.3 eq 23 Bước 3: Tạo Route-map để bọc các điều kiện ACL


    R1(config)# route-map RM_TO_ISP1 permit 10 R1(config-route-map)# match ip address H1_TO_ISP1
    R1(config)# route-map RM_TO_ISP2 permit 10 R1(config-route-map)# match ip address H1_TO_ISP2 Bước 4: Áp dụng Route-map vào câu lệnh NAT tĩnh nâng cao


    Thay vì gọi Access-List trực tiếp như cách làm cũ, chúng ta ra lệnh cho Router gọi các Route-map vừa tạo: R1(config)# ip nat inside source static 192.168.1.101 192.168.12.1 route-map RM_TO_ISP1 R1(config)# ip nat inside source static 192.168.1.101 192.168.13.1 route-map RM_TO_ISP2 3. VÍ DỤ GIẢI THÍCH LUỒNG ĐI CỦA GÓI TIN VÀ LƯU Ý SỐNG CÒN


    Hãy cùng phân tích cách thức hoạt động cực kỳ thông minh của hệ thống sau khi gõ xong lệnh:
    • Ví dụ 1 (Đi sang ISP1): Từ máy H1, người dùng gõ lệnh telnet 2.2.2.2. Gói tin đi vào cổng Gi0/1 của R1. Router R1 kiểm tra thấy gói tin thỏa mãn chính xác ACL H1_TO_ISP1 (Nguồn: 192.168.1.101, Đích: 2.2.2.2, Port: 23). Ngay lập tức, Route-map RM_TO_ISP1 được kích hoạt và khớp với quy tắc NAT đầu tiên. IP nguồn của gói tin lập tức bị đổi thành 192.168.12.1. Server 2.2.2.2 nhận được gói tin sẽ thấy IP nguồn là một IP thuộc dải của ISP1, giúp việc định tuyến phản hồi quay trở về diễn ra cực kỳ mượt mà.
    • Ví dụ 2 (Đi sang ISP2): Cũng từ máy H1, người dùng gõ lệnh telnet 3.3.3.3. Gói tin thỏa mãn ACL H1_TO_ISP2. Route-map RM_TO_ISP2 kích hoạt quy tắc NAT thứ hai, đổi IP nguồn thành 192.168.13.1.
    Lưu ý đặc biệt từ tài liệu (Hạn chế của Static Policy NAT): Tài liệu đính kèm nhấn mạnh một hành vi kỹ thuật rất quan trọng của Cisco IOS mà anh em phải lưu tâm: Quy tắc kiểm tra điều kiện thông qua Route-map chỉ áp dụng tối ưu cho luồng traffic chủ động khởi tạo từ bên trong đi ra ngoài (Inside to Outside).
    Nếu có một lưu lượng bất kỳ khởi tạo ngược từ bên ngoài Internet muốn đi thẳng vào hệ thống (Outside to Inside), các điều kiện phức tạp trong Route-map đôi khi sẽ không được áp dụng một cách chính xác theo chiều ngược lại (Reversed), trừ khi luồng kết nối đó được định nghĩa rõ ràng bằng các cơ chế dịch địa chỉ tĩnh mở rộng khác. 4. XÁC MINH VÀ KIỂM TRA BẢNG DỊCH (VERIFICATION)


    Để điều tra xem Policy NAT hoạt động có chuẩn xác như thiết kế hay không, anh em sử dụng câu lệnh hiển thị bảng dịch quen thuộc:
    R1# show ip nat translations
    • Cách đọc kết quả: Điểm kỳ diệu của Policy NAT là khi hệ thống ở trạng thái rảnh rỗi (chưa có traffic), bảng dịch NAT sẽ hoàn toàn trống trơn, không hề sinh ra các dòng tĩnh (static entries) gán chết như NAT tĩnh thông thường. Bảng dịch chỉ thực sự xuất hiện các dòng Dynamic Translation chứa đầy đủ thông tin giao thức TCP, IP nguồn, IP đích và số hiệu Port 23 khi và chỉ khi Host H1 thực hiện lệnh Telnet thành công đến các Server mục tiêu.
    Để xem tổng số lượng gói tin đã được biên dịch thành công theo từng chính sách, anh em dùng lệnh:
    R1# show ip nat statistics
    Hệ thống sẽ hiển thị chi tiết số lượng hits của từng cấu trúc Route-map kết hợp. LỜI KẾT


    Policy NAT là một công cụ cực kỳ sắc bén giúp các kỹ sư mạng Enterprise giải quyết triệt để bài toán tối ưu hóa định tuyến và gán nhãn địa chỉ theo từng đối tác cụ thể trong môi trường đa kết nối (Multi-homing). Nắm vững Policy NAT sẽ giúp bạn làm chủ luồng dữ liệu, không còn lo sợ hiện tượng bất đối xứng định tuyến (Asymmetric Routing) khi doanh nghiệp chạy đồng thời nhiều ISP.
    #VnPro#CCNA#CCNP#CCIE#PolicyNAT#ConditionalNAT#RouteMap#ExtendedACL#MultiISP#MultiHoming#CiscoIOS#NetworkServices#RoutingAndSwitching#EnterpriseInfrastructure
    Attached Files
Working...
X