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

  • Troubleshooting NAT/PAT trên Cisco IOS – Vì sao Internet vẫn “chết” dù cấu hình NAT nhìn có vẻ đúng?

    👉Troubleshooting NAT/PAT trên Cisco IOS – Vì sao Internet vẫn “chết” dù cấu hình NAT nhìn có vẻ đúng?


    “Ping gateway được nhưng không ra Internet…”

    Đây là một trong những lỗi kinh điển mà gần như bất kỳ Network Engineer nào cũng từng gặp khi triển khai NAT/PAT trên Cisco IOS.

    Điều thú vị là trong rất nhiều case thực tế:
    • Routing hoàn toàn đúng
    • Interface UP
    • Ping nội bộ OK
    • ACL không chặn
    • Nhưng người dùng vẫn không truy cập được Internet

    Và nguyên nhân đôi khi chỉ nằm ở đúng một dòng cấu hình:

    ip nat inside


    hoặc

    ip nat outside


    Hôm nay hãy cùng VnPro phân tích một case Troubleshooting NAT/PAT cực kỳ thực tế theo đúng tư duy của một CCIE Enterprise Infrastructure. NAT/PAT là gì?


    NAT (Network Address Translation) là cơ chế cho phép chuyển đổi địa chỉ IP.

    PAT (Port Address Translation) là dạng NAT phổ biến nhất hiện nay, cho phép:
    • Nhiều thiết bị nội bộ
    • Dùng chung một địa chỉ Public IP

    Ví dụ thực tế:

    Trong công ty:

    192.168.1.10
    192.168.1.11
    192.168.1.12


    đều có thể truy cập Internet thông qua:

    203.113.10.5


    PAT sẽ dùng số Port để phân biệt từng session.

    Đây chính là lý do hàng trăm máy tính trong văn phòng vẫn có thể dùng Internet chỉ với một IP Public. Mô hình LAB


    Trong bài LAB này có 3 thiết bị:
    • Host
    • NAT Router
    • Web Server

    Mạng Inside:

    192.168.12.0/24


    Mạng Outside:

    192.168.23.0/24


    Vai trò:
    • Host giả lập máy tính người dùng
    • Web Server giả lập Internet/Web Service
    • NAT Router thực hiện NAT/PAT
    Người dùng báo không truy cập Internet được


    Người dùng xác nhận:
    • IP Address đúng
    • Default Gateway đúng

    Vậy bước đầu tiên của một Network Engineer nên làm gì?

    Không phải kiểm tra NAT ngay.

    Mà phải xác nhận kết nối cơ bản. Kiểm tra kết nối từ Router NAT


    Đầu tiên thử ping Web Server:

    NAT#ping 192.168.23.3


    Kết quả:

    Success rate is 100 percent


    Điều này cho thấy:
    • Layer 3 hoạt động bình thường
    • Routing OK
    • Web Server reachable

    Tiếp theo thử TCP kết nối port 80:

    NAT#telnet 192.168.23.3 80


    Kết quả:

    Open


    Điều này cực kỳ quan trọng.

    Nó chứng minh rằng:
    • Web Server đang hoạt động
    • Không bị firewall chặn
    • TCP session thiết lập thành công

    Tức là vấn đề không nằm ở routing hay application. Vậy lỗi nằm ở đâu?


    Lúc này nghi ngờ lớn nhất chính là NAT.

    Kiểm tra cấu hình NAT:

    NAT#show running-config


    Thoạt nhìn cấu hình có vẻ đúng:

    ip nat inside source list 1 interface FastEthernet0/0 overload


    ACL cũng đúng:

    access-list 1 permit 192.168.12.0 0.0.0.255


    Nhiều kỹ sư mới học sẽ dừng ở đây và nghĩ:

    “NAT đúng rồi mà?”

    Nhưng một CCIE sẽ kiểm tra tiếp:
    • Interface nào là inside?
    • Interface nào là outside?
    Sai lầm phổ biến nhất trong NAT


    Kiểm tra interface:

    NAT#show running-config interface fa0/0




    NAT#show running-config interface fa1/0


    Phát hiện:

    interface FastEthernet0/0
    ip nat inside


    và:

    interface FastEthernet1/0
    ip nat outside


    Đây là lỗi nghiêm trọng.

    Vì topology thực tế:
    • Fa1/0 nối LAN
    • Fa0/0 nối Internet

    Nhưng inside/outside lại bị cấu hình ngược. Vì sao NAT Inside / Outside quan trọng đến vậy?


    Trong Cisco IOS:

    ip nat inside


    xác định:

    “Đây là phía mạng nội bộ.”

    Còn:

    ip nat outside


    xác định:

    “Đây là phía mạng bên ngoài.”

    Nếu cấu hình sai:
    • Router không biết chiều translation
    • NAT translation sẽ không hoạt động đúng

    Giống như bạn đưa nhầm cửa “IN” và “OUT” trong sân bay.

    Hành khách vẫn tồn tại.

    Nhưng luồng xử lý bị đảo ngược hoàn toàn. Cách khắc phục


    Xóa cấu hình sai:

    interface FastEthernet0/0
    no ip nat inside
    ip nat outside


    Tiếp theo:

    interface FastEthernet1/0
    no ip nat outside
    ip nat inside
    Kiểm tra lại NAT Translation


    Sau khi sửa:

    NAT#show ip nat translations


    Kết quả bắt đầu xuất hiện:

    Inside global
    Inside local
    Outside local
    Outside global


    Điều này cho thấy NAT đã bắt đầu translation packet. Inside Local và Inside Global là gì?


    Đây là phần khiến rất nhiều người học CCNA bị rối.

    Ví dụ:

    Máy người dùng:

    192.168.12.10


    Khi đi ra Internet bị NAT thành:

    192.168.23.2


    Lúc này:

    Inside Local = 192.168.12.10
    Inside Global = 192.168.23.2


    Hiểu đơn giản:
    • Local = IP thật bên trong
    • Global = IP đã bị NAT ra ngoài
    PAT hoạt động như thế nào?


    Nếu nhiều máy dùng chung một Public IP thì Router phân biệt bằng cách nào?

    PAT sẽ dùng:

    Source Port


    Ví dụ:

    192.168.12.10:52311
    192.168.12.11:52312
    192.168.12.12:52313


    đều có thể NAT ra:

    203.113.10.5


    Router sẽ thay đổi Port để theo dõi từng session.

    Đây là lý do PAT còn được gọi là:

    NAT Overload
    Một điều rất quan trọng khi Troubleshoot NAT


    Nếu NAT không hoạt động:

    Đừng vội debug ACL hay firewall trước.

    Hãy kiểm tra theo đúng thứ tự: Bước 1


    Connectivity:

    ping
    telnet
    Bước 2


    Routing:

    show ip route
    Bước 3


    NAT Translation:

    show ip nat translations
    Bước 4


    Inside / Outside Interface

    Đây là lỗi phổ biến nhất. Bước 5


    ACL Match

    Kiểm tra ACL có permit đúng subnet không. Cấu hình PAT hoàn chỉnh


    access-list 1 permit 192.168.12.0 0.0.0.255

    interface FastEthernet1/0
    ip nat inside

    interface FastEthernet0/0
    ip nat outside

    ip nat inside source list 1 interface FastEthernet0/0 overload
    Vì sao NAT/PAT là chủ đề cực kỳ quan trọng?


    NAT xuất hiện gần như ở mọi hệ thống:
    • Enterprise Network
    • Firewall
    • SD-WAN
    • VPN
    • Internet Edge
    • Data Center
    • Cloud Connectivity

    Nếu không hiểu NAT sâu:

    Bạn sẽ rất khó troubleshoot:
    • Internet access
    • VPN
    • Firewall policy
    • Port forwarding
    • Voice traffic
    • DMZ
    • Hybrid Cloud
    Kết luận


    Điều quan trọng nhất khi học NAT/PAT không phải là học thuộc lệnh.

    Mà là phải hiểu:
    • Packet thay đổi như thế nào
    • Router xử lý translation ra sao
    • Inside và Outside hoạt động thế nào
    • PAT dùng Port để phân biệt session như thế nào
    • Vì sao chỉ sai một interface mà toàn bộ Internet có thể “sập”

    Đó mới là tư duy của một Network Engineer thực thụ.

    Bạn đã từng gặp lỗi NAT/PAT nào “hack não” ngoài thực tế chưa?

    Hãy chia sẻ cùng cộng đồng kỹ sư mạng VnPro nhé!
    Attached Files
Working...
X