Proxmox環境が作成できたのでいよいよVMを作成していきます。
まずは、sshで接続し、Proxmox上で必要なソフトをインストールします。
# apt install unzip
OpenWRTのインストール概要
インストールの仕方は色々あるようですが、私は以下のような手順で行いました。
- OpenWRT用のVMの作成
イメージ展開用の環境を作ります。後でダウンロードしたOpenWRTイメージファイルをインポートします。 - OpenWRTファイルのダウンロード
x86用のファイルをダウンロードします。 - OpenWRTファイルのインポート
ダウンロードしたファイルをインポートします。 - OpenWRTの設定
必要な設定を行います。
OpenWRT用のVM作成
OpenWRTをインストールするためのVM環境を作ります。
「VMの作成」をクリックし、以下のように仮想マシンを作成していきます。

・全般

・OS
「メディアを使用しない」にし、後でインポートします。

・システム
マシンは「q35」、ファームウェアは「OVMF(UEFI)」

・ディスク
デフォルトのディスクはゴミ箱マークで削除します。

↓

・CPU

・メモリ

・確認

・VM作成後のハードウェア確認

OpenWRTファイルのダウンロード
OpenWRTの公式サイトのFirmwareのダウンロードからイメージファイル(x86)のダウンロード


# wget -O openwrt.img.gz https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/openwrt-23.05.5-x86-64-generic-ext4-combined-efi.img.gz
イメージファイルの確認
# du -sh openwrt.img.gz
12M openwrt.img.gz
イメージファイルの解凍
# gunzip ./openwrt.img.gz
イメージファイルの解凍後、サイズ確認
# du -sh openwrt.img
121M openwrt.img
イメージ内のボリュームリサイズ
# sudo qemu-img resize -f raw ./openwrt.img 5G
Image resized.
イメージのインポート
user@pvehome:~$ sudo qm importdisk 100 openwrt.img local-lvm
importing disk 'openwrt.img' to VM 100 ...
Logical volume "vm-100-disk-1" created.
transferred 0.0 B of 5.0 GiB (0.00%)
略
transferred 5.0 GiB of 5.0 GiB (100.00%)
Successfully imported disk as 'unused0:local-lvm:vm-100-disk-1'
・インポート後のVM上のハードウェア

・未使用ディスクの割り当て

・割り当て後

・「追加」ボタンをクリックし、「PCIデバイス」を選択

・前回、PCIパススルーしたデバイスを選択(ETH2)

・ETH3

・ハードウェアに追加されたことを確認

・ブート順の変更

・ブート順を変更(編集)し、有効にした「scsi0」(先ほどインポートしたディスク)を一番にする

↓

↓

VMを起動すると、OpenWRTが起動します。
※起動に失敗したため、VM起動時に「ESC」UEFI設定の画面に入り、「Secure Boot Configuration」から「Reset Secure Boot Keys」を実行すると起動できるようになりました。
OpenWRTの設定
最初は初期の192.168.1.1で設定されています。初期設定のやり方も色々ありそうですが、とりあえず2通り紹介します。
uciコマンドでlanのipを変更する方法(簡単)
コンソールからuciコマンドでlanのipを変更します。一旦uci showコマンドで現在の設定を確認し、該当のnetwork.lan.ipaddrを変更します。proxmoxのコンソールのキーボードの関係でイコール(=)キーは、右隣の^で入力できました。
# uci show network
# uci set network.lan.ipaddr=192.168.xx.xx ←自身のLan内のアドレス
# uci commit
# sercvice network restart
wanから確認する方法(wanを使用する場合)
PCのセグメントを192.168.1.x/24に設定し、コンソールからアクセスします。WANからsshとhttpを通すことで一旦LANからもアクセスできるようになります。







OpenWRTの設定
あとは必要なopkgをインストールして必要な設定を行います。以下をインストールしておきました。
・WOL(Wake on Lan)
OpenwrtからPCやNASを起動させ、Wireguardで接続した上でリモートデスクトップ接続をしています。
・Wireguard
フリーのWifiを利用する時がメインですが、最近はほぼ一日中接続しています。自宅のAdguardHomeで広告ブロックが効くので便利です。
Wireguardの設定については、以前の記事で記載したためここではざっくり手順だけ紹介しておきます。
- Interfaceの作成プロトコル:WireguredにしてInterfaceを作成します。
- Generate new key pareで便宜上のサーバー側キーペアを作成します。
(サーバ側public keyとサーバー側private key) - Listen Port、IP addressを設定します。
- Firewallタブでファイアウォールのアサイン:lanを設定
- ポートフォワードの設定をルーター上で行います。(Aterm上ではポートマッピング)
- Peersタブでピア(相手先)設定を行います。
Generate new key pareで便宜上のクライアント側キーペア(クライアント側public keyとクライアント側private key)、Generate Preshared keyでPreshared Key、Allowed IPsにトンネル用クライアントIPを設定、Route Allowed IPsのチェック - 設定後にInterfaceをrestartします。
参考設定
備忘録的に設定を記載しておきます。
- Network→InterfaceのIPv4gateway
何故か、openwrtがデフォルトゲートウェイを認識していない状態になっており(設定はある)、update listもできず。いったん設定を削除して保存、再設定、インターフェースの再起動で直りました。
root@OpenWrt:/etc/config# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.10.1 0.0.0.0 UG 0 0 0 br-lan ←この行がなかった
192.168.10.0 * 255.255.255.0 U 0 0 0 br-lan
- dnsmasqの応答遅延オプションの設定
DHCPサーバーのサブとするため、DHCPサーバの応答を遅らせる設定。
/etc/dnsmasq.confに以下を追加
# DHCP DELAY OFFER
dhcp-reply-delay=10
今後
これを導入した時にはProxmoxも8.2.2、Openwrtも23.05だったのがProxmoxの8.3が新しく出て、Openwrtも24.10のRelease Candidate(rc-02)になってます。Proxmoxはさておき、Openwrtは24.10にすることでカーネルのバージョンがあがり、ファームウェアもアップするだろうことからWifiを認識するのではないかと期待をしています。また出たら試してみたいと思っています。