Windows Server 2008 - Kết nối với 127.0.0.1


9

Tôi đang chạy Windows Server 2008 R2, chúng tôi có một ứng dụng kết nối từ (liên kết đến) một IP công cộng trên máy chủ tới 127.0.0.1:8334 [kết nối với một dịch vụ nghe trên 0.0.0.0:8334]

Trong Windows 2003, không có vấn đề gì với điều này. Chúng tôi có thể kết nối bằng TCP từ 1.2.3.4 [ví dụ] đến 127.0.0.1:8334.

Trong Windows 2008, chúng tôi thấy rằng các kết nối TCP từ ip công cộng, ví dụ 1.2.3.4 đến 127.0.0.1:8334, thậm chí không thành công. nhưng dịch vụ chấp nhận các kết nối từ 127.0.0.1 đến 127.0.0.1:8334 và 127.0.0.1 đến 1.2.3.4:8334.

Đã thử tắt tường lửa Windows, định cấu hình ghi nhật ký của nó, v.v. (không có mục nhật ký hữu ích nào xuất hiện), nhưng không có kết quả. Đây có phải là một vấn đề với ngăn xếp mạng mới?

chỉnh sửa

1.2.3.4 đang cố gắng kết nối với localhost [127.0.0.1] trên cùng một máy

Tệp máy chủ là tệp máy chủ Windows 2008 mặc định.

Thông tin kiểm tra loopback, thú vị. Đã thử nó ... không hoạt động. Kiểm tra chéo để xác minh rằng Id đã thực hiện mọi thứ chính xác - tôi có.

Tôi tự hỏi nếu có một giải pháp sử dụng NAT hoặc một số cách khác để chuyển tiếp các cổng - nếu tôi chuyển tiếp 127.0.0.1:port sang 1.2.3.4:port, điều đó có hiệu quả không? Cho rằng ứng dụng nghe trên 0.0.0.0:port, nó sẽ nhận các kết nối trên 1.2.3.4:port

Tệp HOSTS không chứa localhost 127.0.0.1 - tuy nhiên, tệp máy chủ chỉ được sử dụng trên tra cứu tên máy chủ. Trong trường hợp này, ứng dụng của chúng tôi sẽ không tìm kiếm bất kỳ tên máy chủ nào, vì địa chỉ IP 127.0.0.1 được mã hóa cứng vào nó (chứ không phải tên máy chủ localhost). Vì vậy, tệp HOSTS sẽ không xuất hiện ở đây.

Đối với các cổng trên 1024 [có thể bạn nghĩ đến vấn đề MaxUserPort có lẽ?] Tôi đã kiểm tra điều này bằng cách thử kết nối đơn giản với cổng 445 - hoạt động từ 127.0.0.1, không hoạt động khi tôi kết nối từ IP nguồn 1.2.3.4. 445 là một dịch vụ Windows tiêu chuẩn, vì vậy nên hoạt động!

Hiện tại không chạy NAT hoặc RRAS trên máy ... đang tự hỏi liệu có cách nào để thực hiện việc định tuyến lại không - Tôi đoán nó sẽ không hoạt động vì ngăn xếp TCP / IP sẽ từ chối gói trước khi đến giao diện loopback để định tuyến lại.

Bản in tuyến đường tôi đã kiểm tra - có vẻ ổn, các IP công khai được định tuyến trước, sau đó cuối cùng là 127.0.0.0 netmask 255.255.255.0 và 127.0.0.1 netmask 255.255.255.255 để lặp lại.

Chỉnh sửa Có vẻ như tôi đã tìm thấy câu trả lời cho lý do của vấn đề. Tôi đã sử dụng eventvwr.msc, kích hoạt ghi nhật ký Winsock, tắt các dịch vụ khác, chỉ cần thử kiểm tra kết nối này. Có một lỗi trong bản đồ thập lục phân thành STATUS_INVALID_ADDRESS_COMPONENT khi tôi googled nó.

Điều đó đã đưa tôi đến: http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba

Điều này đã xác nhận rằng đây là một thay đổi theo thiết kế trong WFP cho Vista / 7 / Server 2008 [nền tảng lọc windows].

[Xem phản hồi của Anupama Vasanth]

Có vẻ như tôi sẽ phải đi theo con đường khó khăn và viết lại mã [khó vì nó có nghĩa là giao dịch với người quản lý!]

Cảm ơn bạn đã giúp tôi xác định vị trí / xác nhận vấn đề!


