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] xuyên thấu cơ chế đổi màu gói tin của nat alg

    [ CCNP] XUYÊN THẤU CƠ CHẾ ĐỔI MÀU GÓI TIN CỦA NAT ALG


    Có bao giờ bạn gặp một tình huống thế này chưa: Bạn cấu hình NAT/PAT rất chuẩn chỉnh, máy trạm trong LAN vẫn ping ra Internet ầm ầm, lướt Web vù vù. Thế nhưng, cứ hễ gọi điện thoại VoIP (giao thức SIP/H323), truyền file qua FTP, hay thực hiện phân giải tên miền DNS thì hệ thống lại báo lỗi, mất kết nối hoặc dữ liệu trả về sai địa chỉ?
    Nhiều bạn sẽ lập tức đổ lỗi cho Firewall chặn, hoặc nhà mạng ISP bóp băng thông. Nhưng nguyên nhân sâu xa nằm ở việc: Gói tin của bạn đã bị "lệch pha" giữa các tầng giao thức khi đi qua thiết bị NAT. Và "vị cứu tinh" âm thầm xử lý các ca bệnh này chính là NAT ALG (Application Level Gateway).

    1. TẠI SAO BẢN THÂN NAT LÀ CHƯA ĐỦ? BẢN CHẤT CỦA NAT ALG


    Bình thường, chúng ta biết NAT hoạt động ở Tầng 3 (Network Layer) để dịch địa chỉ IP và PAT hoạt động ở Tầng 4 (Transport Layer) để dịch số hiệu Port. Cơ chế này hoạt động hoàn hảo với các lưu lượng Web (HTTP/HTTPS) vì địa chỉ IP chỉ nằm ở phần Header của gói tin.
    Tuy nhiên, có một số ứng dụng đặc thù chứa thông tin địa chỉ IP hoặc Port nằm chui sâu bên trong phần dữ liệu của Tầng 7 (Application Layer Payload). Các ứng dụng điển hình bao gồm:
    • SIP / H323: Giao thức truyền hình, thoại VoIP.
    • FTP: Giao thức truyền tải file.
    • DNS: Giao thức phân giải tên miền.
    Nếu Router chỉ thực hiện NAT thông thường (chỉ sửa IP ở Header tầng 3), phần ruột dữ liệu tầng 7 vẫn giữ nguyên IP cũ. Khi gói tin đi đến đích, thiết bị đầu cuối đọc phần ruột tầng 7 và dùng IP lỗi thời đó để phản hồi, dẫn đến việc kết nối bị đứt gãy.
    NAT ALG sinh ra để giải quyết việc này. Nó là một module phần mềm chạy trên Router, có khả năng "đọc thấu" vào tận Payload tầng 7, chủ động tìm kiếm các thông tin IP/Port bên trong ruột gói tin và biên dịch đồng bộ với tầng 3.

    2. MÔ HÌNH TOPO VÀ TRIỂN KHAI THỰC CHIẾN (BÁM SÁT TÀI LIỆU)


    Để minh họa nguyên lý hoạt động của NAT ALG với dịch vụ DNS, tài liệu sử dụng mô hình mạng tiêu chuẩn gồm:
    • Host1 (Inside Client): Nằm trong mạng LAN với IP 192.168.12.1.
    • Router R1 (NAT Router): Thiết bị biên dịch. Cổng FastEthernet 0/0 (Inside) kết nối LAN. Cổng FastEthernet 1/0 (Outside) hướng ra ngoài với IP 192.168.23.1.
    • DNS Server (Outside Server): Nằm ngoài Internet với IP 192.168.23.3.
    Đầu tiên, cấu hình gán vùng biên dịch cơ bản trên Router R1: R1(config)# interface fastEthernet 0/0 R1(config-if)# ip nat inside R1(config)# interface fastEthernet 1/0 R1(config-if)# ip nat outside
    Tiếp theo, cấu hình một câu lệnh Static NAT tĩnh để ánh xạ Host1 bên trong thành IP đại diện bên ngoài là 192.168.23.10: R1(config)# ip nat inside source static 192.168.12.1 192.168.23.10

    3. VÍ DỤ GIẢI THÍCH LUỒNG ĐI CỦA GÓI TIN KHI CÓ VÀ KHÔNG CÓ NAT ALG


    Hãy cùng phân tích kịch bản khi Host1 muốn đăng ký địa chỉ IP của mình lên DNS Server bên ngoài, hoặc DNS Server trả kết quả truy vấn về cho Client. Kịch bản nếu KHÔNG có NAT ALG (Tính năng bị tắt):


    Khi Host1 gửi gói tin DNS Request chứa thông tin đăng ký tên miền của nó.
    • Tại Tầng 3 (Header): IP nguồn là 192.168.12.1.
    • Tại Tầng 7 (Payload dữ liệu DNS): Ruột gói tin ghi rõ: "Tôi là Host1, IP của tôi là 192.168.12.1".
    Khi gói tin đi qua Router R1, Router chỉ sửa Tầng 3 Header thành 192.168.23.10 rồi gửi đến DNS Server. DNS Server nhận gói tin, đọc phần ruột Tầng 7 và lưu vào cơ sở dữ liệu: Host1 = 192.168.12.1.
    • Hậu quả: Địa chỉ 192.168.12.1 là IP Private. Các thiết bị ngoài Internet khi truy vấn tên miền Host1 sẽ nhận về IP Private này và hoàn toàn không thể kết nối được tới Host1!
    Kịch bản thực tế khi CÓ NAT ALG (Mặc định bật trên Cisco IOS):


    Cisco IOS tích hợp sẵn tính năng NAT ALG cho DNS. Khi gói tin trên đi qua R1:
    • Router R1 sửa Tầng 3 Header từ 192.168.12.1 thành 192.168.23.10.
    • Đồng thời, Module NAT ALG kích hoạt, thọc sâu vào Tầng 7 Payload, tìm đến chuỗi text 192.168.12.1 và can thiệp ghi đè thành 192.168.23.10.
    Khi DNS Server nhận được, phần ruột đã được đồng bộ hoàn toàn thành IP Public 192.168.23.10. Mạng lưới hoạt động thông suốt!

    4. XÁC MINH VÀ CÁCH KHÓA/MỞ TÍNH NĂNG (VERIFICATION)


    Để kiểm tra xem Router R1 có thực sự can thiệp vào tầng ứng dụng hay không, tài liệu hướng dẫn sử dụng công cụ kiểm tra thời gian thực:
    R1# debug ip nat detailed
    Khi bạn thực hiện một truy vấn DNS từ Host1, màn hình dòng lệnh của Router R1 sẽ lập tức đổ ra các trạng thái thông báo nâng cao. Bạn sẽ nhìn thấy cụm từ ma thuật chỉ có ở ALG: "DNS resource record" hoặc "A record". Điều này chứng tỏ Router không chỉ NAT thông thường mà đang chủ động mổ xẻ cấu trúc bản ghi của gói tin DNS.
    Lưu ý quan trọng từ thực tế hệ thống (Tắt/Mở ALG): Tài liệu chỉ ra rằng, tính năng tự động can thiệp này đôi khi lại gây tác dụng ngược trong một số hạ tầng an ninh nghiêm ngặt hoặc hệ thống Tổng đài IP (IP-PBX) sử dụng Firewall riêng, gây lỗi mất tiếng 1 chiều hoặc không đăng ký được SIP Trunking.
    Để tắt tính năng NAT ALG đối với dịch vụ DNS trên Cisco IOS, chúng ta dùng lệnh: R1(config)# no ip nat service dns
    Và tương tự, để tắt cho dịch vụ gọi thoại SIP qua cổng UDP 5060: R1(config)# no ip nat service sip udp port 5060

    LỜI KHUYÊN


    NAT ALG là một tính năng cực kỳ thông minh nhưng cũng là một "con dao hai lưỡi". Là một kỹ sư hệ thống enterprise, anh em phải luôn nắm rõ khi nào nên để Router tự động xử lý (mặc định bật) và khi nào phải tắt nó đi để nhường quyền xử lý Payload cho các thiết bị chuyên dụng như Firewall ASA, Firepower hay các bộ điều khiển vùng biên SBC (Session Border Controller).
    #VnPro#CCNA#CCNP#CCIE#NATALG#ApplicationLevelGateway#DNSNAT#VoIPNAT#CiscoIOS#NetworkServices#RoutingAndSwitching#PayloadTranslation
    Attached Files
Working...
X