奧推網

選單
科技

NAS星球 篇五:WiNAS之忘記WSL2動態IP煩惱 CentOS設定及固定IP

作者:買的有態度

上一篇文說明了怎麼樣在windows10中安裝Linux核心和centos。

但是安裝好之後的centOS是執行在WSL1模式下,而對Docker而言WSL2會更好一些,兩者的比較可以去微軟WSL官網檢視。

升級到WSL2

在開始選單按鈕上右鍵選擇“Windows PowerShell (管理員)”。

在出現的命令列Shell視窗中可以輸入以下命令

檢視Linux的版本和狀態

wsl -l -v

將WSL1的Linux切換到WSL2模式,其中“CentOS”為你需要使用的Linux名稱。

wsl ——set-version CentOS 2

關閉WSL

wsl ——shutdown

切換到WSL2模式後最好重啟一下。重啟後就可以直接執行Cent OS了,因為在國內使用,我們還需要透過以下命令把源換成國內源,我選擇了阿里雲的源。

首先備份原來的源

cd /etc/yum。repos。d/;mkdir bak/; mv *。repo bak/

然後替換為阿里雲的源,下邊的命令最後加一個空格,後面新增你需要的阿里雲源的地址,大媽不能在文字中新增阿里雲源的連結,大家可以參照圖片。

curl -o /etc/yum。repos。d/CentOS-Base。repo

清除快取

yum clean all

重建快取

yum makecache

升級系統元件

yum update -y

固定IP

啟動WSL的CnetOS後可以透過“ ifconfig ”命令檢視Cent OS的IP地址,我們可以發現,每次重啟宿主機,IP都是不一樣的。我試過了網友提供的“ 。wslconfig ”方法,似乎在Win10升級到22H2後建立的WSL,這個方法就無效了。

這裡我找到了

另外可用的方案

,每次宿主機開機首次啟動WSL時會自動生成一個vEthernet (WSL)虛擬網路連線,這個連線的IP是動態的,我們要做的就是為這個連線新增一個固定IP。

新增Linux啟動項

首先在建立一個“ nas。sh ”檔案,並在其中新增如下內容,有幾個個需要注意的地方:

1。兩個命令間要有一行空行,如果沒有,有的時候會卡死;

2。編輯器要切換至UTF-8 Linux/Unix模式;

3。“192。168。66。2”中的66要與你家裡的內網路由IP

不同。

#!/bin/bash

ip addr add 192。168。66。2/24 broadcast 192。168。66。255 dev eth0 label eth0:1

之後把這個“ nas。sh ”移動到Linux的“ etc/profile。d ”目錄,因為Win10已經自動掛載了Linux根目錄,直接透過Win10的資源管理器移動即可。

啟用Win指令碼執行許可權

預設情況下Win是不允許PowerShell執行指令碼的,只允許執行命令,再次以管理員許可權開啟PowerShell,在其中輸入“ set-executionpolicy remotesigned ”,之後重啟,就可以執行ps1指令碼了。

建立固定IP指令碼

新建一個“ nas。ps1 ”檔案,並在其中加入如下命令。其中的“100”是為了等待WSL的Cent OS完成啟動而延遲時間100秒,如果你的電腦效能較高,也可以縮短這個時間。

Start-Sleep -Seconds 100 | netsh interface ip add address “vEthernet (WSL)” 192。168。66。1 255。255。255。0

exit

把這個PS1指令碼建立一個快捷方式,並選擇用管理員模式啟動。

最後把“ nas。ps1 ”的快捷方式和Cent OS的快捷方式移動到“ C ProgramData Microsoft Windows Start Menu Programs StartUp ”(自動被去了斜槓,你們懂得)就可以了。