OpenWrt 21.02.3 on ESXi7 備忘録

Networks
Photo by hyt.

OpenWrt 21.02.3 on ESXi7 備忘録です.結論だけ知りたい方は後半の「OpenWrt イメージの取得」から見れば十分なことにご注意ください.

ひかり電話を解約した!→問題発生?→OpenWrt

前回,ドコモ光に修理をお願いしたことを記事にしましたが,これに合わせていわゆる「ひかり電話」サービス(固定電話)を解約しました.

ドコモ光に修理をお願いしてみた雑感
ドコモ光に修理をお願いしてみた雑感です. いつもの通り結論から書くと, 十分早い対応 でした.解決まで24時間かかりませんでした. なにが壊れたのか? 不具合が生じたのは, ドコモ光テレビオプション です. これは要は地デジ...

これまで長いこと固定電話を契約してきましたが,ここ数年,固定電話に掛かってくるのはほぼセールスとアンケートで,いくら安価とは言え,役に立たないどころかある意味危険な目にあいかねないものをこれ以上放置するのはどうかな……と思ったからです.さすがに「固定電話の番号がない=信用されない」なんてこともなくなってますしね.

さて,これは知っている人は知っているのですが,

ひかり電話を解約すると(少なくともNTT西日本管内の場合はそう)NTTからレンタルしている GV-ONU (GE-ONU) からルーター機能が削除されてしまいます.だからひかり電話解約後は(現実的には)対応するルーターを自分で用意しなきゃいけません.

Photo by hyt.

私の場合は OCN が契約プロバイダーです.そして,OCN の場合,OCNバーチャルコネクトなる方式にルーターが対応していることが望ましいのですが,残念ながら対応ルーターはあまり多くありません.

IPoEインターネット接続機能 | OCN
IPoEインターネット接続機能|快適なIPoE(IPv4 over IPv6)方式によるインターネットを標準提供。申し込みも設定も不要!対応ルーターに接続するだけで、リモートワーク中のオンライン会議も、高画質の動画再生も快適です!

そして私の自宅ネットワーク,いろいろ事情があって VLAN を使ってます(実際に使用していたのは Ubiquiti の ER-X です).つまり,OCNバーチャルコネクトに対応していて VLAN が使えるルーターじゃないと置き換えにはなりません.もちろん,VLAN が使えるルーターと OCN バーチャルコネクト対応ルーターを別々に設置することもできますが,これは黒々とした機械が居間に1台増なので,奥様から怒られてしまいます.

Edgerouter-X でひかり電話あり IPoE(IPv6) 接続備忘録
Edgerouter-X でひかり電話あり IPoE(IPv6) 接続備忘録です. 我家のメインルーターである Edgerouter-X,使い始めて早2年なのですが,ここ1週間ほど,なぜか Google だけ,つながったりつながらなかった...

だからと言って VLAN とOCNバーチャルコネクト両方に対応したルーターは業務用でお値段それなり(Yamaha の RTX830 とか NEC の IX とかですね)です.と言うことで,どうしたものかなぁ……といろいろググってみたところソフトウェアルーターの OpenWRT なら対応してそう……なら,これを現在自宅で稼働中の ESXi 7.0 上で動かしてみよう……と思った訳ですが,実際にやってみると色々ハマりどころがありました.

VMWare ESXi7 と NVME SSD 備忘録
VMWare ESXi7 と NVME SSD 備忘録です. まずは結論から書くと VMWare ESXi7 を使う場合は, Intel 製のもので揃えるのが無難 みたいです. NUC7PJYH から NUC7I5BNH へ これまで E...

と言うことで,以下,まずは記事執筆時点で最新の OpenWrt を ESXi7.0 上で動作させる際の注意点を備忘録としてまとめておきます.

OpenWrt イメージの取得

公式ページの情報は

OpenWrt on VMware HowTo
OpenWrt on VMware HowTo This article describes how to use OpenWrt as a virtual machine with VMware virtualization. Tested with * Barrier Breaker 14.07 in c...

ですが,情報がかなり古いようで,実際には以下の記事の方が参考になります.

https://eco.senritu.net/vmware%E4%B8%8A%E3%81%ABopenwrtluci%E6%9C%80%E6%96%B0%E7%89%88%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

ただし上の記事も ver. 19.07 前提で,最新版だといろいろ違ってきている部分があります.以下 ver. 20.02.3 の場合の手順を示しますが,画面イメージ等は適宜上の記事を参考にしてもらえればと思います.

まず OpenWrt のイメージですが,

Index of /releases/

から最新版をダウンロードします(記事執筆時点だと21.02.3).ESXi の場合は(Raspberry pi とかを使っていない限りは)targets/x86/64 以下を参照することになりますが,執筆時点の最新版 21.02.3 だと,

