Window11?WSL2?添加静态IP的脚本

 更新时间:2023年01月12日 12:02:41   作者:白日醒梦  
这篇文章主要介绍了Window11?WSL2?添加静态IP的脚本方法,通过一段脚本给?Windows?端的"vEthernet?(WSL)"加了IPv4?172.18.16.1,给?Linux?端的?eth0?添加?IPv4?172.18.16.1,在使用前,请按需调整网络接口的名称和IP地址,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • shell脚本中整数型变量自增(加1)的几种实现

    shell脚本中整数型变量自增(加1)的几种实现

    本文主要介绍了shell脚本中整数型变量自增(加1)的几种实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • 一天一个shell命令 linux文本操作系列-wc命令详解

    一天一个shell命令 linux文本操作系列-wc命令详解

    这篇文章主要介绍了一天一个shell命令 linux文本操作系列-wc命令详解,需要的朋友可以参考下
    2016-06-06
  • Linux命令之cat和tail的用法介绍

    Linux命令之cat和tail的用法介绍

    这篇文章主要,给大家带来的是?Linux?命令系列,要介绍的是两个常用的查看文件内容的命令:cat?和?tail?命令,文中代码示例介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • 完美解决ntp的错误问题no server suitable for synchronization fo

    完美解决ntp的错误问题no server suitable for synchronization fo

    下面小编就为大家带来一篇完美解决ntp的错误问题no server suitable for synchronization fo。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • shell生成简单格式的xml实例

    shell生成简单格式的xml实例

    这篇文章主要介绍了shell生成简单格式的xml实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • Shell expr命令进行整数计算的实现

    Shell expr命令进行整数计算的实现

    这篇文章主要介绍了Shell expr命令进行整数计算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Linux之时钟中断详解

    Linux之时钟中断详解

    这篇文章主要介绍了Linux之时钟中断详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • jenkins 实现shell脚本化定时执行任务的方法

    jenkins 实现shell脚本化定时执行任务的方法

    这篇文章主要介绍了jenkins 实现shell脚本化定时执行任务,解决访问是jenkins构建好之后将jar远程推送到生产服务器,提前退出后台执行服务器远程脚本,脚本通过ngnx提前切走nginx代理auction sleep 1800s,半小时后执行更新重启,具体操作过程跟随小编一起看看吧
    2022-01-01
  • shell脚本转发80端口数据包给Node.js服务器

    shell脚本转发80端口数据包给Node.js服务器

    开发基于Node.js的WEB应用很方便,但是服务端口问题很蛋疼,由于Linux内核规定普通用户只能使用大于1024的端口号,所以使用普通用户运行Node.js服务就不能监听80端口
    2014-03-03
  • linux shell中“.” 和 “./”执行的区别详解

    linux shell中“.” 和 “./”执行的区别详解

    这篇文章主要介绍了linux shell中“.” 和 “./”执行的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论

?


http://www.vxiaotou.com