Tại sao nhiều tổ chức không sử dụng NAT từ trong ra ngoài hoặc các giải pháp tương tự để cho phép kẹp tóc NAT?


22

NAT từ trong ra ngoài hay còn gọi là NAT loopback giải quyết các vấn đề về NAT kẹp tóc khi truy cập máy chủ web trên giao diện bên ngoài của ASA hoặc thiết bị tương tự từ các máy tính trên giao diện bên trong. Điều này ngăn quản trị viên DNS không phải duy trì vùng DNS nội bộ trùng lặp có địa chỉ RFC1918 tương ứng cho các máy chủ của họ được NAT thành địa chỉ công cộng. Tôi không phải là kỹ sư mạng, vì vậy tôi có thể đang thiếu một cái gì đó, nhưng điều này có vẻ như không có trí tuệ để cấu hình và thực hiện. Định tuyến không đối xứng có thể là một vấn đề nhưng dễ dàng giảm nhẹ.

Theo kinh nghiệm của tôi, các quản trị viên / kỹ sư mạng thích rằng mọi người trong hệ thống chỉ chạy split-dns hơn là cấu hình tường lửa của họ để xử lý đúng các kẹp tóc NAT. Tại sao lại thế này?


Có lẽ vì chế độ xem DNS dễ khắc phục sự cố hơn?
NickW

2
Có thể, nhưng khi sử dụng DNS trên Bộ kiểm soát miền AD (một kịch bản phổ biến) thì không tồn tại.
MDMarra

2
Tại sao bạn cần xuất bản vùng AD của mình lên Internet? Nếu AD của bạn là ad.example.comhoặc tương tự (như nó nên được!), Sau đó vấn đề này sẽ tồn tại cho tất cả các công example.commục DNS và không có gì nội bộ được công bố ra bên ngoài. Tất nhiên, nếu bạn đã đặt tên cho AD của mình giống như sự hiện diện công khai của bạn, bạn phải sử dụng DNS tách, nhưng đó không phải là một thiết kế AD thực hành tốt nhất.
MDMarra

5
Tôi đã thêm rằng các chế độ xem DNS chỉ dễ khắc phục sự cố hơn nếu các máy khách không bao giờ di chuyển giữa chúng . Mọi thứ có thể trở nên sai lầm khi khách hàng lấy kết quả bên trong được lưu trữ bên ngoài.
LapTop006

3
Khách hàng không nên lưu bộ đệm câu trả lời DNS, đó là những gì máy chủ DNS dành cho. Tôi biết Windows rất thích bộ nhớ đệm im lặng (và chết người), nhưng đó là một trong nhiều lý do tại sao tôi nghĩ rằng nó không phù hợp để sử dụng sản xuất.
MadHatter hỗ trợ Monica

Câu trả lời:


11

Có một vài lý do tại sao tôi sẽ không làm điều đó:

  • Tại sao phải đặt thêm căng thẳng vào các bộ định tuyến và tường lửa DMZ nếu bạn không cần? Hầu hết các dịch vụ nội bộ của chúng tôi không nằm trong DMZ mà là khu vực chung của công ty, với các dịch vụ ủy quyền trong DMZ để thỉnh thoảng truy cập từ xa. Việc thực hiện từ bên trong đến bên trong sẽ tăng thêm tải cho DMZ, trong trường hợp của chúng tôi sẽ rất quan trọng.
  • Nếu bạn không thực hiện DNAT + SNAT, bạn sẽ nhận được định tuyến không đối xứng, điều này nổi tiếng là khó khăn để có được quyền. Vì vậy, bạn SNAT và mất thông tin IP nguồn. Tuy nhiên, rất hữu ích khi liên kết IP nguồn với mọi người cho mục đích khắc phục sự cố. Hoặc đôi khi mục đích nerfshoot trong trường hợp ngu ngốc. "Này IP này đang làm một cái gì đó mạnh mẽ trên dịch vụ không được xác thực X" "Ồ, chúng ta hãy xem trong máy chủ imap ghi nhật ký đó là ai".

2
Xin lưu ý, nếu tường lửa của bạn đang thực hiện định tuyến L3 và bạn có các tuyến đường cho các máy khách bên ngoài và bên trong của mình mất một bước nhảy vào tường lửa, bạn không cần phải lo lắng về định tuyến không đối xứng, phải không?
MDMarra

12