Trong mô tả của bạn, 1.2.3.4 và 127.0.0.1 trên cùng một máy phải không? Bạn có gì cho họ trong tập tin máy chủ?
Gennady Vanin Геннадий Внаин 14/8/2016

Câu trả lời:


1

Đừng quên, trong windows 2008, tường lửa được bật theo mặc định. Điều này có khả năng có thể chặn bất kỳ & tất cả lưu lượng truy cập ngay cả trên giao diện loopback. Ngoài ra, nếu bạn liên kết với 0.0.0.0, bạn đang chấp nhận kết nối trên TẤT CẢ các giao diện. Tường lửa vẫn sẽ chặn điều này. Bạn có thể thử tắt tường lửa trong khi thử nghiệm ... và sau đó bật lại. Tôi chưa có vấn đề gì khi kết nối với các chương trình khác nhau mà tôi đã phát triển trên 127.0.0.1.


0

Hãy thử kết nối với 127.0.0.2 trong Vista / win2k8 trở lên - nghe có vẻ buồn cười nhưng nó hoạt động. Có kết quả tích cực với điều này trong quá khứ


-3

Tôi chắc chắn rằng nó được kết nối với tính năng bảo mật kiểm tra loopback mặc dù tôi không thể hiểu chi tiết về cách thức triển khai, chỉ có cách khắc phục:

http://chillicode.wordpress.com/tag/loopback-check/

Và đối với "ỨNG DỤNG CHO" Windows 2008, hãy xem http://support.microsoft.com/kb/896861


Chà, chính xác thì trong tập tin HOSTS của bạn là gì? Tôi không có W2008. Bạn có nghĩa là không có "127.0.0.1 localhost" ở đó không?

Tôi cũng đã đọc ở đâu đó rằng thiết lập W2008 mặc định không cho phép giao tiếp với các cổng lớn hơn 1024.


Bạn có thể gửi phản hồi về MS Windows Server 2008 trực tiếp cho nhóm MS thông qua

và họ sẽ trả lời

Nếu bạn đã cố gắng tắt "kiểm tra vòng lặp" thông qua phương pháp chỉnh sửa sổ đăng ký thì nó yêu cầu khởi động lại. Một số khác - không phải.

NAT bên trong máy? 127.0.0.1 không được chuyển tiếp hoặc định tuyến, tôi tin là như vậy, nó là nội bộ, bạn có thể rút card mạng, 1.2.3.4 của bạn sẽ biến mất nhưng 127.0.0.1 sẽ tiếp tục ở đó.

Đầu ra của bạn (Chạy -> cmd -> in tuyến đường) là gì?

Có một khoảnh khắc nữa, tôi đã suy nghĩ, mặc dù tôi không biết làm thế nào để kết hợp nó lại.

127.0.0.1 là localhost (giao diện), nó là tên nhãn đơn và được coi là cục bộ. 1.2.3.4 là tên không đơn.

Vấn đề có thể xảy ra với điều này là tên như vậy có thể đã được coi là bên ngoài


Bạn có thể thử, riêng:

  1. Vô hiệu hóa (nếu được bật và bật nếu bị tắt) IPv6 trên bộ điều hợp mạng?

  2. Đặt một số tên nhãn đơn cho 1.2.3.4 vào tệp HOSTS?


Mô tả sự kiện tương ứng, EventID, v.v. trong eventvwr.msc vì không giao tiếp từ 1.2.3.4 đến 127.0.0.1:8334?


"445 là một dịch vụ Windows tiêu chuẩn"

Có phải cho SMB trực tiếp qua TCP / IP? để chia sẻ tập tin? CIFS?

Không đáng tin cậy lắm ... Nó liên tục bị hack bởi MS hotfix. Đọc:

("Trình duyệt NetBIOS trên các mạng con có thể không thành công sau khi nâng cấp lên Windows Server 2008") - http://blogs.technet.com/b/networking/archive/2008/07/25/netbios-browsing-across-subnets-may-fail -Sau khi nâng cấp lên windows-server-2008aspx? wa = wsignin1.0

Sau đó,

"chúng tôi có cùng một vấn đề như được mô tả trước đó với các máy Vista SP2 đang cố gắng chia sẻ tệp Windows Server 2008 SP1 hoặc SP2. Dịch vụ chia sẻ tệp được bảo vệ bởi Windows Firewall với bảo mật nâng cao sử dụng quy tắc được xác định trước để chia sẻ tệp (SMB) kết nối an toàn "

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.