Windows上で動作するリナックス環境で開発作業を進めていると、突然IPアドレスが変わって接続に手間取る経験はありませんか。動的なIPアドレス割り当ては、通信の不安定さや外部サービスからの接続設定の煩雑さにつながります。
この記事では、Windows 11を基準に、リナックス環境のIPアドレスを固定して通信の安定性を高める設定手順を解説します。
IPアドレスを固定することで、開発サーバーやデータベースへの安定した接続が可能になり、業務効率の向上につながるでしょう。
【要点】WSLリナックス環境のIPアドレス固定設定のポイント
- WSL仮想スイッチのネットワーク情報確認: WindowsのPowerShellを使い、現在のWSL仮想スイッチのIPアドレス範囲を特定します。
- .wslconfigファイルの編集: WSLの起動設定ファイルに、固定したいIPアドレスとDNSサーバーの情報を追記します。
- リナックス環境のネットワーク設定変更: リナックス側の設定ファイルを編集し、固定IPアドレス、ゲートウェイ、DNSサーバーを手動で設定します。
ADVERTISEMENT
目次
WSLリナックス環境でIPアドレスが変動する仕組み
Windows Subsystem for Linux WSLのバージョン2は、軽量な仮想マシン環境で動作します。この仮想マシンは、起動時にWindowsのネットワーク設定からIPアドレスを自動で取得します。この自動取得はDHCPと呼ばれる方式によるものです。そのため、WSLを再起動するたびに異なるIPアドレスが割り当てられる可能性があります。
IPアドレスが変動すると、リナックス環境内で稼働しているWebサーバーやデータベースなどのサービスに対し、Windows側や外部のコンピューターから接続する際に、毎回新しいIPアドレスを確認し直す必要があります。これは、特に開発やテスト環境において、接続設定の管理を複雑にし、予期せぬ通信切断の原因ともなり得ます。IPアドレスを固定することで、常に同じアドレスでアクセスできるようになり、このような問題を回避できます。
WSLリナックス環境のIPアドレスを固定する設定手順
WSLリナックス環境のIPアドレスを固定するには、Windows側の設定変更とリナックス環境側の設定変更の両方が必要です。Windows 11を基準に解説します。
- Windows側のIPアドレス範囲を特定する
タスクバーの検索ボックスに「PowerShell」と入力し、「Windows PowerShell」を管理者として実行します。
次に、以下のコマンドを入力して実行し、WSLが使用する仮想ネットワークアダプターとそのIPアドレス情報を確認します。
Get-NetAdapter | Where-Object {$_.Name -Like "vEthernet*WSL*"} | Select-Object Name, InterfaceDescription, IfIndex
Get-NetIpAddress -InterfaceIndex 上記コマンドで表示されたIfIndex値 -AddressFamily IPv4
表示された情報の中から、WSLの仮想スイッチが使用しているIPアドレス範囲とゲートウェイアドレスをメモしておきます。例えば、「172.20.XXX.YYY」のような範囲です。 - .wslconfigファイルを編集して固定IPアドレスを設定する
ユーザープロファイルディレクトリに「.wslconfig」というファイルを作成または編集します。このファイルは、通常「C:\Users\あなたのユーザー名\」に存在します。ファイルが存在しない場合は新規作成してください。
メモ帳などのテキストエディターで開き、以下の内容を記述します。IPアドレスは、手順1で確認した範囲内で、現在使用されていないアドレスを選択してください。ゲートウェイとDNSサーバーも同様に、確認した情報を設定します。DNSサーバーはGoogle Public DNSの「8.8.8.8」と「8.8.4.4」を使用する例です。
[wsl2]
dnsStubListener=false
[network]
generateResolvConf=false
fixedIp = 固定したいIPアドレス例: 172.20.10.100
gateway = 仮想スイッチのゲートウェイアドレス例: 172.20.0.1
dns = 8.8.8.8, 8.8.4.4
ファイルを保存して閉じます。 - WSL環境をシャットダウンして再起動する
管理者として実行したPowerShellまたはコマンドプロンプトで、以下のコマンドを入力してWSLを完全にシャットダウンします。
wsl --shutdown
WSLのすべてのインスタンスが停止したことを確認したら、通常通りWSLを起動します。スタートメニューからリナックスディストリビューション例えばUbuntuを起動するか、wslコマンドを実行します。
この再起動により、.wslconfigファイルで指定した設定が適用されます。 - リナックス環境のネットワーク設定ファイルを編集する
WSL内のリナックス環境を起動し、ネットワーク設定ファイルを編集します。ディストリビューションによってファイルが異なります。UbuntuではNetplanを使用します。通常、/etc/netplan/ディレクトリ内に存在する00-installer-config.yamlなどのファイルです。ファイル名が異なる場合は、環境に合わせて読み替えてください。
以下のコマンドでファイルを編集します。sudoコマンドは管理者権限で実行する際に必要です。
sudo nano /etc/netplan/00-installer-config.yaml
ファイルの内容を以下のように変更します。addresses、gateway4、nameserversの値は、手順2で設定した固定IPアドレス、ゲートウェイアドレス、DNSサーバーのアドレスに合わせてください。dhcp4: yesの部分をdhcp4: noに変更し、手動でアドレスを設定します。
network:
ethernets:
eth0:
dhcp4: no
addresses: [固定したいIPアドレス/24 例: 172.20.10.100/24]
gateway4: 仮想スイッチのゲートウェイアドレス例: 172.20.0.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
nanoエディターでは、Ctrl+Oで保存し、Enterキーでファイル名を確定、Ctrl+Xで終了します。 - リナックス環境のネットワーク設定を適用する
編集したNetplanの設定を適用するために、以下のコマンドを実行します。
sudo netplan apply
これで、リナックス環境のIPアドレスが固定されたはずです。ip addr show eth0コマンドを実行し、inetの項目が設定した固定IPアドレスになっているか確認してください。
IPアドレス固定設定で発生しやすい問題と対処法
WSLリナックス環境のIPアドレス固定設定は複数のステップがあります。設定ミスによって問題が発生した場合の対処法を解説します。
WSLが起動できなくなる
.wslconfigファイルの記述に誤りがある場合、WSLが正常に起動しないことがあります。例えば、誤字脱字やインデントの不正確な記述などが原因です。
- 対処手順
まず、wsl --statusコマンドでWSLの状態を確認します。エラーメッセージが表示される場合は、メッセージの内容から原因を特定します。 - 対処手順
次に、C:\Users\あなたのユーザー名\.wslconfigファイルをテキストエディターで開き、記述内容を再確認します。特に[wsl2]や[network]などのセクション名、キーと値の間のイコール記号、IPアドレスの書式などに間違いがないか慎重にチェックしてください。 - 対処手順
修正後、wsl --shutdownでWSLを停止し、再度起動して問題が解決したか確認します。
インターネットに接続できない
リナックス環境でインターネットに接続できなくなる場合、ゲートウェイアドレスやDNSサーバーの設定が間違っている可能性があります。誤ったIPアドレスを指定したり、仮想スイッチの範囲外のアドレスを設定したりすると通信が途絶えます。
- 対処手順
リナックス環境内で、ping 8.8.8.8コマンドを実行し、Google Public DNSに到達できるか確認します。 - 対処手順
次に、cat /etc/netplan/00-installer-config.yamlコマンドでネットワーク設定ファイルの内容を表示し、gateway4とnameserversのアドレスが正しいか確認します。これらは、手順1で確認したWindowsの仮想スイッチのゲートウェイアドレスと、手順2で設定したDNSサーバーのアドレスと一致している必要があります。 - 対処手順
設定を修正した後、sudo netplan applyで設定を再適用します。
固定したIPアドレスが適用されない
設定を終えたにもかかわらず、リナックス環境のIPアドレスが固定されていないことがあります。これは、WSLまたはリナックス環境の再起動が不足している、あるいは設定ファイルのパスやファイル名が間違っていることが原因として考えられます。
- 対処手順
まず、wsl --shutdownコマンドでWSLを完全に停止させ、その後再度リナックスディストリビューションを起動します。これにより、.wslconfigファイルの設定が確実に反映されます。 - 対処手順
次に、リナックス環境内でip addr show eth0コマンドを実行し、IPアドレスが変更されているか確認します。 - 対処手順
もし設定が適用されていない場合は、/etc/netplan/ディレクトリ内のファイル名が正しいか、そして編集したファイルが実際に適用対象となっているかを確認します。
ADVERTISEMENT
WSLの動的IPアドレスと固定IPアドレスの比較
WSLでIPアドレスを動的に割り当てる場合と、今回解説した手順で固定IPアドレスにする場合とで、どのような違いがあるのかを比較します。
| 項目 | 動的IPアドレス | 固定IPアドレス |
|---|---|---|
| 設定の手間 | 特別な設定は不要 | 初期設定に手間がかかる |
| 通信の安定性 | 再起動時にIPアドレスが変わるため不安定になる場合がある | 常に同じIPアドレスで通信が安定する |
| 外部からのアクセス | IPアドレスを毎回確認する必要がある | 一度設定すれば常に同じアドレスでアクセスできる |
| 利便性 | 手軽に利用開始できる | 開発サーバーやデータベース用途に最適 |
| 用途 | 一時的なコマンド実行や簡単なスクリプト実行 | 永続的なサービス運用や外部連携を伴う開発 |
まとめ
この記事では、Windows 11上のWSLリナックス環境でIPアドレスを固定し、通信を安定させる詳細な手順と、発生しやすい問題への対処法を解説しました。IPアドレスを固定することで、リナックス環境内で稼働するWebサーバーやデータベースなどのサービスに対して、常に一定のアドレスでアクセスできるようになります。
これにより、開発環境のセットアップや管理が大幅に簡素化され、業務の効率が向上します。今回設定した固定IPアドレスを活用し、リナックス環境での開発作業をより快適に進めてみてください。
また、複数のリナックスディストリビューションを運用している場合は、それぞれの環境で同様にIPアドレスの固定を検討することをおすすめします。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Windows・PCの人気記事ランキング
- 【Edge】起動時や新しいタブを「Google」にする設定!ニュースを消してシンプルにする方法
- 【直し方】F7でカタカナにならない!ファンクションキーが効かず音量などが変わる時のFnロック解除法
- 【Windows】サブモニターが映らない!HDMIを挿しても「信号なし」になる時の認識・設定手順
- 【Windows】画面がチカチカ・点滅する!グラフィックドライバの更新と設定の見直し
- 【Windows】パスワードなしで起動!PIN入力を省略して自動ログイン(サインイン)させる設定手順
- 【Windows】デスクトップのアイコンが「白い紙」になった!アイコンキャッシュを削除して元に戻すコマンド
- 【PC周辺】2台のモニターで壁紙を「別々」にする方法!Windows11での配置と調整
- 【Windows】デスクトップアイコンの「緑のチェック」は何?OneDriveの同期マークを非表示にする方法
- Windows 11を極限まで軽量化する「不要な標準サービス」停止リスト|PCの動作を爆速化する設定手順とリスク管理の全貌
- 【Windows】Cドライブが赤い!空き容量不足を解消して数GBを一瞬で空ける4つの最強クリーンアップ術
