WSL2-CentOS7固定IP
WSL2 采用 Hyper-V 的 Internal Virtual Switch,这个虚拟交换机本身是可以设置静态 IP 地址的,但是 WSL2 却自作聪明,在每次全新启动的时候将网络配置恢复成 DHCP,这就导致WSL2每次全新启动后的IP都不固定,如果需要一个固定的IP,需要做一些设置。
**备注:**如果使用localhost方式可正常访问的话,可不做此固定IP配置;我是在win11中使用IDEA配置远程访问docker地址localhost:2375时无法连接,才进行配置的;实测在win10中可正常连接。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qLYXInPG-1652840959291)(https://cdn.jsdelivr.net/gh/lunfangyu/PicGoImg/img/2022-05-09/image_20220509142546.png)]
前置设置
因为WSL2每次全新启动的时候将网络配置恢复成DHCP;重新生成网关和IP ;为了使我们的自定义IP能生效;我们需要对WSL2进行配置,阻止它每次重新配置网关;如果不进行此配置,即使自定义了IP,在WSL2启动后一段时间,自定义IP会被自动生成的IP进行覆盖而无法生效。配置方法如下:
进入WSL2,使用命令查看:cat /etc/resolv.conf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cbR4yk39-1652840959302)(https://cdn.jsdelivr.net/gh/lunfangyu/PicGoImg/img/2022-05-09/image-20220509172624161.png)]
如图所示,我们可以看到,配置文件注释说明得很清楚:这个文件为WSL自动生成;如果不想生成这个文件,需要添加配置文件。
因此,我们按注释的意思,使用命令新建配置文件:vim /etc/wsl.conf
;配置文件内容为:
[network]
generateResolvConf = false
增加此配置后,则不会再自动生成此文件。
由于原来的/etc/resolv.conf是可能是一个软链接(链接到/run/resolvconf/resolv.conf);不管是真实文件还是软链接,我们都需要删除它,为后面脚本进行自定义DNS做准备
执行删除命令:rm /etc/resolv.conf
至此,WSL2固定IP的前置设置完成
创建批处理文件设置静态IP
完成前面的设置后,我们需要在windows创建一个 set_static_ip.bat
批处理脚本进行IP设置,脚本内容如下: