设置WSL中配置DNS服务器防止重启后重置,来源于wsl下Ubuntu环境访问阿里云太慢了

WSL中配置DNS服务器防止重启后重置

在WSL (Windows Subsystem for Linux) 中,直接修改 /etc/resolv.conf 文件会在系统重启后被重置。以下是正确配置DNS以避免此问题的方法。

问题描述

直接修改 /etc/resolv.conf 将 nameserver 设置为 8.8.8.8 后,每次重启系统都会被重置回原来的配置。

解决方案

步骤1:创建/编辑 wsl.conf 配置文件

wsl.conf 是 WSL 的核心配置文件,用于自定义 WSL 与 Windows 主机的交互规则(包括网络、文件系统等)。

执行以下命令编辑该文件:

bash 复制代码
sudo vi /etc/wsl.conf

如果文件不存在,会自动创建。在文件中添加以下内容(作用是禁用 WSL 自动生成 resolv.conf):

ini 复制代码
[network]
generateResolvConf = false  # 关闭自动生成 resolv.conf 的功能

步骤2:删除自动生成的 resolv.conf 并手动创建新文件

由于 WSL 之前可能已经生成了自动的 resolv.conf(可能是一个符号链接),需要先删除它,再手动创建一个新的静态文件。

执行命令:

bash 复制代码
# 删除原有的 resolv.conf(如果是符号链接或自动生成的文件)
sudo rm -f /etc/resolv.conf

# 手动创建新的 resolv.conf 并写入自定义 DNS
sudo nano /etc/resolv.conf

在新的 resolv.conf 中添加你需要的 DNS 服务器:

复制代码
nameserver 8.8.8.8  # Google 公共 DNS
# 可选:添加备用 DNS,如 8.8.4.4
# nameserver 8.8.4.4

保存并退出。

步骤3:设置文件权限

为了确保配置文件不会被意外修改,可以设置适当的文件权限:

bash 复制代码
sudo chmod 644 /etc/resolv.conf
sudo chattr +i /etc/resolv.conf  # 防止文件被修改(可选)

总结

通过以上步骤配置后,您的DNS设置将在系统重启后保持不变。关键在于禁用WSL自动生成 resolv.conf 文件的功能,并手动创建和保护该文件。

相关推荐
小新讲网安3 分钟前
HTTP请求走私攻击实战:CL.TE与TE.CL绕过前端服务器全解析
服务器·前端·网络·web安全·http·架构·漏洞
桑榆4165 小时前
双系统(Windows + Ubuntu)安装流程
linux·windows·ubuntu
我是谁??11 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
圣殿骑士-Khtangc12 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
Kendra91913 小时前
从 0 到上线:单文件网页 App 部署到阿里云 ECS 全流程(Nginx+Node+PM2+PostgreSQL)
nginx·阿里云·云计算·部署·个人开发·今天吃什么
这个DBA有点耶13 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
测试运维日常笔记13 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
像风一样自由202014 小时前
加强版VScode结合remote-ssh远程连接服务器开发指南
服务器·vscode·ssh
雾时之林14 小时前
Linux----cron定时服务
linux·运维·服务器
sunly_15 小时前
TypeScript:3、类型声明与类型推断
javascript·ubuntu·typescript