Rõ ràng, không thể có câu trả lời chắc chắn cho điều này, nhưng tôi có thể nghĩ ra một số lý do:

  1. Sự thanh lịch: NAT không phải là rất thanh lịch để bắt đầu, nhưng sự cần thiết với không gian địa chỉ bị hạn chế của IPv4. Nếu tôi có thể tránh NAT, tôi sẽ làm. Với IPv6, vấn đề sẽ không còn nữa.
  2. Độ phức tạp: đặc biệt trong trường hợp bạn không chỉ có một bộ định tuyến "lõi" duy nhất tạo ra tất cả các ranh giới bảo mật của mình, cấu hình bộ lọc có thể trở nên khá khó khăn. Dù vậy hoặc bạn sẽ phải truyền bá và duy trì các quy tắc NAT trên hầu hết các thiết bị định tuyến của mình.
  3. Tham khảo: bất cứ nơi nào quản trị viên tường lửa là những người khác nhau so với phần còn lại của nhóm quản trị viên máy chủ, họ có thể khó tiếp cận. Để đảm bảo các thay đổi không bị trì hoãn bởi tồn đọng (hoặc kỳ nghỉ) của quản trị viên tường lửa, tùy chọn giữ trách nhiệm trong cùng một nhóm được chọn
  4. Tính di động và thực tiễn phổ biến: Sử dụng chế độ xem DNS là "chỉ là điều mọi người biết đã hoàn thành" để giải quyết vấn đề này. Không phải mọi bộ định tuyến ranh giới đều hỗ trợ NAT loopback theo cách đơn giản, ít người có khả năng biết cách thiết lập chính xác trong môi trường cụ thể của bạn. Khi khắc phục sự cố mạng, phi hành đoàn sẽ cần biết về cấu hình NAT của kẹp tóc và tất cả các tác động của nó - ngay cả khi họ đang theo đuổi một vấn đề rõ ràng không liên quan

1
1. Trong tình huống này, NAT vẫn đang được sử dụng. Đây không phải là thêm NAT khi không có NAT trước 2. Trong ví dụ của tôi, tất cả chúng đều được xử lý bởi cùng một thiết bị hoặc cụm thiết bị. 4. Như đã nêu trong nhận xét của tôi ở trên, một kịch bản rất phổ biến là sử dụng Bộ kiểm soát miền AD cho DNS bên trong. Windows DNS không hỗ trợ lượt xem. Ngoài ra, tôi đã thấy rằng hầu hết các phần mềm bộ định tuyến / tường lửa hiện đại đều hỗ trợ kẹp tóc NAT bằng cách này hay cách khác.
MDMarra

1
@MDMarra một số nhận xét: 1. - "sẽ có một sự kỳ lạ của NAT ít quan tâm hơn" là những gì tôi muốn nói về cơ bản, 2. - câu hỏi của bạn không nói rõ ràng như vậy, nhưng chỉ với một bộ định tuyến, rõ ràng sẽ dễ xử lý hơn , 4. với DNS nội bộ bắt buộc đối với tất cả khách hàng, bạn không cần lượt xem - bạn chỉ cần tạo một vùng nội bộ và nhận được hiệu ứng giống như bạn đã đề cập trong câu hỏi của mình, lý do trên vẫn được áp dụng.
the-wợi

1
Những gì NAT kỳ lạ, mặc dù? Những hành vi cụ thể này sẽ giới thiệu gây ra vấn đề? Tôi đã làm việc tại một trường đại học có cấu trúc kẹp tóc NAT được cấu hình trên cụm Netscreen cho hơn 100 máy chủ bên ngoài và chúng tôi không bao giờ gặp vấn đề gì.
MDMarra

Cũng lưu ý rằng việc sử dụng NAT kẹp tóc trong kịch bản này là thực sự làm cho nó trông hơn như giải pháp IPv6, vì theo IPv6 hệ thống sẽ có một địa chỉ toàn cầu có thể truy cập; kẹp tóc NAT mô phỏng hành vi đó.
Paul Gear

@MDMarra "sự kỳ lạ NAT" nổi bật nhất đối với trường hợp "NAT kẹp tóc" sẽ là đường dẫn định tuyến không tối ưu, có nghĩa là các gói được viết lại sẽ phải đi qua hầu hết đường dẫn mà chúng đi qua. Nhìn thấy điều này trong một gói dữ liệu khi kết nối xử lý sự cố là khó hiểu nhất. Tôi tin rằng những người khác đã đề cập đến vấn đề định tuyến không đối xứng trong câu trả lời của họ, có liên quan. Không có nghi ngờ bạn có thể làm cho nó hoạt động tốt. Nhưng nó không đáng để nỗ lực trong phần lớn các trường hợp IMO.
the-wợi