Index of /releases/21.02.3/targets/x86/64/

以下にあるイメージをダウンロードします.実際にダウンロードするファイルは,EFI で起動させるか BIOS で起動させるかに応じてそれぞれ

です(squashfs となっているものは読み取り専用なので(多分)ESXi 運用の場合は適当じゃないと思います.いまさら BIOS で起動させるのもどうかと思いますので,EFI のイメージを使えば良いと思います).

OpenWrt イメージの ESXi イメージへの変換

次に取得したイメージを ESXi のイメージに変換しなければなりません.

Ubuntu の場合の変換手順は 21.02.3 の場合は以下の通りです(Windows の場合は Ubuntu on wsl や StarWind V2V Converter を使えば良い.Mac だと brew で qemu をインストールすれば良い).

$ sudo apt install qemu-utils
$ wget https://downloads.openwrt.org/releases/21.02.3/targets/x86/64/openwrt-21.02.3-x86-64-generic-ext4-combined-efi.img.gz
$ gunzip openwrt-21.02.3-x86-64-generic-ext4-combined-efi.img.gz
$ qemu-img convert -f raw -O vmdk openwrt-21.02.3-x86-64-generic-ext4-combined-efi.img openwrt.vmdk

これで openwrt.vmdk というファイルができるので,これを ESXi のデータストアにアップロードしておきます.

次に,ESXi の SSH を有効化して,

$ cd /vmfs/volumes/datastore1/
$ vmkfstools -i openwrt.vmdk openwrt-cv.vmdk -d thin

のようにアップロードしたイメージを openwrt-cv.vmdk に変換します(これをやらないと,Unsupported or invalid disk type 2 for ‘scsi0:0’ のようなエラーが仮想マシン起動時に出てしまい起動してくれません).

Convert OpenWrt Image to ESXi VMDK
The official doc of OpenWrt on VMware HowTo seems already outdated, and there’s no explaination of how to fix Unsupported or invalid disk type 2 for 'scsi0:0'. ...

これで ESXi で起動するイメージの完成です.

仮想マシンの作成

仮想マシンの作成は以下の手順で行いました.

  1. 新規仮想マシンの作成
  2. ゲストOSファミリ:Linux
  3. ゲストOSのバージョン:その他の Linux 5.x 以降(64ビット)
  4. 設定のカスタマイズを適当に設定(USB,CD/DVDドライブの削除等を行う)

作成後,以下の変更を加えました.

  1. 設定の編集を開き,ハードディスクを削除し,ハードディスクの追加から「既存のハードディスク」を選択して変換した openwrt-cv.vmdk を選んで保存する(もとのHDDイメージは削除して良い).
  2. 設定の編集をもう一度開き,追加したハードディスクの容量を8もしくは16G位に設定し直して保存する.
  3. 仮想マシン オプションの「起動オプション」の「UEFI セキュアブートの有効化」のチェックを外す.

これで OpenWrt が起動するはずです.なお,起動後に必要な数だけ Ethernet を追加するなどすることになりますが,

  1. Ethernet アダプタのタイプは「VMXNET3」で良い(NE1000などに変更する必要なし)
  2. システムの Software から open-vm-tools を追加できる.

を注意しておきたいと思います.なお,この方法で構築した OpenWrt の場合はリセットして初期状態に戻すことができないのですが,ESXi の場合,スナップショットを取れますので,スナップショットの方がより便利です.

雑感とOCNへの接続について

と言うことで無事 ESXi で OpenWrt を起動させることが無事できたのですが,このあと実際に OpenWrt で OCN バーチャルコネクト接続させるのにもいろいろハマりどころがありました.このハマりどころについては別記事(別備忘録)にしようと思ってはいますが,そもそも論として,

自宅に ESXi 環境を構築しているとか VLAN 構築しているとか,逸般の違家庭でしかあり得ないこと

なので,あんまり参考にならない情報な気もしないではないです(自戒).ただし,逸般の違家庭の定義は,

https://twitter.com/hashtag/%E9%80%B8%E8%88%AC%E3%81%AE%E8%AA%A4%E5%AE%B6%E5%BA%AD

によると,

  • NASが設置されている.
  • 業務用ルータがある.(RTX・IXなど)
  • ラックマウントサーバーがある.
  • サーバールームがある,ラックがある.

だそうで,私の場合は黒々とした機械を設置しないで済むよう(RTX とか IX とか使わない.もちろんサーバーラックなんかとんでもない!)OpenWrt を使った訳ですから,微妙に逸般の違家庭ではない,と言って良いような気がしないでもないです.

以上!

NetworksServer
スポンサーリンク
Following hyt!
hyt adversaria
タイトルとURLをコピーしました