跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • WSL2 的 IP 不固定好烦啊,提供一个临时方案
未分類
23 1 月 2021

WSL2 的 IP 不固定好烦啊,提供一个临时方案

WSL2 的 IP 不固定好烦啊,提供一个临时方案

資深大佬 : szq8014 7

尝试绑定 IP 结果一重启就回到解放前,只能是想一个其它办法来绕过,毕竟 IP 可变,但是 hostname 可以固定不变。

每次在 wsl 启动后把 ip 更新到 windows 的 etc/hosts 文件里面不就行了? 就按这个思路来。

已知

  • powershell 中的命令可以实现 windows hosts 内容修改
  • wsl –exec 可以直接执行 wsl 中的命令
  • 整篇无图

组合一下

# 拿到 wsl 的 ip 地址 $ipLine = wsl --exec ip -a a | findStr inet | findStr eth0 $wslIP = $ipLine.trim().split(" |/")[1] echo "WSL new ip is: " $wslIP  # 写入 etchosts 文件中 $hostsPath = "$env:windirSystem32driversetchosts" if($wslIP) {     $newHosts = Get-Content $hostsPath | Foreach {if ($_ -match '^s*([^#].*?d{1,3}.*?wsl.*)') { $wslIP + " wsl"} else {$_}}      echo $newHosts     $newHosts | Out-File $hostsPath -enc ascii } 

保存到 test.ps1 文件中运行即可。

结果: 成功

开心。

补充

  • 上面脚本中假定我的 hosts 中 wsl 的 hostname 就是 wsl 。
  • wsl 中网卡是 eth0 。
  • wsl –exec 使用的是默认发行版,如果其它发行版则需要 -d 指定
  • 想直接在 wsl 中写脚本来修改 /mnt/c/Windows/System32/drivers/etc/hosts 会 Permission Denied. ps: sudo 也不行
  • test.ps1 右键默认没有 “以管理员身份运行” ,所以得再想个办法。。
  • 办法就是再写一个 .bat 文件。。。
  • 文件内容就一行 powershell.exe $your_ps1_file_path 保存文件,右击运行就行了
  • 有点遗憾,需要每次手动运行一个脚本才行,但是主自己已经挺满意了

再次补充

此脚本仅提供一个思路,如果能运行是最让人开心的,如果不能需要调整一下脚本中具体的关键词,如 eth0, wsl 等等

大佬有話說 (5)

  • 資深大佬 : vone

    通过访问 localhost 不是会自动转发吗

  • 主 資深大佬 : szq8014

    @vone 哦,艹,原来 localhost 还给转发了。。哈哈哈哈哈哈,解决了一个不存在的问题,一直只使用 IP 的。。原来 WSL 还有魔法

  • 資深大佬 : CuriousBull

    在别的地方看到设置 wsl2 图形界面设置,有使用以下语句
    `export DISPLAY=$(ip route | awk ‘{print $3; exit}’):0`

    仿照类似的句式,配合 clash,同样可以设置代理端口设置,譬如
    `export https_proxy=$(ip route | awk ‘{print $3; exit}’):7890`

  • 主 資深大佬 : szq8014

    @CuriousBull 哈哈,你这个是反过来用

  • 資深大佬 : cymanbu

    我是通过主动设置 ip 的方式来实现的固定 ip 地址。https://blog.csdn.net/manbu_cy/article/details/108476859

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具