win10 wsl2网络配置解决方案(mirrored 镜像网络)

曾经尝试过升级win11,但是我这台r5-5600g的机器,经常卡死,所以就退回win10了。本来就是因为新出的镜像网络功能二打算升级的。

因为之前的wsl的ip每次都会变动,用起来感觉很难受。所以我一直没有用wsl开发。

最近在win10上体验了镜像网络,发现以前的问题大部分都可以解决了。

需要先把wsl升级到最新2.x版本才能使用

css 复制代码
wsl --update --preview

下面是现在wsl的配置 这个文件在%ALLUSERSPROFILE%目录下,也就是你的用户目录下创建.wslcon fig,就可以对wsl进行配置,配置完了执行wsl --shutdown,关闭wsl,然后重新启动,启动时就会读取到配置

ini 复制代码
[wsl2]
memory=20GB                   #限制最大内存
processors=8                  #限制线程数
localhostforwarding=true
nestedVirtualization=true
guiApplications=true


[experimental]
autoMemoryReclaim=gradual  # gradual  | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
# 使用稀疏vhd减少空间占用
sparseVhd=true

# [boot]
# command="service redis-server start"

[network]
# 取消自动生成dns文件,
# 默认生成的dns server是本地ip,那样实测走不了clash
# 这里关掉,然后在/ect/resolv.conf设置google dns 8.8.8.8
generateResolvConf = false

这样设置以后,windows上可以通过localhost访问到wsl内开启的应用。

DNS设置

默认的DNS是指向本机的,但是因为各种原因,导致你的代理配置失效 所以,所以要修改这个配置 sudo vi resolv.conf

nameserver 8.8.8.8

wsl访问windows的问题

就是wsl下无法通过localhost访问到windows上的服务,比如你在windows上开了一个postgresql,然后wsl里面访问不到。

这个暂时不知道怎么解决,用局域网地址之类的都试了,发现也不能连接到,访问外部网址倒是没问题,比如curl www.baidu.com

不过我最后发现是虚惊一场, 虽然无法通过localhost来访问,但是通过局域网ip来访问还是可以的。 因为我的postgresql没有配置局域网访问才产生了这个问题。

修改一下配置文件就可以了。也不需要重启pgsql就能生效。 C:\Program Files\PostgreSQL\16\data\pg_hba.conf

css 复制代码
host all all 0.0.0.0/0 scram-sha-256

这样我们可以通过修改hosts文件,把localhost转发到局域网的ip地址,就能正常启动这个项目了。

bash 复制代码
sudo gedit /etc/hosts

把localhost的映射替换掉。。。

你的局域网IP   localhost
相关推荐
梅见十柒14 分钟前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Koi慢热17 分钟前
路由基础(全)
linux·网络·网络协议·安全
传而习乎27 分钟前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
我们的五年37 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
IT果果日记1 小时前
ubuntu 安装 conda
linux·ubuntu·conda
Python私教1 小时前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特1 小时前
环境变量简介
linux
小陈phd2 小时前
Vscode LinuxC++环境配置
linux·c++·vscode
是阿建吖!2 小时前
【Linux】进程状态
linux·运维
明明跟你说过2 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump