如何将 WSL 接入局域网并与宿主机同网段
Windows Subsystem for Linux (WSL) 是一个非常实用的工具,它允许在 Windows 系统上原生运行 Linux 环境。默认情况下,WSL 使用 NAT 网络模式,与宿主机处于不同的网段。但在某些情况下,我们可能需要将 WSL 接入局域网,并与宿主机位于同一网段内。下面我们就来详细介绍如何实现这一目标。
步骤一:配置 Windows 主机网络
首先,确保你的 Windows 主机已经连接到局域网。然后,打开命令提示符或 PowerShell,并以管理员身份运行。输入以下命令,将 WSL 的网络模式设置为 bridge:
wsl --shutdown
netsh interface ip add address "vEthernet (WSL)" <ip_address> <subnet_mask>
其中,<ip_address>
是你想分配给 WSL 的静态 IP 地址,该地址需要与宿主机在同一网段内。<subnet_mask>
则是局域网的子网掩码,通常是 255.255.255.0
。
步骤二:配置 WSL 网络
接下来,我们需要配置 WSL 内部的网络设置。首先启动 WSL 终端,然后运行以下命令:
wsl -d <distro> -u root ip addr add <ip_address>/<cidr> dev eth0
wsl -d <distro> -u root ip route add default via <windows_ip>
其中,<distro>
是你的 WSL 发行版名称,<ip_address>
是你在上一步中分配给 WSL 的静态 IP 地址,<cidr>
是子网掩码的 CIDR 表示法(如 24
),<windows_ip>
则是 Windows 主机在局域网中的 IP 地址。
接着,编辑 WSL 中的 /etc/resolv.conf
文件,添加以下内容:
nameserver <windows_ip>
这样 WSL 就会使用宿主机的 DNS 服务器。
最后,在 WSL 中运行 sudo service networking restart
或 sudo systemctl restart systemd-networkd
重启网络服务,使更改生效。
步骤三:验证网络连通性
完成以上步骤后,WSL 应该已经与宿主机在同一局域网下了。你可以在 WSL 中使用 ip addr show
命令查看分配的 IP 地址,并尝试 ping 宿主机的 IP 地址,以验证网络连通性。
此外,还有一些注意事项需要留意:
- 确保你分配给 WSL 的静态 IP 地址在局域网中是唯一的,不会与其他设备冲突。
- 如果宿主机的网络配置发生变化(如连接到其他网络、IP 地址更改等),你可能需要相应地调整 WSL 的网络配置。
- 在某些情况下,WSL 可能会自动切换回 NAT 模式。如果遇到这种情况,你需要重新执行上述步骤来恢复桥接模式。
总结
通过以上步骤,我们就可以成功地将 WSL 接入局域网,并与宿主机位于同一网段内。这种配置方式可以方便地在 WSL 中访问局域网内的其他设备和服务,也能让其他设备通过 SSH 等方式访问 WSL。希望本文对你理解和配置 WSL 网络有所帮助。如有任何疑问或建议,欢迎随时交流讨论。