WSL(Windows Subsystem for Linux)提供了灵活的网络配置选项,允许你在 Windows 和 Linux 分发版之间共享网络资源。以下是关键配置信息:

📌 网络模式选择

WSL 支持两种网络模式:

  • WSL2(默认):通过虚拟化技术实现,拥有独立的网络栈,支持完整的系统调用。
    WSL2 网络架构
  • WSL1:基于进程隔离,网络与主机共享。适用于需要兼容性特殊协议的场景。

建议使用 WSL2 以获得更好的性能和功能支持。了解更多:/wsl/quick_start

🛠️ 配置方法

1. 修改网络设置

编辑 /etc/wsl.conf 文件,配置以下参数:

[网络]
generateHosts = true
generateResolvConf = true

此设置会自动生成 hostsresolv.conf 文件,简化 DNS 配置。

2. 自定义 IP 地址

在 WSL2 中可通过以下命令设置静态 IP:

sudo nano /etc/netplan/01-netcfg.yaml

示例配置:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses: [192.168.1.100/24]
      gateway: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

运行 sudo netplan apply 生效。

🔄 网络互通技巧

  • 与 Windows 共享网络:Linux 分发版可通过 172.x.x.x 地址访问主机,反之亦然。
  • 跨分发版通信:使用 localhost127.0.0.1 可实现同一主机上的不同 Linux 分发版互通。
  • 外部访问:确保防火墙允许对应端口,可通过 ufw allow <端口> 开放服务。

❗ 常见问题

  • 网络连接失败:检查 WSL 是否启用,运行 wsl --list --verbose 确认状态。
  • DNS 解析异常:尝试重建 DNS 缓存:sudo systemd-resolve --flush-caches
  • 端口冲突:使用 netstat -tuln 查看占用端口,或修改服务配置文件。

如需深入理解网络配置原理,可查阅 /wsl/network_config/advanced