windows下wsl2如何固定IP

一、配置 WSL 2 静态 IP

  • 1、windows主机查看vEthernet(WSL)的ip地址
    在这里插入图片描述

  • 2、进入 WSL 2 终端,编辑网络配置文件(以 Ubuntu 为例):

sudo vim /etc/netplan/00-installer-config.yaml

添加如下信息:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [172.17.224.100/24] #这里的ip地址需要和主机中vEthernet(WSL)的ip地址同一网段
      gateway4: 172.17.224.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
  • 3、设置完成后测试
    先生效设置:
sudo netplan apply

查看ip:

ifconfig

在这里插入图片描述

<think>好的,我现在需要帮助用户解决在WSL中配置静态IP地址的问题。首先,我得回顾一下用户提供的引用内容,看看有哪些可用的信息。 用户提到了三个引用。引用[1]和[2]都是关于WSL2设置静态IP的方法,其中提到使用批处理文件和变通方法。引用[3]是关于CentOS8的静态IP配置,涉及网络配置文件的修改,比如设置IPv4地址、网关、DNS等。 接下来,我需要整理这些信息,形成一个清晰的步骤指南。首先,用户可能使用的是WSL2,因为引用[1]和[2]都是针对WSL2的。而引用[3]虽然针对CentOS8,但可能适用于其他发行版,比如Ubuntu,只是配置文件的位置可能不同。 对于WSL2,每次启动IP固定,所以需要每次启动时自动设置静态IP。用户提到的批处理文件方法可能是在Windows主机上创建一个脚本,在每次启动WSL时运行命令来设置IP地址。另外,引用[2]中的GitHub评论可能提供了更具体的命令行步骤,比如使用netsh命令设置端口代理和IP地址。 引用[3]中的方法则是直接修改WSL内的网络配置文件,比如在Ubuntu中使用Netplan或者在CentOS中使用nmcli。但需要注意的是,WSL2的网络接口由Windows主机管理,直接在WSL内修改网络配置可能不会持久,因为每次重启WSL实例时,网络配置可能会重置。因此,可能需要结合Windows端的脚本和WSL内部的配置。 现在,我需要将这些步骤整合成一个连贯的教程。可能需要分为两个部分:Windows端的批处理脚本设置和WSL内部的静态IP配置。此外,还要考虑DNS的设置,确保网络连接正常。 同时,要注意用户可能对命令行操作不太熟悉,所以步骤需要详细,并给出具体的命令示例。例如,在批处理文件中使用wsl -d Ubuntu-22.04来指定发行版,使用netsh interface ip add address添加IP地址,以及修改/etc/resolv.conf来设置DNS。 另外,需要提醒用户注意事项,比如管理员权限、脚本存放路径、不同发行版的名称差异等。可能还需要说明这种方法的局限性,比如IP地址仅在当前会话有效,重启后需要重新运行脚本,或者如何设置开机自动执行脚本。 最后,生成相关问题,帮助用户进一步了解相关主题,比如不同发行版的配置差异、保持配置持久化的方法,以及解决网络冲突的问题。 现在需要确保所有步骤正确无误,符合引用中的方法,并且用中文清晰表达,使用正确的LaTeX格式。同时,添加引用标识到相应的步骤末尾。</think>### 如何在WSL中配置静态IP地址 #### 方法一:通过Windows批处理脚本设置(推荐) 此方法通过修改Windows主机网络接口和WSL实例的配置,实现静态IP效果。 1. **创建批处理脚本** 新建一个文本文件(如`wsl_static_ip.bat`),写入以下内容: ```bat @echo off wsl -d Ubuntu-22.04 -u root ip addr add 172.21.8.22/20 dev eth0 wsl -d Ubuntu-22.04 -u root ip route add default via 172.21.0.1 netsh interface ip add address "vEthernet (WSL)" 172.21.0.1 255.255.240.0 ``` - `172.21.8.22/20`:自定义的WSL静态IP和子网掩码 - `172.21.0.1`:Windows主机的WSL虚拟网卡网关地址[^3] 2. **设置DNS** 在WSL中修改`/etc/resolv.conf`,添加: ```bash nameserver 114.114.114.114 nameserver 8.8.8.8 ``` 3. **运行脚本** 右键以管理员身份运行批处理文件,重启WSL生效[^2]。 --- #### 方法二:修改WSL内部网络配置(适用于特定发行版) 以Ubuntu为例,通过Netplan配置静态IP: 1. **编辑Netplan配置文件** 创建或修改`/etc/netplan/01-netcfg.yaml`: ```yaml network: version: 2 ethernets: eth0: dhcp4: no addresses: [172.21.8.22/20] gateway4: 172.21.0.1 nameservers: addresses: [114.114.114.114, 8.8.8.8] ``` 2. **应用配置** ```bash sudo netplan apply ``` --- #### 注意事项 1. 脚本需以管理员权限运行,否则无法修改网络配置[^1] 2. 不同WSL发行版名称需替换(如`Ubuntu-22.04`改为实际名称) 3. 若IP冲突,需调整子网范围(如`172.21.8.22`改为其他地址) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值