Score:2

ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน HTTPS ใน WSL

ธง ru
Joe

ฉันกำลังพยายามใช้เครื่องมือบรรทัดคำสั่งสำหรับตัวกำหนดตารางเวลาที่เราติดตั้งไว้ที่บริษัทของฉัน และตัดสินใจติดตั้งในการติดตั้ง WSL ubuntu ของฉัน อย่างไรก็ตาม ฉันไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้...

ขด "[เซิร์ฟเวอร์]" --verbose 
* ลอง [เซิร์ฟเวอร์:443]...
*ตั้งค่า TCP_NODELAY
*การเชื่อมต่อกับ [เซิร์ฟเวอร์] พอร์ต 443 ล้มเหลว: การเชื่อมต่อหมดเวลา

ฉันจะถือว่ามีบางอย่างเกิดขึ้นกับไฟร์วอลล์ของเซิร์ฟเวอร์หรือไฟร์วอลล์ Windows ของฉัน... ยกเว้น:

  • ฉันสามารถเรียกใช้คำสั่ง curl เดียวกันจาก CMD ใน windows (บนเครื่องเดียวกัน) และเชื่อมต่อได้
  • ฉันสามารถเรียกใช้คำสั่ง curl เดียวกันจาก WSL ไปยังเว็บไซต์ที่ปลอดภัยทั่วไป (เช่น https://google.com) และเชื่อมต่อ

ฉันยังคิดว่ามันอาจเกี่ยวข้องกับใบรับรอง แต่ดูเหมือนว่าฉันจะไม่ได้รับส่วนใบรับรองของการเชื่อมต่อ (และอีกครั้ง ใช้งานได้ดีจาก Windows และฉันไม่ได้ทำอะไรเป็นพิเศษที่นั่น) ฉันได้ลองใช้ IP ของเซิร์ฟเวอร์ในกรณีที่เกี่ยวข้องกับ DNS เช่นกัน Ping ใช้งานได้ดี และฉันตรวจสอบแล้วว่าพอร์ต 443 ถูกต้อง

มีไฟร์วอลล์ Ubuntu ใน WSL ที่ฉันต้องจัดการแยกต่างหาก ซึ่งอาจอนุญาตให้รับส่งข้อมูลไปยังบางไซต์และไม่อนุญาตไปยังไซต์อื่นหรือไม่ ปัญหาอื่นที่คล้ายคลึงกันดูเหมือนว่าเมื่อเกี่ยวข้องกับไฟร์วอลล์ ping ไม่ทำงานและ/หรือมีปัญหาเดียวกันบน Windows เช่นเดียวกับ WSL/Ubuntu

ฉันใช้ Windows 10 (เวอร์ชัน 1909) และ WSL 2 (Ubuntu 20.04.3 LTS/focal) ฉันใช้ VPN (องค์กร)

ru flag
Joe
อืม ฉันไม่สามารถอัปเกรด Windows ได้ (แล็ปท็อปที่จัดการองค์กร พวกเขารับผิดชอบเรื่องนั้น) อาจสามารถอัปเดต Ubuntu ได้ แต่ WSL เป็นสิ่งที่ฉันติดตั้ง จะเห็น.
ru flag
Joe
อัปเดตเป็น 20.04.3 ซึ่งเป็นรุ่น LTS ปัจจุบัน ยังคงมีปัญหาอยู่
ru flag
Joe
ฉันคิดว่า แต่ฉันกำลังถาม - อะไรนะ? ฉันได้พูดคุยกับคนอื่นๆ ในแวดวงไอที ​​(ฉันก็ทำงานด้านไอทีด้วย) และไม่มีใครสงสัยเป็นพิเศษที่นี่ เนื่องจากฉันสามารถเชื่อมต่อกับไซต์จากแล็ปท็อปของฉันใน Windows ได้ ดังนั้นคำถามของฉันเกี่ยวกับว่า Ubuntu เองกำลังทำอะไรอยู่หรือไม่
NotTheDr01ds avatar
vn flag
@Joe ให้คำตอบแล้ว (อาจถูกต้องอาจเป็นปลาเฮอริ่งแดง) แต่อยากรู้ว่า `nc -zv คืออะไร 443` รายการจาก WSL/Ubuntu เพื่อตอบคำถามของคุณ ไม่มีไฟร์วอลล์ใน WSL/Ubuntu ที่จะเข้ามาขวางทาง
NotTheDr01ds avatar
vn flag
@Joe ลบคำตอบของฉันเพราะมันชัดเจนสำหรับฉันเมื่อฉันอ่านบรรทัดสุดท้ายของคำถามของคุณ มันคือ VPN -- ไม่น่าจะขยายไปถึง WSL คุณสามารถเข้าถึง *ใดๆ* ไซต์ภายในองค์กรจาก WSL ได้หรือไม่
ru flag
Joe
@ NotTheDr01ds อืม เป็นคำถามที่ดี
Score:2
ธง vn

ฉันสงสัยว่า VPN ไม่ขยายไปถึง WSL2 นี่เป็นปัญหาทั่วไป สำหรับคนส่วนใหญ่ ทั้งหมด การรับส่งข้อมูลถูกกำหนดเส้นทางผ่าน VPN ซึ่งเป็นสาเหตุ ทั้งหมด เครือข่ายจากภายใน WSL2 เพื่อทำลายเมื่อ VPN เปิดใช้งาน

ฟังดูเหมือนเท่านั้น ภายใน การรับส่งข้อมูลอาจถูกกำหนดเส้นทางผ่าน VPN ของคุณ ฉันดูเหมือนจะจำได้ว่านี่เป็นการกำหนดค่าปกติสำหรับ AnyConnect และอาจมีบางส่วนเช่นกัน

วิธีแก้ไขที่ง่ายที่สุด หากได้ผลสำหรับคุณ คือการเรียกใช้อินสแตนซ์ WSL1 WSL1 ทำงานบน NIC เดียวกันกับ Windows ในขณะที่ WSL2 ทำงานบน vNIC ซึ่ง NAT อยู่เบื้องหลังโฮสต์ Windows

คุณสามารถเรียกใช้อินสแตนซ์ WSL1 ได้ตลอดเวลาเมื่อคุณต้องการทำงานกับเครื่องมือจัดตารางเวลานี้ และใช้ WSL2 ต่อไปหากคุณต้องการสำหรับกรณีการใช้งานอื่นๆ

หากต้องการโคลน WSL2 ที่มีอยู่เป็น WSL1 ให้สร้างไดเร็กทอรีที่คุณต้องการติดตั้ง และ:

wsl -- ส่งออก Ubuntu backup.tar
wsl --import Ubuntu_WSL1 <directoryName>backup.tar --version 1

คุณจะต้องตั้งค่าผู้ใช้เริ่มต้นสำหรับอินสแตนซ์ใหม่ด้วยโดยใช้ /etc/wsl.conf. ดู คำตอบนี้ (โดยเฉพาะอย่างยิ่งวิธีที่ 1) สำหรับรายละเอียด

ru flag
Joe
ถูกต้อง - ทำงานได้อย่างสมบูรณ์แบบ!
NotTheDr01ds avatar
vn flag
ยอดเยี่ยม! ฉันแย่มากที่ข้ามคำสองสามคำสุดท้ายเมื่ออ่านคำถาม บางครั้งก็เป็นส่วนที่สำคัญที่สุด! :-)
ru flag
Joe
ดีใจที่ฉันคิดว่าจะรวมไว้ในตอนท้าย!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา