wsl2 固定ip_wsl2 ssh

wsl2 固定ip_wsl2 ssh给win10下的wsl2设置固定ip地址

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在使用win10上的WSL2时遇到了一个问题:每次重启电脑或wsl2后,wsl2子系统的ip地址就会发生改变。后来在wsl的github上找到了相关的解决方案。

WSL2固定ip地址

当前问题

在使用win10的wsl2子系统时,windows会通过虚拟交换机给win10本机wsl2子系统各自会分配一个ip地址,当windows电脑重启并再次打开wsl2时,虚拟交换机会被重新创建,分配给它们的ip地址也会随着改变。

目前我在wsl2上安装了docker环境,启动了一个mysql容器并映射了3306端口到docker宿主机的33306,这样windows可以通过wsl2-ip:33306访问mysql,docker容器之间也可以通过wsl2-ip:33306访问mysql。 但是wsl2子系统的ip地址不固定,导致每次重启wsl2都会查看当前的ip地址并修改相关链接配置,十分不方便。

解决方案

解决方案是我在wsl的github上的issue上看到的 ===> 传送门
方案的大致内容就是:既然固定不了wsl2的ip地址,那么就在启动wsl2后主动给它设置一个ip地址。

我按照上面的思路并结合自己的需求编写了一个简单的bat脚本,每当我开机后需要用到docker时就执行该脚本,这样就能够通过固定的ip地址去访问服务了。

@echo off
setlocal enabledelayedexpansion

wsl -u root service docker start | findstr "Starting Docker" > nul
if !errorlevel! equ 0 (
    echo docker start success
    :: set wsl2 ip
    wsl -u root ip addr | findstr "192.168.169.2" > nul
    if !errorlevel! equ 0 (
        echo wsl ip has set
    ) else (
        wsl -u root ip addr add 192.168.169.2/28 broadcast 192.168.169.15 dev eth0 label eth0:1
        echo set wsl ip success: 192.168.169.2
    )


    :: set windows ip
    ipconfig | findstr "192.168.169.1" > nul
    if !errorlevel! equ 0 (
        echo windows ip has set
    ) else (
        netsh interface ip add address "vEthernet (WSL)" 192.168.169.1 255.255.255.240
        echo set windows ip success: 192.168.169.1
    )
)
pause

自己首先划定了一个虚拟的局域网络 192.168.169.1/28,然后将192.168.169.1分配给了windows,192.168.169.2分配给了wsl2,这样就可以通过指定的ip地址访问相应系统上的服务了。

上述的ip地址可以自己自定,只要不跟已有局域网络相冲突即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184387.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月31日 下午9:00
下一篇 2022年8月31日 下午9:00


相关推荐

  • APP推送系统工作原理

    APP推送系统工作原理一、传统APP架构下的信息传送APP主动向服务器请求数据,服务器被动的提供数据。步骤如下:然而,如果此时服务器又有了新的新闻,在用户没有主动刷新的情况下,服务器是不会主动推送给用户的。推送解决了这个困境,它让服务器主动连接APP,通知APP有了新的新闻,可以再请求。收到推送的APP(即使已关闭)又去服务器请求最新的新闻,用户就能看到了。二、实现推送的方法实现一个推送系统需要服务器端和…

    2022年6月2日
    37
  • 计算机组成原理:最详细笔记!

    计算机组成原理:最详细笔记!前言参考:《王道计算机组成原理》学习笔记总目录+思维导图2019王道考研计算机组成原理第一章计算机系统概述1.1计算机发展历程1.1.1计算机硬件的发展计算机系统=硬件+软件计算机硬件的发展:第一代计算机:(使用电子管),第二代计算机:(使用晶体管),第三代计算机:(使用较小规模的集成),第四代计算机:(使用较大规模的集成),已经经历了4代,计算机的速度越来越快,并且体积变得越来越小。发展趋势:更微型、多用途;更巨型、超高速晶体管之父:肖克利(1956年诺贝尔物

    2022年5月31日
    35
  • 线程的阻塞

    线程的阻塞相信像我一样的初学者遇到线程阻塞时会感到无助 那我就把自己对于线程阻塞的理解记录下来吧 线程阻塞时的特点 该线程放弃 CPU 的使用权 暂停运行 只有当阻塞的原因消除后才回到就绪状态进行运行被其他的线程中断 该线程也会推出阻塞状态 同时抛出 InterruptedE 的异常一般线程中的阻塞 线程执行了 Thread sleep intn 方法 该线程放弃 CPU 的使用 沉睡 n 毫秒 然后恢复运行线程执行了一段同步代码 由于无法获得相关的同步锁 只能进入阻塞状态 等获取了同步锁 才能恢复运行线程

    2026年3月20日
    2
  • android刘海屏适配(刘海屏或圆角适配)

    安卓P版本也就是刚发布的安卓9.0其中就加入了刘海屏相关的API。其相关行为与功能变更也是非常多的,从其变更的趋势及功能来看,google在进一步的收紧权限。其P版本变更行为中就加入了对非SDK接口使用的新限制。无论是直接,通过反射还是通过JNI。只要应用程序引用非SDK接口或尝试使用反射或JNI获取其句柄,就会应用这些限制。通常,应用程序应仅使用SDK中类的官方记录部分。特别是,这意味着…

    2022年4月10日
    174
  • n个正数的几何平均值大于等于其算术平均值

    n个正数的几何平均值大于等于其算术平均值参考 http kns cnki net KCMS detail detail aspx dbcode CJFQ amp dbname CJFD7984 amp filename YMXK amp v MTIxNDFYMUx1

    2026年3月17日
    1
  • rwx

    rwx常用的linux文件权限:444r–r–r–600rw——-644rw-r–r–666rw-rw-rw-700rwx——744rwxr–r–755rwxr-xr-x777rwxrwxrwx从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写…

    2022年6月13日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号