为wsl ubuntu设置固定IP

参考:

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
复制代码

 

 

 

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

 

posted on   Angry_Panda  阅读(696)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2022-03-29 【转载】 xavier,kaiming初始化中的fan_in,fan_out在卷积神经网络是什么意思
2022-03-29 【转载】 深度学习——Xavier初始化方法
2022-03-29 【转载】 标准差 方差 协方差 相关系数
2022-03-29 【转载】 tensorflow变量默认是如何进行初始化的?
2021-03-29 阿里2021年春季实习笔试题(最后一道大题)(2020 China Collegiate Programming Contest, Weihai Site) (C. Rencontre codeforces.com/gym/102798)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示