参考:

https://www.cnblogs.com/lidabo/p/16855858.html

https://zhuanlan.zhihu.com/p/515068209

============================

Wsl Ubuntu的IP地址会随着宿主机Windows的重启而更换IP,为此会对远程ssh连接造成一定的麻烦,为此考虑对其设置固定IP。

网上找到相关资料1:

https://www.cnblogs.com/lidabo/p/16855858.html

给出windows宿主机上的命令操作:

wsl.bat 文件,内容如下,运行该脚本后 WSL Ubuntu Ip: 172.18.54.10, Windows 宿主机IP:172.18.54.1
@ECHO OFF
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c ""%~s0"" ::","","runas",1)(window.close)&&exit
setlocal enabledelayedexpansion
wsl --shutdown ubuntu
wsl -u root service ssh start
if !errorlevel! equ 0 (
wsl -u root ip addr | findstr "172.18.54.10" > nul
if !errorlevel! equ 0 (
echo wsl ip has set: 172.18.54.10
) else (
wsl -u root ip addr add 172.18.54.10/16 broadcast 172.18.54.0 dev eth0 label eth0:1
echo set wsl ip success: 172.18.54.10
)
ipconfig | findstr "172.18.54.1" > nul
if !errorlevel! equ 0 (
echo windows ip has set: 172.18.54.1
) else (
netsh interface ip add address "vEthernet (WSL)" 172.18.54.1 255.255.0.0
echo set windows ip success: 172.18.54.1
)
)
ping 172.18.54.10
pause

---------------------------------------------------------------

资料2:

https://zhuanlan.zhihu.com/p/515068209

给出的bat命令:(设置WSL ubuntu固定IP为192.168.120.181,宿主windows额外IP为192.168.120.100)

@echo off
setlocal enabledelayedexpansion ::不管三七二十一先停掉可能在跑的wsl实例
wsl --shutdown ubuntu
::重新拉起来,并且用root的身份,启动ssh服务和docker服务
wsl -u root service ssh start
wsl -u root service docker start | findstr "Starting Docker" > nul
if !errorlevel! equ 0 (
echo docker start success
:: 看看我要的IP在不在
wsl -u root ip addr | findstr "192.168.120.181" > nul
if !errorlevel! equ 0 (
echo wsl ip has set
) else (
::不在的话给安排上
wsl -u root ip addr add 192.168.120.181/24 broadcast 192.168.120.0 dev eth0 label eth0:1
echo set wsl ip success: 192.168.120.181
) ::windows作为wsl的宿主,在wsl的固定IP的同一网段也给安排另外一个IP
ipconfig | findstr "192.168.120.100" > nul
if !errorlevel! equ 0 (
echo windows ip has set
) else (
netsh interface ip add address "vEthernet (WSL)" 192.168.120.100 255.255.255.0
echo set windows ip success: 192.168.120.100
)
)
pause

=====================================

