DNS ไม่ทำงานใน Bash (Ubuntu) บน Windows โดยใช้ VPN


10

ฉันเพิ่งเริ่มทดสอบ "Bash บน Ubuntu บน Windows" และฉันชอบ!

เพียงแค่ปัญหาคือฉันต้องใช้ VPN เพื่อเข้าถึงเซิร์ฟเวอร์แบ็กเอนด์และนักพัฒนาของเรา และเมื่อพยายาม (เช่น) ssh ไปยังเซิร์ฟเวอร์ dev ของเราด้วยเชลล์ Windows Bash มันไม่สามารถแก้ไขชื่อโฮสต์ได้

โปรดทราบว่าฉันสามารถใช้ ssh โดยใช้ที่อยู่ IP และชื่อโฮสต์เหล่านี้ทำงานได้ดีในที่อื่นใน Windows เช่นเดียวกับ putty, cmd ปกติ, File Explorer และอื่น ๆ

ฉันยังตรวจสอบ /etc/resolv.conf และสามารถดูรายชื่อเซิร์ฟเวอร์ที่ทำงานได้ที่นี่

จากที่นี่ทักษะการสร้างเครือข่ายของฉันสั้นโดยเฉพาะกับ Linux ดังนั้นโปรดช่วยด้วย: D


ฉันเพิ่งตีปัญหาเดียวกัน คุณจัดการเพื่อแก้ไขปัญหาที่อื่นหรือไม่?
ฮิวจ์

คำตอบ:


1

มันเป็นปัญหาการเราต์ไม่ใช่บั๊กของ WSL มีโอกาสมากที่เครือข่ายย่อยในท้องถิ่นของคุณจะเหมือนกับเครือข่ายย่อยระยะไกล และฉันถือว่าคุณใช้บริดจ์เชื่อมต่อ VPN

ฉันพบปัญหาเดียวกัน ฉันใช้ OpenVPN เพื่อเชื่อมต่อสำนักงานของฉัน (ระยะไกล) และบ้านของฉัน (ในพื้นที่) เครือข่ายย่อยสองเครือข่ายมีทั้ง 192.168.1.0 ซึ่งเป็นเครือข่ายที่พบได้บ่อยที่สุดในเราเตอร์หลายตัว

ในที่สุดฉันก็แก้ไขปัญหาด้วยการกำหนดค่าต่อไปนี้ เป้าหมายของฉันคือใช้ tun เพื่อลดค่าใช้จ่ายและเปลี่ยนเส้นทางปริมาณการใช้ข้อมูลที่ปลายทางอยู่ที่สำนักงานเท่านั้น อย่างไรก็ตามสิ่งนี้จะทำงานกับบริดจ์บริดจ์ด้วย

;make the dhcp-option works on Windows 10.
script-security 2
;do not accept any pushed route command.
route-nopull
;make sure the connection still go through my home router. This line may not be necessary. You can try to remove this line and see it the VPN works.
route 192.168.1.1 255.255.255.0 net_gateway
;redirect the traffic where the destination is within the 192.168.1.0 subnet to OpenVPN gateway.
route 192.168.1.128 255.255.255.128
route 192.168.1.0 255.255.255.128
;set the DNS server which is in the office
dhcp-option DNS 192.168.1.254
dhcp-option DNS 192.168.1.253
dhcp-option DOMAIN my.company.domain

0

วิธีนี้ไม่ได้แก้ปัญหาที่ DNS ไม่ทำงาน แต่เป็นวิธีแก้ปัญหาที่ทำให้ดูเหมือนว่าใช้งานได้

คุณสามารถแก้ไขไฟล์โฮสต์ (ที่ / etc / hosts) และเพิ่มรายการสำหรับชื่อโฮสต์ที่คุณต้องการใช้

เพิ่มรายการที่มีที่อยู่ IP แล้วตามด้วยช่องว่างและชื่อโฮสต์

123.456.1.1 target.host.net

หมายเหตุคุณจะต้องsudoแก้ไขคำสั่งของคุณsudo vi /etc/hosts

สำหรับฉันแล้วการแก้ไขจะดำเนินการข้ามรอบเซสชัน bash shell ฉันสมมติว่าเป็นข้อผิดพลาดที่ Microsoft หวังว่าจะแก้ไขในอนาคต สำหรับตอนนี้ฉันเพิ่งใช้วิธีแก้ปัญหานี้


-1

ผมมีปัญหาเดียวกัน. ฉันแก้ไข /etc/resolv.conf ชั่วคราวด้วยเนมเซิร์ฟเวอร์เดียวและโดเมนการค้นหาหนึ่งโดเมน (สำหรับเครือข่าย VPN) และแก้ไขชื่อโฮสต์บนเครือข่ายนั้น การเปลี่ยนแปลงนี้ไม่คงอยู่ดังนั้นการออกและรีสตาร์ท Bash บน Ubuntu บน Windows จะคืนค่า /etc/resolv.conf ให้เป็นการตั้งค่าเริ่มต้น


1
"แต่ต้องการทราบวิธีตั้งค่าอินเทอร์เฟซเครือข่ายสำหรับ Bash บน Ubuntu บน Windows อย่างถูกต้องเพื่อให้การสร้างการเชื่อมต่อ VPN ใน Windows จะกำหนดค่า DNS โดยอัตโนมัติ" - คุณควรลบความเห็นนี้ออกจากคำตอบของคุณ
Ramhound
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.