Proxmox環境のミニPCを無線ルータ化する

中国での旅行用ルータとして改造中のミニPC(GMKtec NucBox G2 Plus)ですが、Proxmoxでの仮想環境にしてからWi-Fiが使えなくなっていました。

IMG20250219193608
それでも前回の旅行のときのように、スマホのテザリングを駆使すればなんとかはなるんですが、毎日結線するのはたいへん。

Proxmox環境でもWi-Fiが使えないかいろいろとがんばってみました。

ミニPCを無線アクセスポイントにする

追記 2025-04-16

以下のやり方よりこちらの方がおすすめです。

こちらを参考にしてやってみると、ミニPCを無線アクセスポイントにできました!

でもいくつか注意点が。

(1) OpenWrtではなく、Proxmox本体で無線の管理をする構成になってしまう。

物理ルータ上のOpenWrtだと、SSIDとかパスフレーズの設定がLuCIで設定できたりしますが、それができません。設定はProxmoxのCUIで。ネットワーク構成としては、Proxmox本体が受けた無線からOpenWrtにLANケーブルを1本引いてきてつないでるような構成になります。

OpenWrt側でWi-Fi管理ができると、メッシュネットワークとかが組めたりするみたいなんですが、そういうのも無理。

(2) チャンネルの自動設定ができない。

hostapd.confchannel=0と設定するとチャンネルの自動設定ができるみたいなんですが、これだとなぜか立ち上がりません。

ログを見ると、「自動設定のために周囲の電波のスキャンしようとしたけどできなくてあきらめる」みたいな挙動になってます。

(3) 5GHz帯の電波が使えない。

周波数帯の設定がhostapd.confにはあるんですが、それで5GHz帯に設定してみても「許可されていない」とか出て立ち上がりません。

5Ghz 帯で AP モードを起動できない
特定の国コード 00(グローバル)を使用している場合、5GHz 帯のすべての使用可能な周波数に no-ir(no-initiating-radiation) フラグが設定され、hostapd での使用が禁止されます。これを回避するには、wireless-regdb をインストールし、適切な国コードを設定して、使用可能な周波数を有効にする必要があります。

なお、最近の Intel 製デバイスには “Location-Aware Regulatory(LAR)” 機能が搭載されており、ユーザー空間の規制データベースを無視し、代わりに近隣のアクセスポイントを検出して規制地域を推測します。このため、5GHz 帯のアクセスポイントを検出するまで、5GHz 帯での送信ができません。その結果、多くの場合、5GHz 帯での送信が完全に禁止されます

以前のカーネルでは LAR を無効化するオプションがありましたが、ファームウェアのクラッシュを引き起こすため 2019年に削除されました。この削除以降、LAR 対応の Intel 製 Wi-Fi カードは 5GHz帯でアクセスポイントとして使用できなくなっています。

いろいろややこしそうではあります。

しかたがないので、2.4GHz帯でチャンネル固定で使うことにしました。宿のWi-Fiとかぶって安定しないようなことがあれば、手修正するしかないかな。

あと、セキュリティを少しでも高めるために、

wpa_key_mgmt=WPA-PSK-SHA256
wpa_pairwise=CCMP

このへんの設定だけデフォルトより心もち強めに。ちなみに

wpa=3

では起動しませんでした。

上位ネットワークにWi-Fiで接続する

ここまでは、端末をミニPCにWi-Fiでつなぐ話でした。

今度はミニPCを、宿とかの無線アクセスポイントにWi-Fiでつなげられるようにできるかな?

仮想のゲストOSからはミニPC本体のWi-Fiは扱えないんですが、ミニPCのUSBポートに差した機器はそのままパススルーでゲストOSから使えます。マウスとかキーボードとか。

それができるんだったら、USBのWi-FiアダプタをゲストOSで認識させればなんとかなるんじゃない?

たとえば・・・

インターネット

宿の無線アクセスポイント
|(Wi-Fi)
USBのWi-Fiアダプタ
ゲストOS(Windows)
|(仮想ネットワーク)
ゲストOS(OpenWrt)

端末

最悪こういう構成はできそう。Windowsに対応したUSBのWi-Fiアダプタなんて星の数ほどあるわけやし。

でもこれだと(ウイルスに感染しやすい)Windowsがフロントに立つ構成なので避けたいです。せめてWindowsでなくLinuxにしたいなあ。

調べてみると、TP-Link Archer T2U Nano AC600というWi-FiアダプタならUbuntuで使えた実績があるみたいです。ということでぽちっと購入。

そしてこのWi-Fi専用Linuxは、できるだけ軽量なものがいいので、

Ubuntu系列で最軽量っぽいLubuntuをさらにミニマム設定でインストールしてみました。ちなみに仮想ハード構成は、ディスク8GB・メモリ1GBにしました。これがぎりぎりかな。

そしてこのREADMEのPrerequisitesとBasic Installation for All Distrosに従ってドライバを入れて再起動するとWi-Fiを認識しました。

あとはisc-dhcp-serverとUFWでちゃちゃっとDHCP&NAPTルータ化して完成!

こちらもちょっと注意点が。

なぜかうちのBUFFALOのアクセスポイントが見えてるのにつながらないなあと思ったら、このWi-Fiアダプタ、WPA3に対応していませんでした。一般の人を受け入れる宿のWi-FiとかだとWPA3オンリーの設定にはしないはずなので、旅先で問題になることはないと思うけれど。

追記 2025-06-29

コメント

読み込み中...