Điểm:1

DNS không hoạt động trên WSL

lá cờ us

Tôi hiện đang sử dụng bản dựng Người dùng nội bộ của Windows 11.(22458)

Tuy nhiên, tôi đã gặp sự cố này một vài lần trên các bản dựng khác. (và wsl đã hoạt động trước đó)

Khi tôi khởi động wsl, tôi không thể thực hiện yêu cầu DNS. (Ping một địa chỉ IP hoạt động trực tiếp.)

Tôi đã theo dõi vấn đề này xuống tệp: /etc/resolv.conf

Nó bao gồm địa chỉ máy chủ DNS.

Mặc định là: 172.22.192.1

Tuy nhiên, cái này không hoạt động.

Nếu tôi thay đổi thành 1.1.1.1 (Cloud Flare DNS) thì nó sẽ hoạt động trở lại.

Tuy nhiên, sau mỗi lần khởi động lại wsl, nó sẽ thay đổi nó về mặc định.

Có một tệp tên là wsl.conf mà tôi có thể vô hiệu hóa việc tạo tệp này, nhưng nếu luôn luôn chỉ xóa tệp hoàn toàn sau mỗi lần khởi động lại.

Vì vậy, làm thế nào tôi có thể khắc phục điều này?

Ý tưởng đầu tiên của tôi là đặt lại hoàn toàn wsl, nhưng không đặt lại ứng dụng cũng như không cài đặt lại WSL thông qua các tính năng đã sửa nó.

Có ai có ý tưởng khác phải làm gì không?