7

Tuyên bố từ chối trách nhiệm - đây là một câu trả lời flamebait.

Một lý do phổ biến tôi nghĩ rằng các giải pháp như thế này được tránh là nỗi sợ / sự căm ghét phi lý của NAT đối với các kỹ sư mạng . Nếu bạn muốn xem một số ví dụ về thảo luận về điều này, hãy xem những điều sau:

Từ những gì tôi có thể nói, rất nhiều nỗi sợ hãi này bắt nguồn từ việc triển khai NAT kém của Cisco (vì vậy theo nghĩa đó có thể không phải là phi lý), nhưng theo tôi, kỹ sư mạng "cổ điển" này được đào tạo rất tốt trong "NAT là thế giới quan xấu, rằng anh ấy hoặc cô ấy không thể nhìn thấy những ví dụ rõ ràng như thế này, nơi nó có ý nghĩa hoàn hảo và thực sự đơn giản hóa giải pháp.

Có bạn đi - downvote cho nội dung trái tim của bạn! :-)


1
Tôi không biết nếu tôi coi đó là một nỗi sợ phi lý. Kinh nghiệm đã dạy tôi rằng NAT có thể phá vỡ hoặc làm những điều kỳ lạ với nhiều thứ.

1
@Kce Nhưng nếu bạn đã sử dụng NAT trên giao diện bên ngoài, việc cấu hình vòng lặp NAT tạo ra sự khác biệt gì?
MDMarra

@MDMarra - Không thực sự. Tôi đã đưa ra quan điểm khá tầm phào rằng đôi khi đội ngũ dịch vụ mạng sợ NAT không phải là không hợp lý.

Tôi không sợ NAT, tôi ghét nó.
Michael Hampton

1
Chỉnh sửa bài để bao gồm thù hận. :-)
Paul Gear

3

Tôi đoán là:

  1. Split DNS dễ hiểu hơn.
  2. NAT Hairpin sử dụng hết tài nguyên trên bộ định tuyến trong khi split-dns thì không.
  3. Bộ định tuyến có thể có các giới hạn băng thông mà bạn không có được thông qua thiết lập split-dns.
  4. Split-dns sẽ luôn hoạt động tốt hơn khi bạn tránh các bước định tuyến / NAT.

Về mặt tích cực cho kẹp tóc NAT,

  • Khi thiết lập xong, nó chỉ hoạt động.
  • Không có vấn đề với bộ đệm DNS cho máy tính xách tay di chuyển giữa mạng công việc và internet công cộng.
  • DNS cho một máy chủ chỉ được quản lý ở một nơi.

Đối với một mạng nhỏ có yêu cầu lưu lượng truy cập thấp đến máy chủ nội bộ, tôi sẽ sử dụng NAT kẹp tóc. Đối với một mạng lớn hơn có nhiều kết nối đến máy chủ và trong đó băng thông và độ trễ là quan trọng, hãy đi với split-dns.


2

Từ quan điểm của tôi, điều này đã thay đổi một chút giữa quá trình chuyển đổi Cisco Pix sang ASA. Mất aliaslệnh. Và nói chung, việc truy cập địa chỉ bên ngoài từ giao diện bên trong trên tường lửa của Cisco đòi hỏi một số mánh khóe. Xem: Làm thế nào để tôi truy cập máy chủ nội bộ của mình trên IP bên ngoài?

Tuy nhiên, chúng tôi không cần phải duy trì một vùng DNS nội bộ trùng lặp. Cisco ASA có thể chuyển hướng truy vấn DNS cho địa chỉ bên ngoài sang địa chỉ nội bộ nếu được định cấu hình trên câu lệnh NAT. Nhưng tôi thích giữ một vùng bên trong cho vùng DNS công cộng để có độ chi tiết đó và có thể quản lý vùng này ở một nơi thay vì bước vào tường lửa.

Thông thường, chỉ có một vài máy chủ có thể yêu cầu điều này trong một môi trường (thư, web, một vài dịch vụ công cộng), vì vậy nó không phải là một vấn đề to lớn.


Có phải là khó khăn nếu được Cisco hỗ trợ và ghi lại ? Chắc chắn đó là một công việc nhiều hơn một chút, nhưng điều đó làm cho nó khó khăn hoặc hack?
MDMarra

