Chúng ta phải bắt đầu từ những điều cơ bản, vì vậy hãy sửa đổi thuật ngữ NAT. NAT dịch địa chỉ IP trong các gói IP, phải không? Điều đó nghĩa là gì? Rằng nó, về cơ bản, tạo ra ảo ảnh - vâng, ảo ảnh quang học, bạn biết đấy. Ví dụ: trong cấu hình NAT điển hình khi các máy chủ LAN có địa chỉ riêng truy cập Internet bằng cách sử dụng địa chỉ IP công cộng của giao diện bộ định tuyến bên ngoài, các máy chủ đó xuất hiện cho các máy chủ Internet có IP công cộng này (hoặc IP từ một nhóm IP công cộng). NAT không tạo ra các máy chủ vật lý mới, tất nhiên - nhưng nó tạo ra các loại thực thể ảo mới - trong ví dụ này, các máy chủ LAN tự nhìn thấy, giả sử 192.168.1.x nhưng các máy chủ Internet xem chúng là 203.0.113.x - một bộ máy chủ vật lý nhưng hai bộ địa chỉ IP. Hai bộ máy chủ (logic) riêng biệt. Ảo ảnh quang học. Và thuật ngữ này là:
- bên trong cục bộ - địa chỉ IP "thực" của các máy chủ nội bộ được gán cho giao diện của chúng và khi chúng nhìn thấy nhau
- bên trong toàn cầu - địa chỉ IP "ảo ảnh" mà thế giới bên ngoài nhìn thấy
- bên ngoài toàn cầu - địa chỉ IP "thực" của các máy chủ bên ngoài mà chúng nhìn thấy và bởi (gần như) toàn bộ Internet
- bên ngoài địa phương - địa chỉ IP "ảo ảnh" khi chúng tôi thấy các máy chủ bên ngoài (nếu chúng tôi yêu cầu NAT dịch tương ứng)
Và như bạn có thể thấy, chúng tôi có nghĩa vụ phải phân biệt giữa mạng của chúng tôi và Internet hoặc một mạng bên ngoài khác. Chúng tôi làm điều này bằng cách đánh dấu các giao diện IP của bộ định tuyến của chúng tôi là ip nat bên trong hoặc ip nat bên ngoài , đồng ý?
Bây giờ hãy nhớ cách NAT thường được triển khai: nó duy trì các bảng đặc biệt có chứa các mục về bản dịch. Và điểm quan trọng là những mục này có thể được tạo ra một cách tĩnh hoặc động . Đối với các mục được tạo động, hướng lưu lượng là quan trọng - là lưu lượng được bắt đầu từ bên trong ra bên ngoài hay ngược lại? Đối với các mục tĩnh, đây không phải là như vậy - chúng là đối xứng . Báo cáo cấu hình NAT có chứa các tĩnh từ khóa tạo mục tĩnh ngay sau khi đưa chúng vào cấu hình đang chạy; những người có từ khóa động xem lưu lượng truy cập thú vị và tự động tạo các mục dịch, cuối cùng sẽ hết thời gian.
Chúng tôi đã có thể suy đoán về câu hỏi cuối cùng của bạn: tại sao không có tùy chọn đích bên ngoài ? ip nat bên trong nguồn tĩnh tạo mục nhập NAT tĩnh dịch chính xác như bạn đã mô tả, nhưng điều này bao gồm không chỉ lưu lượng được bắt đầu từ một phía cụ thể - các mục nhập NAT tĩnh đối xứng. Vì vậy, ip nat bên ngoài đích tĩnh sẽ tạo ra một mục tĩnh để dịch địa chỉ IP đích của lưu lượng truy cập vào mạng của bạn từ bên ngoài VÀ địa chỉ IP nguồn cho lưu lượng đi từ bên trong - nhưng đây chính xác là ip nat bên trong nguồn tĩnhlệnh nào! Vì vậy, nó chỉ đơn giản là dư thừa để có lệnh này. Sự khác biệt duy nhất là bạn sẽ trao đổi nguồn với ip đích khi sử dụng một hoặc một dạng khác của cùng một lệnh.
Liên quan đến tuyên bố đầu tiên của bạn, "có ba kết hợp có thể có của bên trong / bên ngoài / nguồn / đích có thể được cấu hình" - điều này không hoàn toàn như vậy. Vấn đề là, nói chung, các câu lệnh cấu hình NAT không phải là "công thức toán học" và nên được xem xét toàn bộ, và không được xây dựng một cách hợp lý từ các từ khóa độc lập. Vì vậy, mỗi "kết hợp" trình bày một giải pháp cho một tác vụ cụ thể, ví dụ: ip nat trong danh sách đích được sử dụng để định cấu hình cân bằng tải TCP của máy chủ sử dụng thuật toán cụ thể và không hoạt động với UDP. Ngoài ra, (trong các iOS hiện đại) không có ip nat bên trong lệnh tĩnh đích - bạn đã thực sự thử nó với tùy chọn tĩnh chưa?
Bạn có thể thấy một số tình huống cụ thể về việc sử dụng NAT, bao gồm các ví dụ cấu hình trong bài viết này của Cisco: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/12-2sx /nat-12-2sx-book/iadnat-addr-consv.html
Cuối cùng, tôi muốn đề cập rằng đôi khi NAT không phải là điều bạn muốn, ví dụ, hãy xem câu trả lời của tôi cho "câu hỏi kinh điển" này: /server/55611/loopback-to-forwarded-public- địa chỉ ip từ địa phương-mạng-kẹp tóc-nat / 733532 # 733532
PS tôi có nên đi vào chi tiết hơn không?