Window11 WSL2 添加静态IP的脚本

Window11 WSL2 添加静态IP的脚本方法

基于评论 https://github.com/microsoft/WSL/issues/4210#issuecomment-648570493 的思路,我给出一个实现静态IP效果的变通方法。

1.在WSL2 Linux中创建一个脚本文件

vim /home/likfees/Shell/static-ip.sh
#!/bin/bash

/mnt/c/WINDOWS/system32/netsh.exe interface ip show addresses "vEthernet (WSL)" | /mnt/c/WINDOWS/system32/findstr.exe /C:"172.18.16.1" > /dev/null
if [ $? == 1 ]; then
  /mnt/c/WINDOWS/system32/netsh.exe interface ip add address "vEthernet (WSL)" address=172.18.16.1/24
fi

ip addr show eth0 | grep -s "172.18.16.100/24" > /dev/null
if [ $? == 1 ]; then
  ip addr add 172.18.16.100/24 broadcast 172.18.16.255 dev eth0 label eth0:1
fi

注:这段脚本给 Windows 端的"vEthernet (WSL)"加了IPv4 172.18.16.1,给 Linux 端的 eth0 添加 IPv4 172.18.16.1。在使用前,请按需调整网络接口的名称和IP地址。

2.在 WSL2 启动的时候执行该脚本

vim /etc/profile 添加以下内容

sudo /home/likfees/Shell/static-ip.sh

当然如果让 eth0 重新获取了 IP,那么需要手动运行 static-ip.sh

3.win11 能够 ping 通 wsl2,但是 wsl2 无法 ping 通 win11, 经分析主要是 win11 防火墙的原因.
在 win11 中 执行如下命令(管理员运行 powershell 或 cmd ):

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL)"  -Action Allow

4.使用静态IP

​Windows 端静态IP 172.18.16.1
​WSL Linux 端静态IP 172.18.16.100

ps:Win11 wsl2 固定IP方案

背景

win11 上通过wsl2安装了Ubuntu,想其他电脑通过ssh登入Linux,但每次电脑重启,wsl的IP会变,网上找了个脚本,可以固定wsl的IP。

脚本

@echo off
setlocal enabledelayedexpansion
::先停掉可能在跑的wsl实例
wsl --shutdown ubuntu
if !errorlevel! equ 0 (
    ::检查WSL有没有我需要的IP
    wsl -u root ip addr | findstr "192.168.3.100" > nul
    if !errorlevel! equ 0 (
        echo wsl ip has set
    ) else (
        ::IP不存在则绑定IP
        wsl -u root ip addr add 192.168.3.100/24 broadcast 192.168.3.255 dev eth0 label eth0:1
        echo set wsl ip success: 192.168.3.100
    )
    ::检查宿主机有没有我需要的IP
    ipconfig | findstr "192.168.3.200" > nul
    if !errorlevel! equ 0 (
        echo windows ip has set
    ) else (
        ::IP不存在则绑定IP
        netsh interface ip add address "vEthernet (WSL)" 192.168.3.200 255.255.255.0
        echo set windows ip success: 192.168.3.200
    )
)
 ::为主机设置SSH转发端口
 netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=192.168.3.100 connectport=22
pause

