LoginSignup
1
3

More than 1 year has passed since last update.

WSL2に固定のIPを追加する

Last updated at Posted at 2023-05-01

WSL2のIPアドレスは再起動すると変わってしまうため、疑似的に固定IPを使用する方法を備忘録として残しておく。

IP追加手順(手動)

以下の手順をPowerShellで実行する。(PowerShellは管理者として実行すること。)
まず、InterfaceIndexの確認。

Get-NetAdapter -IncludeHidden

結果から以下の行を見つける。ifIndexが必要。

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
vEthernet (WSL)           Hyper-V Virtual Ethernet Adapter             20 Up           xx-xx-xx-xx-xx-xx        10 Gbps

以下のコマンドでIPアドレスを追加する。IPアドレスは任意でOK。InterfaceIndexは上で確認したものを設定する。

New-NetIPAddress -IPAddress 172.29.3.50 -PrefixLength 24 -InterfaceIndex 20
IPAddress         : 172.29.3.50
InterfaceIndex    : 20
InterfaceAlias    : vEthernet (WSL)
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 24
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Tentative
ValidLifetime     :
PreferredLifetime :
SkipAsSource      : False
PolicyStore       : ActiveStore

IPAddress         : 172.29.3.50
InterfaceIndex    : 20
InterfaceAlias    : vEthernet (WSL)
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 24
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Invalid
ValidLifetime     :
PreferredLifetime :
SkipAsSource      : False
PolicyStore       : PersistentStore

ipconfigで確認。IPv4 アドレスが追加されている。

ipconfig
Windows IP 構成

イーサネット アダプター vEthernet (WSL):

   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::97d2:449d:4467:e66c%20
   IPv4 アドレス . . . . . . . . . . . .: 172.29.3.50
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   IPv4 アドレス . . . . . . . . . . . .: 172.29.48.1
   サブネット マスク . . . . . . . . . .: 255.255.240.0
   デフォルト ゲートウェイ . . . . . . .:

IP追加手順(自動)

上記手順を以下のようなps1ファイルとして保存し、タスクスケジューラなどでPC起動時に自動実行するように設定する。
こうすることで"172.29.3.50"を固定IPのように使用することが可能となる。
(タスクスケジューラへの設定は「タスクスケジューラ ps1」などでググれば出てくる。)

AddIPAddress.ps1
New-NetIPAddress -InterfaceIndex 20 -IPAddress 172.29.3.50 -PrefixLength 24

削除手順

ちなみに、再起動しなくとも以下のコマンドで追加したIPを削除できる。

Get-NetIPAddress -IPAddress 172.29.3.50 | Remove-NetIPAddress
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3