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

  • Pat

    NAT/PAT Troubleshooting – 10 Vấn Đề Thường Gặp Mà Kỹ Sư Mạng Cần Biết


    Trường hợp người dùng báo rằng:
    • Ping được Gateway nhưng không vào Internet được.
    • VPN kết nối nhưng không truyền dữ liệu.
    • Một số ứng dụng hoạt động, một số ứng dụng lại lỗi.
    • NAT đã cấu hình nhưng bảng dịch địa chỉ không xuất hiện.
    Trong rất nhiều tình huống troubleshooting mạng nêu trên, nguyên nhân không nằm ở định tuyến (Routing) hay ACL mà lại nằm ở NAT (Network Address Translation). Đây là một trong những công nghệ được sử dụng nhiều nhất trên Internet hiện nay, nhưng cũng là nguồn gốc của không ít sự cố khó xác định.

    PAT là gì và vì sao nó quan trọng?


    NAT truyền thống không mở rộng tốt trong môi trường có nhiều thiết bị nội bộ truy cập Internet cùng lúc. Nếu mỗi địa chỉ private cần một địa chỉ public riêng thì doanh nghiệp sẽ nhanh chóng cạn kiệt địa chỉ IPv4. Để giải quyết vấn đề này, Cisco sử dụng Port Address Translation (PAT). PAT cho phép:
    • Nhiều địa chỉ private dùng chung một địa chỉ public.
    • Phân biệt các kết nối bằng số hiệu cổng (Port Number).
    • Tiết kiệm đáng kể địa chỉ IPv4 công cộng.
    Ví dụ chúng ta có hai máy tính như trong hình.
    Máy tính A:
    10.1.1.10:65500
    Máy tính B:
    10.1.1.20:65520
    Sau khi đi qua router NAT:
    203.0.113.1:65500
    203.0.113.1:65520
    Cả hai đều sử dụng chung địa chỉ public:
    203.0.113.1
    Router sẽ theo dõi các port trong bảng NAT để biết gói tin phản hồi thuộc về thiết bị nào, máy tính A hay máy tính B (nhờ vào giá trị port kèm theo).

    4 Thuật Ngữ NAT Mà CCNA/CCNP Bắt Buộc Phải Thuộc

    Inside Local


    Địa chỉ thật của thiết bị bên trong mạng. Ví dụ: 10.1.1.10
    Đây là địa chỉ mà PC đang sử dụng trong mạng LAN.

    Inside Global

    Địa chỉ public mà NAT dịch sang. Ví dụ: 203.0.113.1
    Đây là địa chỉ mà Internet nhìn thấy.

    Outside Global

    Địa chỉ thật của máy chủ bên ngoài. Ví dụ: 192.0.2.1
    Có thể là Web Server trên Internet.

    Outside Local

    Địa chỉ của thiết bị bên ngoài khi nhìn từ phía mạng nội bộ.
    Trong đa số trường hợp: Outside Local = Outside Global
    Do phía ngoài thường không thực hiện NAT.

    6 Lỗi Cấu Hình NAT/PAT Thường Gặp

    1. Cấu hình sai Inside và Outside Interface


    Một lỗi rất phổ biến. Ví dụ:
    ip nat inside
    ip nat outside
    Nếu đặt nhầm vai trò cho interface, NAT sẽ không hoạt động dù mọi thứ khác đều đúng.

    2. NAT Pool cấu hình sai


    Ví dụ:
    ip nat pool OUTSIDE_POOL 203.0.113.3 203.0.113.6
    Nếu dải địa chỉ không đúng hoặc subnet mask sai thì việc dịch địa chỉ sẽ thất bại.

    3. Public IP không được quảng bá ra Internet


    NAT có thể hoạt động cục bộ nhưng lưu lượng phản hồi không quay trở lại. Nguyên nhân có thể là do hai nguyên nhân sau:
    • ISP không biết đường đến dải IP đó.
    • Route quảng bá bị thiếu.
    Kết quả: Traffic Outbound OK, Traffic Inbound bị FAIL

    4. ACL chọn sai địa chỉ cần NAT


    ACL dùng để xác định các địa chỉ private được phép dịch. Ví dụ:
    access-list 1 permit 10.1.1.0 0.0.0.255
    Nếu ACL không khớp với subnet thực tế thì sẽ không có bản dịch nào được tạo.

    5. ACL và NAT Pool ghép sai


    Lệnh sau kết nối ACL với Pool:
    ip nat inside source list 1 pool OUTSIDE_POOL
    Nếu tham chiếu nhầm ACL hoặc Pool, NAT sẽ không hoạt động đúng.

    6. Quên từ khóa Overload


    Đây là lỗi kinh điển của người mới học NAT.
    Cấu hình Sai:
    ip nat inside source list 1 pool OUTSIDE_POOL
    Cấu hình Đúng:
    ip nat inside source list 1 pool OUTSIDE_POOL overload
    Nếu trong cấu hình không có từ khóa overload thì PAT sẽ không hoạt động.

    4 Sự Cố NAT Thường Gặp Trong Thực Tế

    NAT và VPN xung đột với nhau


    Một số giao thức VPN như IPsec kiểm tra checksum để xác thực tính toàn vẹn dữ liệu. Khi NAT thay đổi địa chỉ IP: giá trị Checksum của gói tin IP bị thay đổi. Lúc này VPN trên router có thể coi gói tin đã bị sửa đổi và từ chối xử lý. Đây là lý do NAT-T (NAT Traversal) được sinh ra. (Sẽ trình bày về NAT-T trong dịp khác).

    NAT che giấu địa chỉ IP thật


    Điều này giúp tiết kiệm địa chỉ IPv4 nhưng gây khó khăn khi troubleshooting. Ví dụ Log Web Server chỉ nhìn thấy địa chỉ 203.0.113.1 thay vì địa chỉ 10.1.1.10. Một trong những lệnh đầu tiên cần thực hiện để kiểm tra là:
    show ip nat translations
    để xác nhận bản dịch có tồn tại hay không.

    Ứng dụng không tương thích NAT


    Một số ứng dụng VoIP, SIP, RTP, Ứng dụng nhúng IP vào payload
    có thể gặp sự cố khi đi qua NAT. Lý do là NAT chỉ thay đổi phần Header, còn địa chỉ IP nằm trong Payload vẫn giữ nguyên.
    Thiết bị ở đầu xa có thể cố gắng phản hồi tới địa chỉ private và kết nối thất bại.

    NAT làm tăng độ trễ


    Mỗi gói tin đi qua NAT phải được router Kiểm tra, Tra cứu bảng NAT, Sửa đổi địa chỉ, Cập nhật phiên dịch... Khi router phải xử lý hàng trăm nghìn phiên đồng thời thì CPU tăng, độ trễn của mạng Latency tăng. Độ trễ này đặc biệt dễ nhận thấy trên các thiết bị đang thực hiện số lượng lớn bản dịch NAT.

    Checklist Troubleshooting NAT Nhanh


    Khi NAT/PAT không hoạt động, hãy kiểm tra theo thứ tự:
    • Interface đã khai báo ip nat inside và ip nat outside chưa?
    • ACL có match đúng subnet không?
    • NAT Pool có đúng địa chỉ public không?
    • Pool có được route/quảng bá ra Internet không?
    • ACL và Pool đã liên kết đúng chưa?
    • Có thiếu từ khóa overload không?
    • Kiểm tra bảng NAT bằng:
    show ip nat translations
    • Kiểm tra thống kê NAT:
    show ip nat statistics
    • Nếu có VPN, kiểm tra NAT-T.
    • Nếu là VoIP hoặc ứng dụng đặc biệt, xem xét khả năng không tương thích với NAT.
    NAT là một công nghệ tưởng như đơn giản nhưng lại ảnh hưởng trực tiếp đến Routing, VPN, Security và Application. Trong thực tế, rất nhiều sự cố "không vào được Internet" cuối cùng lại xuất phát từ một lỗi NAT rất nhỏ trong cấu hình. Hiểu rõ các khái niệm Inside Local, Inside Global, Outside Local và Outside Global sẽ giúp việc troubleshooting nhanh hơn rất nhiều.​
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X