到此这篇关于Window11 WSL2 添加静态IP的文章就介绍到这了,更多相关Window11 WSL2 添加静态IP内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • ubuntu20.04设置静态ip地址(包括不同版本)

    因为Ubuntu20.04通过netplan来管理网络,和之前得版本略有区别,Ubuntu18.04好像需要编辑/network/interfaces来设置静态网络 因为安装的是虚拟机,首先我将其改为桥接模式 接下来编辑文件: sudo vim /etc/netplan/01-network-manager-all.yaml 将文件内容修改为: 我一直有疑惑,是不是要针对不同的ip地址进行修改呢? 不过因为我还没到那个层次,所以也不是很清楚,应该是可以修改的, 但是直接将下面的代码敲到文件中也是

  • Ubuntu 18.04 Server 设置静态IP 的方法

    一.背景 Netplan是Ubuntu 17.10中引入的一种新的命令行网络配置实用程序,用于在Ubuntu系统中轻松管理和配置网络设置.它允许您使用YAML抽象来配置网络接口.它可与NetworkManager和systemd-networkd网络守护程序(称为渲染程序,您可以选择使用其中的哪一个)一起作为内核的接口. 它读取/etc/netplan/*.ymal中描述的网络配置,并且可以将所有网络接口的配置存储在这些文件中. 在本文中.我们将解释如何使用Netplan实用程序在Ubuntu

  • 详解Centos8 配置静态IP的实现

    安装centos 8之后,重启启动网络时,会出现以下报错 报错信息如下: Failed to start network.service: Unit network.service not found. 意思为无法重启网络服务,原因是无法找到network.service网络服务. 在rhel8(含centos8)上,在/etc/sysconfig/network-scripts/里也看不到任何脚本文件,没有传统的network.service.因此只能通过其它方法进行网络配置,包括NM命令工具

  • Window11 WSL2 添加静态IP的脚本

    Window11 WSL2 添加静态IP的脚本方法 基于评论 https://github.com/microsoft/WSL/issues/4210#issuecomment-648570493 的思路,我给出一个实现静态IP效果的变通方法. 1.在WSL2 Linux中创建一个脚本文件 vim /home/likfees/Shell/static-ip.sh #!/bin/bash /mnt/c/WINDOWS/system32/netsh.exe interface ip show add

  • Centos7上网及添加静态IP方法介绍

    1.右键电脑图标 选择管理 单击服务和应用程序 选择服务 开启虚拟机的五个服务 并设置为自动 2.设置虚拟机网络为桥接模式或者nat模式也可以 3.开启linux 打开终端 这里的ens33每个人的都不一样 vim /etc/sysconfig/network-scripts/ifcfg-ens33 把ONBOOT=no改为yes 可以选择添加静态ip 末尾添加 IPADDR=ip地址 注意:如有dhcp,就注释掉那行代码,或者改dhcp为static 4. 重启网络 service netwo

  • CentOS7 mini的安装和静态ip设置教程

    centos 7 变化很多 首先安装过程中,操作变化方式很大,mini安装也没有了base这个选项,也就导致很多在centos6里面的命令在7中没有办法使用. 再就是,非常多的命令,也开始逐渐的走出了CentOS的舞台,虽然可以用yum来安装,但是,他们确实老了(ifconfig变成了ip addr,route变成了ip -route,arp变成了ip neighbor,ifconfig eth1 up变成了ip l set eth1 up,ifconfig eth1 down变成了ip l s

  • PowerShell脚本实现网卡DHCP自动获取IP地址、设置静态IP地址的方法

    PowerShell设置DHCP自动获取IP地址,PowerShell可以很方便的设置本地计算机启用DHCP来动态获取IP地址,这需要用到WMI扩展.本文介绍详细的脚本程序. PowerShell设置DHCP自动获取IP地址 PowerShell可以很方便的设置本地计算机启用DHCP来动态获取IP地址,这需要用到WMI扩展.本文介绍详细的脚本程序. 第一步,使用Get-WmiObject来获取到指定的网卡配置对象 复制代码 代码如下: $netAdp = gwmi win32_networkad

  • 浅析在 RHEL8 配置静态 IP 地址的不同方法

    在 Linux 服务器上工作时,在网卡/以太网卡上分配静态 IP 地址是每个 Linux 工程师的常见任务之一.如果一个人在 Linux 服务器上正确配置了静态地址,那么他/她就可以通过网络远程访问它.在本文中,我们将演示在 RHEL 8 服务器网卡上配置静态 IP 地址的不同方法. 以下是在网卡上配置静态IP的方法: nmcli(命令行工具) 网络脚本文件(ifcfg-*) nmtui(基于文本的用户界面) 使用 nmcli 命令行工具配置静态 IP 地址 每当我们安装 RHEL 8 服务器时

  • Linux添加静态路由两种实现方法解析

    添加路由的命令: 1.route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #添加一条静态路由 route add default gw 192.168.0.1 #添加默认路由 route del -net 192.168.1.0 /24 gw 192.168.0.1 #删除一条路由 route -n #查看路由表 2.ip ro add ip ro add 192.56.76.0 /24 dev 192.168.

  • 【Linux】VMware虚拟机中如何配置静态IP详解

    此处详解如何在VMware虚拟机中配置静态IP. 上图是一个草图,大致说明下VMware网络情况.网段指某个IP范围,例如一栋小区楼和另一栋小区楼就不是一个网段 如果你在A小区,你女朋友在B小区,你想和她联系就需要通过网关.你好基友住你隔壁,你和他通信就不需要通过网关.VMware 给我们模拟了网关,所以我们配置的时候需要根据VMware虚拟机来设置网络ip.我们将windows和Linux配置在一个网段内. 1.查看网关,以及网段 [编辑]-->[虚拟网络编辑器] 我们使用NAT模式,所以选择

  • ubuntu 设置静态IP的实现方法

    Ubuntu 设定静态IP: 切换到root用户,然后进入/etc/network目录.备份interfaces文件(备份文件是一个好习惯) 下面编辑interfaces文件,添加如下语句: 1 # Assgin static IP by eric on 26-SEP-2012 2 iface eth0 inet static 3 address 192.168.196.135 #change to your static IP 4 netmask 255.255.255.0 #change t

  • VMware下CentOS6.4网卡设置为桥接模式静态IP配置方法详解

    1.禁用网络管理器 # chkconfig NetworkManager off # service NetworkManager stop 2.创建用以桥接的虚拟网卡 # cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-br0 注:修改之前做好备份啊,万一有问题还可以还原! 3.编辑 ifcfg-br0 # vi ifcfg-br0 DEVICE="br0" TYPE="Bridge" ONBOOT=

  • 详解CentOS下VMware用桥接模式,静态ip上外网

    VMware中网络设置之Bridged 也是关于linux下vmware桥接模式.静态ip上外网的配置,不过当时更多的是用图形界面来实现的,通用性不强.生产环境,极少有linux安装图形界面的.索性原博客也不修改了,重新来一篇得了.这里我用的是CentOS6.5的最小系统来演示.当前了,因为CentOS属于红帽系列,所以本文所讲的方法对于redhat系列的linux网络配置同样适用. 一.桥接模式之VMware设置: VMware->[Edit]->[Virtual Network Edit]

随机推荐