Ba tùy chọn này trong cấu hình Cisco Router NAT có nghĩa là gì?


10

Trong cấu hình Tĩnh PAT tiêu chuẩn, trong đó một kết hợp IP: Cổng luôn được ánh xạ sang một kết hợp IP: Cổng khác, 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.

Ví dụ, đây là một ví dụ cấu hình:

ip nat inside source static tcp 10.0.20.13 8080 2.2.2.33 80
       ^^^^^^^^^^^^^

Theo thuật ngữ của layman, cấu hình này cho phép bất kỳ máy chủ Bên ngoài nào khởi tạo kết nối TCP tới IP 2.2.2.33 qua cổng 80. Khi gói này chạm vào bộ định tuyến, Địa chỉ IP đích và Cổng ( 2.2.2.33:80) được dịch sang 10.0.20.13:8080.

Điều ngược lại cũng sẽ xảy ra, nếu máy chủ bên trong 10.0.20.13 gửi gói TCP có cổng nguồn là 8080, vì gói này đi qua bộ định tuyến, IP nguồn và Cổng ( 10.0.20.13:8080) được dịch sang 2.2.2.33:80. (đây thường là một gói phản hồi , thay vì một gói được khởi tạo từ máy chủ Inside)


Dưới đây là tất cả ba tùy chọn cấu hình cho phần được đánh dấu ở trên:

Router(config)#ip nat inside ?
  destination  Destination address translation
  source       Source address translation

Router(config)#ip nat outside ?
  source  Source address translation

Trong thực tế, bạn có thể cấu hình:

  • ip nat bên trong nguồn tĩnh tcp {IP} {Port} {IP} {Port}
  • ip nat bên trong đích tcp {IP} {Port} {IP} {Port}
  • ip nat ngoài nguồn tĩnh tcp {IP} {Port} {IP} {Port}

Các tùy chọn này khác nhau như thế nào và khi nào một người sẽ sử dụng một trong ba tùy chọn? Vui lòng sử dụng các thuật ngữ của giáo dân như tôi đã làm ở trên để mô tả cách mỗi người sẽ thao tác các gói đi qua thiết bị.

Ngoài ra, bất cứ ai có thể cho tôi biết tại sao không có tùy chọn đích bên ngoài ?


2
@Eddie, Thay vì tất cả chúng ta regurgitating hướng dẫn sử dụng, hãy xem này cisco.com/c/en/us/support/docs/ip/... hay này groupstudy.com/archives/ccielab/200702/msg01284.html và xem nếu điều đó giúp bạn. Sau đó, nếu bạn vẫn có câu hỏi cụ thể, chúng tôi sẵn lòng giúp đỡ.
Ron Trunk

Có câu trả lời nào giúp bạn không? nếu vậy, bạn nên chấp nhận câu trả lời để câu hỏi không xuất hiện mãi mãi, tìm kiếm câu trả lời. Ngoài ra, bạn có thể cung cấp và chấp nhận câu trả lời của riêng bạn.
Ron Maupin

Câu trả lời:


7

Hãy suy nghĩ về điều này rất cẩn thận.

Nguồn bên trong có nghĩa là bạn muốn dịch địa chỉ nguồn từ lưu lượng truy cập bắt nguồn từ mạng của bạn. Đây là cách sắp xếp "mạng gia đình" điển hình cho phép bạn sử dụng các địa chỉ riêng trên Internet công cộng. Tất nhiên, đây không phải là sử dụng duy nhất cho phiên bản này.

Bên trong đích có nghĩa là bạn muốn lưu lượng truy cập bắt nguồn từ một địa chỉ bên ngoài đến một giao thức và cổng giao thông đích cụ thể để đi đến một địa chỉ cụ thể bên trong. Đây là những gì người dùng gia đình làm để cho phép một cái gì đó như máy chủ web có địa chỉ riêng được truy cập từ Internet công cộng. Tất nhiên, đây không phải là sử dụng duy nhất cho phiên bản này.

Nguồn bên ngoài dịch lưu lượng truy cập có nguồn gốc từ bên ngoài để trông giống như nó có nguồn gốc từ một địa chỉ bên trong. Nó có thể hữu ích trong trường hợp các công ty có dải địa chỉ IP chồng chéo hợp nhất và cần bắt đầu kết nối các mạng. Bạn có thể dịch các địa chỉ nguồn của lưu lượng truy cập có nguồn gốc từ bên ngoài, thông thường sẽ có các địa chỉ nguồn bên ngoài xung đột với các địa chỉ bên trong, thành các địa chỉ nguồn trong phạm vi địa chỉ có sẵn trong phạm vi địa chỉ.

Điểm đến bên ngoài không thực sự có ý nghĩa nhiều vì nó là nghịch đảo của chuyển tiếp cổng. Điều này sẽ hạn chế bất kỳ lưu lượng truy cập nào có nguồn gốc từ bên trong, được chuyển đến một giao thức và cổng giao thông bên ngoài cụ thể, đến một địa chỉ bên ngoài duy nhất.


Mô tả của bạn inside destinationdường như khớp với "lời giải thích của giáo dân" của tôi inside source. Ngoại trừ, ví dụ của tôi đã thay đổi cổng đích # cho lưu lượng truy cập vào từ 80đến 8080. Mô tả của bạn dường như ngụ ý cổng # không thay đổi? Dù bằng cách nào, đó không thể là sự khác biệt duy nhất giữa inside destinationinside source, phải không?
Eddie

Sự khác biệt là nguồn lưu lượng. Các inside sourcebắt nguồn lưu lượng giao thông bên trong, và inside destinationgiao thông dòng chảy bắt nguồn từ bên ngoài. Nếu lưu lượng truy cập bắt nguồn từ inside sourcenhu cầu trả lời, một inside destinationquy trình tạm thời xảy ra cho trả lời. Số cổng có thể được thay đổi khi lưu lượng di chuyển từ bên này sang bên kia, nhưng không phải tất cả các bộ định tuyến (đặc biệt là bộ định tuyến gia đình) đều hỗ trợ điều này.
Ron Maupin

4

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?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.