Window11 WSL2 添加静态IP的脚本
作者:白日醒梦
这篇文章主要介绍了Window11 WSL2 添加静态IP的脚本方法,通过一段脚本给 Windows 端的"vEthernet (WSL)"加了IPv4 172.18.16.1,给 Linux 端的 eth0 添加 IPv4 172.18.16.1,在使用前,请按需调整网络接口的名称和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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!