NotTheDr01ds avatar
lá cờ vn
Bạn có đang sử dụng VPN có thể thay đổi trình phân giải khi nó đang hoạt động không?
NotTheDr01ds avatar
lá cờ vn
Xin lưu ý rằng tôi đã xóa câu trả lời của mình vì nó dành cho WSL/Ubuntu trên Windows 10 và Win 11 chắc chắn hoạt động khác. Tôi sẽ thử xem liệu tôi có thể tìm ra cách sửa nó trên Ubuntu trong Windows 11 không.
LightJack05 avatar
lá cờ us
@NotTheDr01ds OMG Tôi mới nhận ra vấn đề là tường lửa của mình. Nó chặn yêu cầu DNS từ máy ảo linux. WSL được liệt kê là gì trong cài đặt tường lửa, để tôi có thể đưa nó vào danh sách trắng? Hoặc thậm chí tốt hơn, làm cách nào tôi có thể chọn Kết nối với WSL là một mạng riêng?
NotTheDr01ds avatar
lá cờ vn
Thú vị - Bạn có chắc là Tường lửa Windows đang chặn nó không? Máy ảo Win11 của tôi được đặt thành Công khai cho chính máy ảo đó, nhưng tôi vẫn có thể kết nối với nó thông qua RDP và các phiên bản WSL bên trong nó đang phân giải DNS mà không gặp vấn đề gì. Tôi không biết cách thay đổi WSL vNIC thành Riêng tư - Trên thực tế, trong Windows 11, vNIC dường như bị ẩn hoàn toàn khỏi Giao diện người dùng Windows (nhưng vẫn hiển thị với ipconfig). Nhưng tôi tự hỏi liệu lỗ Pi có thể từ chối phiên bản WSL không?
NotTheDr01ds avatar
lá cờ vn
Dù sao, điều gì sẽ xảy ra nếu bạn (tạm thời) thay đổi toàn bộ cấu hình mạng Win11 thành "Riêng tư" (ít nhất là nếu bạn đang ở trên mạng "an toàn") - Có sự khác biệt nào trong cách WSL phản hồi không? (đồng thời, cảm ơn vì đã @tag tôi để tôi nhận được thông báo!)
NotTheDr01ds avatar
lá cờ vn
Ngoài ra, do chúng tôi nghĩ rằng đây là vấn đề nhiều hơn ở phía Windows (chắc chắn * không * liên quan đến Ubuntu) và bạn chưa nhận được bất kỳ câu trả lời nào khác từ bất kỳ ai trên Ask Ubuntu, có lẽ đã đến lúc xóa câu trả lời này và tạo lại câu hỏi trên [Super User](https://superuser.com).
NotTheDr01ds avatar
lá cờ vn
Và [Câu trả lời của người dùng cấp cao](https://superuser.com/a/1496354/1210833) có khả năng liên quan. Ít nhất là hai năm trước, không thể đặt WSL vNIC thành riêng tư. Tôi chưa thấy bất kỳ dấu hiệu nào cho thấy nó sẽ khác, nhưng Win11 dường như có một số thay đổi khá đáng kể trong lĩnh vực này.
LightJack05 avatar
lá cờ us
@NotTheDr01ds Ok, tôi đoán tôi sẽ đến cộng đồng Microsoft. Tôi sẽ cố gắng tìm cách thay đổi cấu hình Mạng thành riêng tư (Hiển thị là không xác định trong bảo mật windows và hoàn toàn không trong cài đặt mạng). Vấn đề thực tế là tôi đã chọn cho tường lửa Windows để chặn mọi thứ đến khi được kết nối với mạng công cộng. Cảm ơn đã giúp đỡ!
LightJack05 avatar
lá cờ us
@NotTheDr01ds Trong trường hợp bạn muốn xem câu hỏi, đây là liên kết: https://answers.microsoft.com/en-us/windows/forum/all/change-the-wsl-network-profile-from -public-to/c62b7bc3-8faf-44bc-8b67-848357352534
Điểm:1
lá cờ cn

Đây là sự cố với WSL, không phải Ubuntu hay Windows. Có rất nhiều giải pháp ngoài kia, giải pháp tốt nhất tôi tìm thấy https://gist.github.com/coltenkrauter/608cfe02319ce60facd76373249b8ca6

Nó cũng bao gồm thông tin VPN, nhưng các bước cũng hoạt động mà không cần VPN.

  1. Chạy các lệnh này trong thiết bị đầu cuối Ubuntu.

    cd ~/../../etc # Chuyển đến thư mục etc trong WSL.
    tiếng vang "[mạng]" | sudo tee wsl.conf # Tạo tập tin wsl.conf và thêm dòng đầu tiên.
    tiếng vang "tạoResolvConf = false" | sudo tee -a wsl.conf # Nối thêm wsl.conf vào dòng tiếp theo.
    wsl --terminate Debian # Chấm dứt WSL trong Windows cmd, trong trường hợp HĐH là Ubuntu chứ không phải Debian.
    cd ~/../../etc # Chuyển đến thư mục etc trong WSL.
    sudo rm -Rf resolv.conf # Xóa tệp độ phân giải.conf.
    
  2. Trong Windows cmd, PowerShell hoặc thiết bị đầu cuối có kết nối VPN, hãy thực hiện: Giao diện Get-NetIP hoặc ipconfig / all để lấy DNS chính và thứ cấp.

  3. Với DNS chính và phụ nhận được từ bước 2. thay thế các số trong bước tiếp theo trong X.X.X.X

  4. tiếng vang "máy chủ định danh X.X.X.X" | Sudo tee độ phân giải.conf (Tạo độ phân giải.conf và nối thêm dòng.)

  5. tiếng vang "máy chủ định danh X.X.X.X" | sudo tee -a độ phân giải.conf (Nối dòng trong giải quyết.conf)

  6. wsl --chấm dứt Debian (Chấm dứt WSL trong Windows cmd, trong trường hợp Ubuntu không phải Debian).

  7. Sudo chattr +i resolv.conf

  8. Cuối cùng trong Windows cmd, PowerShell hoặc terminal:

    Get-NetAdapter | Đối tượng ở đâu {$_.InterfaceDescription -Match "Cisco AnyConnect"} | Set-NetIPInterface -InterfaceMetric 6000
    

Tín dụng: @MartinCaccia, @yukosgiti, @machuu và @AlbesK:
https://github.com/microsoft/WSL/issues/4277
https://github.com/microsoft/WSL/issues/4246

NotTheDr01ds avatar
lá cờ vn
Chào mừng bạn đến với Hỏi Ubuntu và cảm ơn câu trả lời của bạn! Tôi nhận thấy bạn đã có phiếu phản đối và điều đó *có khả năng* (mặc dù bạn không bao giờ có thể chắc chắn) vì câu trả lời của bạn tóm tắt thành cái mà chúng tôi gọi là "câu trả lời chỉ liên kết", thường không được phép ở đây và [có thể bị xóa ](https://askubuntu.com/help/deleted-answers). Mặc dù bạn có thể (và được khuyến khích) cung cấp một liên kết dưới dạng ghi công, nhưng chúng tôi yêu cầu bạn đưa trực tiếp các chi tiết liên quan về cách giải quyết vấn đề vào câu trả lời của mình. Cảm ơn!
Điểm:1
lá cờ it

WSL đang nhận địa chỉ IP của nó (và đó là máy chủ DNS, mặt nạ mạng và những thứ khác) từ Máy chủ DHCP của Windows. Sửa nó trên Windows hoặc sửa máy chủ DNS trên 172.22.192.1.

Đây là sự cố của Windows, không phải sự cố của Ubuntu.

Và Không, tôi không biết Windows thực hiện DHCP như thế nào.

LightJack05 avatar
lá cờ us
Xin chào, vấn đề là: Tôi không có DNS trên IP này. Tôi thậm chí không biết IP này là gì. Windows đang nhận DNS từ bộ định tuyến của tôi tại 192.168.178.1.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.