Windows Server 2008 - การเชื่อมต่อกับ 127.0.0.1


9

ฉันกำลังเรียกใช้ Windows Server 2008 R2 เรามีแอปพลิเคชันที่เชื่อมต่อจาก (ผูกกับ) IP สาธารณะบนเซิร์ฟเวอร์ไปที่ 127.0.0.1:8334 [เชื่อมต่อกับบริการฟังใน 0.0.0.0:8334]

ใน Windows 2003 ไม่มีปัญหากับสิ่งนี้ เราสามารถเชื่อมต่อโดยใช้ TCP จาก 1.2.3.4 [เช่น] ถึง 127.0.0.1:8334 ได้ดี

ใน Windows 2008 เราพบว่าการเชื่อมต่อ TCP จากไอพีสาธารณะเช่น 1.2.3.4 ถึง 127.0.0.1:8334 นั้นล้มเหลว แต่บริการยอมรับการเชื่อมต่อจาก 127.0.0.1 ถึง 127.0.0.1:8334 และ 127.0.0.1 ถึง 1.2.3.4:8334

พยายามปิดไฟร์วอลล์ Windows การกำหนดค่าการบันทึก ฯลฯ (ไม่มีรายการบันทึกที่มีประโยชน์ปรากฏขึ้น) เพื่อประโยชน์ นี่เป็นปัญหากับสแต็กเครือข่ายใหม่หรือไม่

การแก้ไข

1.2.3.4 กำลังพยายามเชื่อมต่อกับ localhost [127.0.0.1] บนเครื่องเดียวกัน

ไฟล์โฮสต์คือไฟล์โฮสต์ Windows 2008 ที่เป็นค่าเริ่มต้น

ข้อมูลการตรวจสอบย้อนกลับที่น่าสนใจ พยายามออกมา ... ไม่ได้ผล Crosschecked เพื่อตรวจสอบว่า Id ทำทุกอย่างถูกต้อง - ฉันมี

ฉันสงสัยว่ามีวิธีแก้ปัญหาโดยใช้ NAT หรือวิธีอื่น ๆ ในการส่งต่อพอร์ต - ถ้าฉันส่งต่อ 127.0.0.1:port ไปที่ 1.2.3.4:port จะทำงานได้ไหม ระบุว่าแอปฟังบน 0.0.0.0: พอร์ตจะรับการเชื่อมต่อที่ 1.2.3.4: พอร์ต

ไฟล์โฮสต์มี localhost 127.0.0.1 - อย่างไรก็ตามไฟล์โฮสต์จะใช้กับการค้นหาชื่อโฮสต์เท่านั้น ในกรณีนี้แอปพลิเคชันของเราจะไม่ค้นหาชื่อโฮสต์ใด ๆ เนื่องจากที่อยู่ IP 127.0.0.1 นั้นถูกฮาร์ดโค้ด (แทนที่จะเป็นชื่อโฮสต์ท้องถิ่น) ดังนั้นไฟล์โฮสต์จะไม่เข้ามาเล่นที่นี่

สำหรับพอร์ตที่สูงกว่า 1024 [คิดว่าคุณหมายถึงปัญหา MaxUserPort?] ฉันทำการทดสอบโดยการลองเชื่อมต่อกับพอร์ต 445 อย่างง่าย - ทำงานได้ตั้งแต่ 127.0.0.1 ไม่ทำงานเมื่อฉันเชื่อมต่อจากแหล่ง IP 1.2.3.4 445 เป็นบริการ Windows มาตรฐานดังนั้นควรใช้งานได้!

ขณะนี้ไม่ได้รัน NAT หรือ RRAS บนเครื่อง ... กำลังสงสัยว่ามีวิธีการเปลี่ยนเส้นทางหรือไม่ - ฉันเดาว่ามันจะไม่ทำงานเนื่องจากสแต็ก TCP / IP จะปฏิเสธแพ็กเก็ตก่อนที่จะถึงเส้นทางลูปแบ็ค

พิมพ์เส้นทางที่ฉันตรวจสอบแล้ว - ดูเหมือนว่าดี IP สาธารณะที่กำหนดเส้นทางไว้ก่อนจากนั้นในที่สุด 127.0.0.0 netmask 255.255.255.0 และ 127.0.0.1 netmask 255.255.255.255 ทั้งคู่ไปที่ลูปแบ็ค

แก้ไข ดูเหมือนว่าฉันได้พบคำตอบว่าสาเหตุของปัญหา ฉันใช้ eventvwr.msc, เปิดใช้งานการบันทึก Winsock, ปิดบริการอื่น ๆ , ลองทดสอบการเชื่อมต่อนี้แล้ว มีข้อผิดพลาดซึ่งเป็นเลขฐานสิบหกที่แมปกับ STATUS_INVALID_ADDRESS_COMPONENT เมื่อฉัน googled

ที่ทำให้ฉัน: http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba

ซึ่งยืนยันว่านี่เป็นการเปลี่ยนแปลงตามการออกแบบใน WFP สำหรับ Vista / 7 / Server 2008 [แพลตฟอร์มการกรอง windows]

[ดูการตอบสนองโดย Anupama Vasanth]

ดูเหมือนว่าฉันจะต้องไปเส้นทางยากและเขียนรหัส [ยากเพราะมันหมายถึงการจัดการกับผู้จัดการ!]

ขอบคุณที่ช่วยฉันค้นหา / ยืนยันปัญหา!


ในคำอธิบายของคุณคือ 1.2.3.4 และ 127.0.0.1 ในเครื่องเดียวกันหรือไม่? คุณมีอะไรบ้างในไฟล์โฮสต์
Gennady Vanin ГеннадийВанин