为wsl ubuntu设置固定IP的更多相关文章

  1. Linux - ubuntu 设置固定ip和设置dns

    ubuntu 设置固定ip和设置dns 1.ifconfig 查看网卡名称 root@jiqing-virtual-machine:~# ifconfig ens32 Link encap:以太网 硬 ...

  2. 虚拟机中Ubuntu设置固定IP方法

    --2013年7月29日20:39:16 场景:在搭建hadoop分布式系统的时候,每次重启节点,节点对应的ip发生变化,现在需要将每个节点绑固定的ip --原理: 设置节点用的网卡->绑定ip ...

  3. ubuntu设置固定ip

    设定IP $sudo gedit /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet st ...

  4. ubuntu 设置固定IP

    vim  /etc/network/interface address   要固定的IP地址 netmask  子网掩码  A类地址 默认255.0.0.0   B类地址默 255.255.0.0  ...

  5. 转 -- Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)

    原文转自:http://www.cnblogs.com/lanxuezaipiao/p/3613497.html#undefined 虚拟机里设置上网方式为NAT最方便,因为无需手动设置即可上网,但是 ...

  6. Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)

    虚拟机里设置上网方式为NAT最方便,因为无需手动设置即可上网,但是NAT的上网方式默认是DHCP动态分配IP的,这意味着你每次重启虚拟机都 有不一样的IP地址,这对一般用户没任何问题.但是如果你的机子 ...

  7. [例子]Ubuntu虚拟机设置固定IP上网

    宿主机器     win7 linux            Ubuntu 14.04 LTS 参考: Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP.网关.DNS.防止resolv.c ...

  8. Linux系列:Fedora虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)

    首先声明:该方法在Fedora 17和18版本下有效,其它版本也许可行也许有所差异. 1.  虚拟机相关配置 如果不是虚拟机系统,则这步不需要,若是相关配置详细信息请看“Linux系列:Ubuntu虚 ...

  9. linux 设置固定ip和dns

    目录 1. centos 1.1 ifconfig 查看网卡名称 1.2 设置固定ip和dns 1.3 重启网络 2. ubuntu 2.1 ifconfig 查看网卡名称 2.2 设置固定ip和dn ...

  10. VMware workstation CentOs 7 虚拟机网卡设置为NAT模式并设置固定IP

    一.背景知识      虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3 ...

随机推荐

  1. 记Codes 重新定义 SaaS模式开源免费研发项目管理平台——多事项闭环迭代的创新实现

    1.简介 Codes 重新定义 SaaS 模式 = 云端认证 + 程序及数据本地安装 + 不限功能 + 30 人免费 Codes 是一个 高效.简洁.轻量的一站式研发项目管理平台.包含需求管理,任务管 ...

  2. MoneyPrinterPlus:AI自动短视频生成工具-阿里云配置详解

    MoneyPrinterPlus是一个很好的自动短视频生成工具,虽然是一个非常好的工具,但是有些小伙伴可能不太清楚具体应该如何配置才能让它跑起来. 因为MoneyPrinterPlus依赖一些具体的配 ...

  3. 【iOS】Class对构造简洁代码很有帮助

    (这到底取的是什么标题啊) 首先先看这段代码(有删减) @property (nonatomic, copy)NSMutableArray <NSMutableArray *>*datas ...

  4. 【Mysql】 MysqlDump导表结构或数据

    mysqldump只导出表结构或只导出数据的实现方法 语法: 默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表. Usage: ...

  5. React Router 6

    路由的概念,可以想像一下路由器,当来了一个请求时,路由器做了什么事情?它会把请求的IP地址和路由表进行匹配,匹配成功后,进行转发,直到目标主机.可以看到路由有三部分组成,一个是请求,一个是路由表,一个 ...

  6. SpringBoot中的一些组件

    Redis 引入data-redis-starter <dependency>    <groupId>org.springframework.boot</groupId ...

  7. MySQL派生表合并优化的原理和实现

    本文分享自华为云社区<[华为云MySQL技术专栏]MySQL 派生表合并优化的原理和实现>,作者:GaussDB 数据库. 引言 MySQL是一种流行的开源关系型数据库管理系统,广泛应用于 ...

  8. 某手创作服务 __NS_sig3 sig3 | js 逆向

    拿获取作品列表为例 https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list?__NS_sig3=xxxxxxxxxxx 搜索__NS_ ...

  9. Peaks:每周至少要进行一次用户访谈?

    名字:Peaks 开发者 / 团队:Vogelhaus Apps GmbH 平台:iOS.watchOS 请简要介绍下这款产品 每个人生活的节奏都有一个内置的生理时钟,这就是所谓的昼夜节律.它不仅控制 ...

  10. TypeScript 学习笔记 — 接口的使用(六)

    目录 一.函数接口参数 二.函数类型接口 三.函数混合类型 四.对象接口(最常用) 确定属性 可选属性 任意属性 只读属性 可索引接口 索引访问符 类接口 接口继承 构造函数类型 type 和 int ...