Thủ thuật, trong đó mọi người không biết / mong đợi / nghĩ về nó nếu họ chưa biết. Đó là một câu hỏi phổ biến: Làm cách nào để tôi truy cập IP bên ngoài từ bên trong tường lửa của Cisco .
ewwhite

Typically, there are only a few servers that may require this within an environmentcó thể ở một số nơi, nhưng tôi đã làm việc tại một trường đại học với hơn 100 máy chủ / thiết bị trong DMZ và tôi cũng làm việc tại một nhà cung cấp thử nghiệm / chứng nhận với hơn 40 máy chủ trải rộng trên ba DMZ. Đối với các công ty nhỏ hơn, bạn có thể chỉ có một hoặc hai máy chủ tiếp xúc với bên ngoài, nhưng điều này không nhất thiết phải phù hợp với tất cả mọi người.
MDMarra

Nếu các máy chủ nằm trong DMZ, thì đây không phải là vấn đề, phải không?
ewwhite

Trong trường hợp này, "DMZ" có nghĩa là được kết nối với bề ngoài bên ngoài của tường lửa đã nói với các quy tắc từ chối mặc định giữa các khu vực tại chỗ.
MDMarra

2

Tôi có thể nghĩ ra một vài lý do:

  1. Nhiều tổ chức đã phân tách DNS do không muốn công bố tất cả thông tin DNS nội bộ của họ ra thế giới, do đó, không có nhiều nỗ lực để xử lý một số máy chủ cũng bị lộ thông qua IP công cộng.
  2. Khi một tổ chức và mạng của nó phát triển lớn hơn, họ thường tách các hệ thống phục vụ người bên trong khỏi các máy chủ phục vụ bên ngoài, do đó việc định tuyến đến các bên ngoài để sử dụng nội bộ có thể là một đường dẫn mạng dài hơn nhiều.
  3. Càng ít sửa đổi mà các thiết bị trung gian thực hiện đối với các gói, thì càng tốt khi nói đến độ trễ, thời gian đáp ứng, tải thiết bị và xử lý sự cố.
  4. (rất nhỏ, phải thừa nhận) Có các giao thức mà NAT vẫn sẽ phá vỡ nếu thiết bị NAT không vượt quá tiêu đề của gói và sửa đổi dữ liệu trong đó bằng địa chỉ IP mới. Ngay cả khi đó chỉ là một trường hợp của bộ nhớ tổ chức, đó vẫn là một lý do hợp lệ để mọi người tránh nó, đặc biệt nếu họ đang xử lý một giao thức mà họ không chắc chắn 100%.

0

Nếu tôi định sử dụng NAT loopback, tôi sẽ hơi lo lắng về cách thiết bị NAT sẽ xử lý các địa chỉ nguồn giả mạo. Nếu nó không kiểm tra giao diện nào gói đến, thì tôi có thể giả mạo địa chỉ nội bộ từ mạng WAN và gửi gói đến máy chủ có địa chỉ nội bộ. Tôi không thể nhận được trả lời, nhưng tôi có thể thỏa hiệp máy chủ bằng địa chỉ nội bộ.

Tôi sẽ thiết lập NAT loopback, cắm vào bộ chuyển đổi DMZ và gửi các gói với các địa chỉ nguồn nội bộ giả mạo. Kiểm tra nhật ký máy chủ để xem nếu chúng đã được nhận. Sau đó, tôi sẽ đến quán cà phê và xem ISP của tôi có chặn các địa chỉ giả mạo hay không. Nếu tôi thấy bộ định tuyến NAT của mình không kiểm tra giao diện nguồn, có lẽ tôi sẽ không sử dụng NAT loopback ngay cả khi ISP của tôi đang kiểm tra.


Xin lỗi, tôi có thể hiểu nhầm những gì bạn đang nói, nhưng địa chỉ RFC1918 không được định tuyến qua internet, vì vậy tôi không thấy những gì cố gắng giả mạo chúng trên mạng WAN sẽ làm gì. Họ thậm chí sẽ không thực hiện bước nhảy đầu tiên.
MDMarra

Địa chỉ đích là địa chỉ công cộng của NAT trên cổng được ánh xạ tới máy chủ. Địa chỉ nguồn là một trong những địa chỉ IP riêng ở bên trong NAT. Địa chỉ nguồn không được sử dụng trong định tuyến và không được kiểm tra bởi mọi bộ định tuyến công cộng. Sự khác biệt duy nhất từ ​​một truy vấn nội bộ hợp pháp là gói tin đến từ mạng LAN.
Kent England
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.