【Windows】リナックス環境のIPアドレスを固定して通信を安定させる手順

【Windows】リナックス環境のIPアドレスを固定して通信を安定させる手順
🛡️ 超解決

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アドレスを固定することで、常に同じアドレスでアクセスできるようになり、このような問題を回避できます。

お探しの解決策が見つからない場合は、こちらの「Windowsトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

WSLリナックス環境のIPアドレスを固定する設定手順

WSLリナックス環境のIPアドレスを固定するには、Windows側の設定変更とリナックス環境側の設定変更の両方が必要です。Windows 11を基準に解説します。

  1. 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」のような範囲です。
  2. .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
    ファイルを保存して閉じます。
  3. WSL環境をシャットダウンして再起動する
    管理者として実行したPowerShellまたはコマンドプロンプトで、以下のコマンドを入力してWSLを完全にシャットダウンします。
    wsl --shutdown
    WSLのすべてのインスタンスが停止したことを確認したら、通常通りWSLを起動します。スタートメニューからリナックスディストリビューション例えばUbuntuを起動するか、wslコマンドを実行します。
    この再起動により、.wslconfigファイルで指定した設定が適用されます。
  4. リナックス環境のネットワーク設定ファイルを編集する
    WSL内のリナックス環境を起動し、ネットワーク設定ファイルを編集します。ディストリビューションによってファイルが異なります。UbuntuではNetplanを使用します。通常、/etc/netplan/ディレクトリ内に存在する00-installer-config.yamlなどのファイルです。ファイル名が異なる場合は、環境に合わせて読み替えてください。
    以下のコマンドでファイルを編集します。sudoコマンドは管理者権限で実行する際に必要です。
    sudo nano /etc/netplan/00-installer-config.yaml
    ファイルの内容を以下のように変更します。addressesgateway4nameserversの値は、手順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で終了します。
  5. リナックス環境のネットワーク設定を適用する
    編集したNetplanの設定を適用するために、以下のコマンドを実行します。
    sudo netplan apply
    これで、リナックス環境のIPアドレスが固定されたはずです。ip addr show eth0コマンドを実行し、inetの項目が設定した固定IPアドレスになっているか確認してください。

IPアドレス固定設定で発生しやすい問題と対処法

WSLリナックス環境のIPアドレス固定設定は複数のステップがあります。設定ミスによって問題が発生した場合の対処法を解説します。

WSLが起動できなくなる

.wslconfigファイルの記述に誤りがある場合、WSLが正常に起動しないことがあります。例えば、誤字脱字やインデントの不正確な記述などが原因です。

  1. 対処手順
    まず、wsl --statusコマンドでWSLの状態を確認します。エラーメッセージが表示される場合は、メッセージの内容から原因を特定します。
  2. 対処手順
    次に、C:\Users\あなたのユーザー名\.wslconfigファイルをテキストエディターで開き、記述内容を再確認します。特に[wsl2][network]などのセクション名、キーと値の間のイコール記号、IPアドレスの書式などに間違いがないか慎重にチェックしてください。
  3. 対処手順
    修正後、wsl --shutdownでWSLを停止し、再度起動して問題が解決したか確認します。

インターネットに接続できない

リナックス環境でインターネットに接続できなくなる場合、ゲートウェイアドレスやDNSサーバーの設定が間違っている可能性があります。誤ったIPアドレスを指定したり、仮想スイッチの範囲外のアドレスを設定したりすると通信が途絶えます。

  1. 対処手順
    リナックス環境内で、ping 8.8.8.8コマンドを実行し、Google Public DNSに到達できるか確認します。
  2. 対処手順
    次に、cat /etc/netplan/00-installer-config.yamlコマンドでネットワーク設定ファイルの内容を表示し、gateway4nameserversのアドレスが正しいか確認します。これらは、手順1で確認したWindowsの仮想スイッチのゲートウェイアドレスと、手順2で設定したDNSサーバーのアドレスと一致している必要があります。
  3. 対処手順
    設定を修正した後、sudo netplan applyで設定を再適用します。

固定したIPアドレスが適用されない

設定を終えたにもかかわらず、リナックス環境のIPアドレスが固定されていないことがあります。これは、WSLまたはリナックス環境の再起動が不足している、あるいは設定ファイルのパスやファイル名が間違っていることが原因として考えられます。

  1. 対処手順
    まず、wsl --shutdownコマンドでWSLを完全に停止させ、その後再度リナックスディストリビューションを起動します。これにより、.wslconfigファイルの設定が確実に反映されます。
  2. 対処手順
    次に、リナックス環境内でip addr show eth0コマンドを実行し、IPアドレスが変更されているか確認します。
  3. 対処手順
    もし設定が適用されていない場合は、/etc/netplan/ディレクトリ内のファイル名が正しいか、そして編集したファイルが実際に適用対象となっているかを確認します。

ADVERTISEMENT

WSLの動的IPアドレスと固定IPアドレスの比較

WSLでIPアドレスを動的に割り当てる場合と、今回解説した手順で固定IPアドレスにする場合とで、どのような違いがあるのかを比較します。

項目 動的IPアドレス 固定IPアドレス
設定の手間 特別な設定は不要 初期設定に手間がかかる
通信の安定性 再起動時にIPアドレスが変わるため不安定になる場合がある 常に同じIPアドレスで通信が安定する
外部からのアクセス IPアドレスを毎回確認する必要がある 一度設定すれば常に同じアドレスでアクセスできる
利便性 手軽に利用開始できる 開発サーバーやデータベース用途に最適
用途 一時的なコマンド実行や簡単なスクリプト実行 永続的なサービス運用や外部連携を伴う開発

まとめ

この記事では、Windows 11上のWSLリナックス環境でIPアドレスを固定し、通信を安定させる詳細な手順と、発生しやすい問題への対処法を解説しました。IPアドレスを固定することで、リナックス環境内で稼働するWebサーバーやデータベースなどのサービスに対して、常に一定のアドレスでアクセスできるようになります。

これにより、開発環境のセットアップや管理が大幅に簡素化され、業務の効率が向上します。今回設定した固定IPアドレスを活用し、リナックス環境での開発作業をより快適に進めてみてください。

また、複数のリナックスディストリビューションを運用している場合は、それぞれの環境で同様にIPアドレスの固定を検討することをおすすめします。

💻
Windowsトラブル完全解決データベース 起動不能、更新の不具合、動作が重い、設定の消失など、Windows 10/11のあらゆるトラブル解決手順を網羅しています。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。