はじめに
自宅で無線ルーターから離れた場所(デスク)にあるLinux機をインターネットに接続するため、ブリッジ接続を使ってみました。
設定にかなり手こずったので、設定メモとして記録しています。
ブリッジ接続の模式図
- WindowsのPCと無線ルーターはWi-Fiで接続しています。
- Wi-Fi側のIP(192.168.10.100)は、DHCPで動的に割り当てられたIPとなります。
- それ以外のIP(192.168.10.240, 192.168.10.241)は、手動で静的に割り当てられたIPとなります。
- Windows機とLinux機は有線LAN(クロスケーブル)で接続しています。
設定手順
1. 有線LANと無線LANを同時に使えるようにする
- ブリッジ用に使ったPCはWindows10 Homeですが、このOSではデフォルトで「有線LAN接続時に無線LANが無効化される」という設定になっています。
- Windows8以降は、デフォルトでこの設定になっているようです。
- この設定のままだと、有線LANと無線LANを同時に使えないため、ブリッジ接続が正しく動作しません。
- そのため、ブリッジ接続の設定に先立って、以下の手順で設定を変更しておきます。
1-1. ローカルグループポリシーエディターを使用可能にする
- 「ローカルグループポリシーエディター」を使うと、「有線LAN接続時に無線LANが無効化される」という設定を簡単に解除できますが、Windows10 Homeの場合、デフォルトではローカルグループポリシーエディターを使えません。
- そこで、こちらのURLの手順に沿ってローカルグループポリシーエディターを使用可能な状態にしました。
1-2. 「有線+無線での2回線構成の場合、起動時に無線が自動で接続されない」設定を無効化する
以下の手順は、Microsoftの公式ページの手順と同じです。
- [ファイル名を指定して実行]を開き、
gpedit.msc
と入力してEnterを押します。 - ローカルグループポリシーエディターが開いたら、[コンピューターの構成] > [管理用テンプレート] > [ネットワーク] > [Windows 接続マネージャー]と進み、Windows 接続マネージャーに入ります。
- [インターネットまたは Windows ドメインへの同時接続の数を最小化する]という項目を選び、設定値を[無効]にします。
- デフォルト値は[未構成]でした。
2. VirtualBoxなどのブリッジ接続を解除する
- VirtualBoxなどの仮想NICにブリッジ接続している場合、有線LANと無線LANとの間で正常にブリッジ接続できません。
- 私は試していませんが、Hyper-Vの仮想スイッチとの間にブリッジ接続を使っている場合も、同様にブリッジ接続が出来ない可能性があります。
- そのため、VirtualBoxを利用しているのであれば、全ての仮想マシンのネットワーク設定を確認して、ブリッジ接続の設定があれば解除しておきます。
3. ブリッジ接続を設定する
- コントロールパネルを開き、[ネットワークと共有センター] > [アダプタの設定の変更]と進みます。
- 開いた[ネットワーク接続]画面で、無線LANと有線LANのネットワークカードを選択した状態で右クリックして、開いたメニューから[ブリッジ接続]を選択します。
- ブリッジ接続が完了すると、下の図のように[ネットワークブリッジ]というアダプタが画面上に出現します。
- これだけでブリッジ接続は完了です。
4. ForceCompatibilityModeの設定
- ブリッジ接続を設定した後、インターネットに接続できない場合は
ipconfig
コマンドでブリッジアダプターに対してDHCPで付与されたIPアドレスを確認します。 - このIPアドレスが169.254...となっている時は、DHCPサーバー(※ここでは無線ルーター)に接続できていないため、以下の手順でForceCompatibilityModeをenabledにすると接続できます。
- コマンドプロンプトを管理者モードで開きます。
-
netsh bridge show adapter
と入力して、現在のブリッジアダプターの状態を確認します。 ここでブリッジ接続に利用しているネットワークカードのForceCompatibilityModeが"unknown"や"disabled"となっている場合、次の手順に進みます。 -
netsh bridge set adapter {アダプタの番号} e
と入力して、ForceCompatibilityModeを"enabled"にします。- 設定値の名称(ForceCompatibilityMode)からすると、何らかの互換性を強制的に有効にしているようですが、何の互換性かは分かりませんでした...
- 再び
netsh bridge show adapter
と入力して、ForceCompatibilityModeが"enabled"となっていることを確認します。
C:\WINDOWS\system32>netsh bridge show adapter
----------------------------------------------------------------------
ID AdapterFriendlyName ForceCompatibilityMode
----------------------------------------------------------------------
1 イーサネット disabled
2 Wi-Fi 2 disabled
----------------------------------------------------------------------
C:\WINDOWS\system32>netsh bridge set adapter 1 enable
C:\WINDOWS\system32>netsh bridge set adapter 2 enable
C:\WINDOWS\system32>netsh bridge show adapter
----------------------------------------------------------------------
ID AdapterFriendlyName ForceCompatibilityMode
----------------------------------------------------------------------
1 イーサネット disabled
2 Wi-Fi 2 enabled
----------------------------------------------------------------------
まとめ
- Windows上でのブリッジ接続について調べると、「2つのネットワークカードを選んで、"ブリッジ接続"を選ぶだけ」と書いてあるサイトが多いです。
- ですが、新しいOSだと「有線LAN接続時に無線LANが無効化される」という設定があるとは思いませんでした。
- 色々調べてみると、省電力設定の一つだそうです。
- また、「VirtualBoxのブリッジ接続が存在すると正しくブリッジ接続できない」というのは全くの盲点でした。
- VirtualBox上の仮想マシンは、基本的に「NAT+ホストオンリーアダプター」にすべきかもしれません...