คำตอบ:


1

อย่าลืมใน Windows 2008 ไฟร์วอลล์จะเปิดใช้งานตามค่าเริ่มต้น สิ่งนี้อาจบล็อกการรับส่งข้อมูล & ทั้งหมดแม้ในอินเทอร์เฟซย้อนกลับ นอกจากนี้หากคุณเชื่อมต่อกับ 0.0.0.0 แสดงว่าคุณยอมรับการเชื่อมต่อบนอินเตอร์เฟสทั้งหมด ไฟร์วอลล์ยังคงบล็อกสิ่งนี้ คุณสามารถลองปิดไฟร์วอลล์ในขณะทดสอบ ... แล้วเปิดใหม่อีกครั้ง ฉันไม่มีปัญหาใด ๆ ในการเชื่อมต่อกับโปรแกรมต่าง ๆ ที่ฉันได้พัฒนาเมื่อวันที่ 127.0.0.1


0

ลองเชื่อมต่อกับ 127.0.0.2 ใน Vista / win2k8 ขึ้นไป - ฟังดูตลก แต่ใช้งานได้ มีผลบวกกับสิ่งนี้ในอดีต


-3

ฉันแน่ใจว่ามันเชื่อมต่อกับคุณสมบัติความปลอดภัยตรวจสอบย้อนกลับแม้ว่าฉันจะไม่สามารถรับรายละเอียดในเชิงลึกเกี่ยวกับวิธีการใช้งานได้เพียงวิธีที่จะเอาชนะมัน:

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

และสำหรับ "ใช้กับ" Windows 2008 โปรดดูที่http://support.microsoft.com/kb/896861


อะไรคือไฟล์โฮสท์ของคุณ? ฉันไม่มี W2008 คุณหมายความว่าไม่มี "127.0.0.1 localhost" ใช่หรือไม่

ฉันได้อ่านบางที่การตั้งค่าเริ่มต้น W2008 ไม่อนุญาตให้สื่อสารกับพอร์ตมากกว่า 1024


คุณสามารถส่งข้อเสนอแนะเกี่ยวกับ MS Windows Server 2008 โดยตรงไปยังทีม MS

และพวกเขาจะตอบกลับ

หากคุณพยายามที่จะปิด "ตรวจสอบย้อนกลับ" ผ่านวิธีการแก้ไขรีจิสทรีแล้วมันต้องรีบูต อีกอันหนึ่ง - ไม่

NAT อยู่ในเครื่อง 127.0.0.1 ไม่ได้ถูกส่งต่อหรือจัดเส้นทางฉันเชื่อว่ามันเป็นภายในคุณสามารถถอดการ์ดเครือข่าย 1.2.3.4 ของคุณจะหายไป แต่ 127.0.0.1 จะยังคงอยู่ที่นั่น

ผลลัพธ์ของคุณ (Run -> cmd -> route print) คืออะไร?

มีอีกช่วงเวลาหนึ่งที่ฉันกำลังคิดอยู่ถึงแม้ว่าฉันจะไม่รู้วิธีการรวมมันเข้าด้วยกัน

127.0.0.1 เป็น localhost (ส่วนต่อประสาน) เป็นชื่อป้ายกำกับเดียวและถือว่าเป็นโลคัล 1.2.3.4 เป็นชื่อที่ไม่ใช่เอกเทศ

ปัญหาที่อาจเป็นไปได้คือชื่อดังกล่าวอาจได้รับการพิจารณาภายนอก


คุณลองแยกกันได้ไหม:

  1. ปิดใช้งาน (หากเปิดใช้งานอยู่และเปิดใช้งานหากปิดใช้งาน) IPv6 บนอะแดปเตอร์เครือข่าย

  2. ใส่ชื่อเดียวป้ายชื่อสำหรับ 1.2.3.4 ลงในไฟล์โฮสต์หรือไม่


คำอธิบายเหตุการณ์ที่สอดคล้องกันคืออะไร, EventID, ฯลฯ ใน eventvwr.msc เนื่องจากความล้มเหลวในการสื่อสารจาก 1.2.3.4 ถึง 127.0.0.1:8334?


"445 เป็นบริการ Windows มาตรฐาน"

ใช้กับ SMB-direct over TCP / IP หรือไม่ สำหรับการแบ่งปันไฟล์ CIFS?

ไม่น่าเชื่อถือ ... มันถูกแฮ็คโดยโปรแกรมแก้ไขด่วน MS อย่างต่อเนื่อง อ่าน:

("การเรียกดู NetBIOS ข้ามเครือข่ายย่อยอาจล้มเหลวหลังจากอัปเกรดเป็น Windows Server 2008") - http://blogs.technet.com/b/networking/archive/2008/07/25/netbios-browsing-across-subnets-may-fail หลังการอัปเกรดไปยัง Windows เซิร์ฟเวอร์ 2008.aspx? วา = wsignin1.0

จากนั้น

"เรามีปัญหาเดียวกันกับที่อธิบายไว้ก่อนหน้านี้กับเครื่อง Vista SP2 ที่พยายามเข้าถึงไฟล์ Windows Server 2008 SP1 หรือไฟล์ SP2 บริการแชร์ไฟล์ได้รับการคุ้มครองโดยไฟร์วอลล์ Windows ด้วยความปลอดภัยขั้นสูงโดยใช้กฎที่กำหนดไว้ล่วงหน้าสำหรับการแชร์ไฟล์ (SMB) การเชื่อมต่อที่ปลอดภัย "

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.