对于软件开发者来说,Windows 的开发环境配置一直都是不小的麻烦,由于服务器往往是 Linux 环境,在 Windows 下开发,开发者需要解决各种各样的 Linux 兼容性问题。
微软在 2016 年正式推出了 Windows 的 Linux 子系统(Windows Subsystem for Linux,简称 WSL),又在 2019 年 5 月推出了 WSL 2,WSL 2 引入了完整的 Linux 内核。
既然有了这么好的工具,理论上开发者就可以很轻松地在 WSL 2 上布置开发环境并进行开发了,但实际情况却是 WSL 2 还存在不少小问题,有些直到近期才得到解决。
本文主要讲讲 WSL 2 在网络配置方面的问题和解决方法。因为在早期版本中,WSL 2 的网络配置相对复杂。用户经常遇到的问题包括:
- 网络隔离问题:WSL 2 默认的网络模式可能导致与宿主机的网络隔离,使得某些网络服务无法正常工作。
- 网络代理配置问题:在 WSL 2 中需要做很多命令行操作,但并不是所有命令行都会走网络代理。
- Docker 配置困难:我们有时候需要通过 Docker 在本地部署一些服务,但如果用错误的方法在 WSL 2 中安装 Docker。
- IP 地址变动问题:每次重启 WSL 2 或 Windows 系统后,WSL 2 分配的 IP 地址会发生变化,这导致需要频繁更新服务配置。
以往为了解决这些网络问题,用户不得不采取一些手动配置的步骤,比如用脚本动态获取 IP 地址,并在系统启动时运行,但这种方法既不方便又不稳定,往往需要用户具备一定的脚本编写能力,在某些情况下还可能导致网络无法连接。
随着 WSL 2 的更新,微软也逐渐提供了更加简化的网络配置方法。在最新版本中,已经可以较为简单地解决这些问题了。