y2blog » IIJの仮想ルータアプライアンスSEIL/x86を試す(APU2C4編)

7

29

2017

IIJの仮想ルータアプライアンスSEIL/x86を試す(APU2C4編)

仮想ルータアプライアンス SEIL/x86 を動かしてみる


IIJと言えば日本のインターネット業界の黎明期から関わって来た老舗で、IT業界に多少なりとも関わっていれば知らない人は居ないと言うくらい実績や技術力のあるISP(インターネットサービスプロバイダ)だ.IIJのISP事業は有名だが実はSEILシリーズというハードウェアアプライアンスタイプのルータ製品を販売していることはあまり知られていない.


実は私も、今回IPv6(IPoE)接続を導入するまでIIJのSEILというルータの存在を知らなかった.SEILのホームページにはハードウェアアプライアンス製品と共に、VMWareなどの仮想サーバ上で動作させることのできる仮想アプライアンスタイプの製品 “SEIL/x86 Fuji” が紹介されている.


SEIL/x86 Fujiが対応している仮想基板としてはVMWare、Hyper-V、KVMが利用可能で、それらの仮想基板用に作成されたイメージファイルが提供されている.正式サポートではないが物理マシン上で直接起動させることのできるイメージファイルも用意されているので、PC Engines社の APU2 などのX86系のCPUを搭載した小型PCで動かすことも可能だ.APU2はIntelチップを搭載したGigabit Ethernetポートが3つも備わっており、DC12Vの単一電源で動かすことが可能で発熱も少ないのでルータ用途には打って付けの機種だ.私はPC Engines社から直接購入しているが、スイッチサイエンスさんでも販売しているので、値段が高くても構わないのであれば簡単に入手する事が可能だ.


APU2C4上でSEIL/X86ソフトウェアルータを動かす


我が家にはPC Engines社のAPU2C4は2台あり、元々はlightMPD/upnpgwなどのデジタルオーディオ用に購入したものであるが、そのうちの1台をSEIL/X86用として流用することにした.


1. SEIL/X86のダウンロード

先ずはIIJの SEIL/X86ダウンロードページから、SEIL/X86のイメージ(ディスクイメージ形式【実験的提供】)をダウンロードする.”起動キーをリクエストする(未取得)” というリンクと”起動キーをリクエストしない(取得済)”という2つのリンクがあるので、最初であれば “起動キーをリクエストする(未取得)” を選んで ”起動キー” も一緒に取得する必要がある.


ダウンロードページに移る前に、メールアドレスの記入欄と利用許諾に同意するかどうかの設定画面が現れるので、画面に従って手続きを進める.”起動キー”は後ほどメールで送られてくることになる.今回は仮想サーバではなく物理サーバでの利用なので、”ディスクイメージ形式【実験的提供】 EXPERIMENTAL_seilx86-571-bootdisk.zip” を選択してイメージファイルをダウンロードする.ZIP圧縮されたファイルを解凍すると “bootdisk.img” というイメージファイルが1つだけ現れる.


2. ディスクイメージファイルから起動可能なOSイメージを作成する

この作業についてはBeagleBoneやRaspberry Piなどを扱った経験があれば簡単な作業だ.今回はMac OS X の”Terminal” 上での作業を紹介するが、UNIXコマンドの “dd” を使うので、自分のディスク環境に合わせてコマンドのパラメータを適宜変更して欲しい.この記事を参考にしてこの作業を行う人はエクスパートしかいないので説明の必要はないとは思うが、ddコマンドの書き込み指定先を誤ると悲惨な事(ディスクが消去されてしまう)になるので、初心者はこのコマンドを使わない方が無難だ.



SDカードへの書き込みが終わればSDカードを取り外してAPU2のSDカードスロットへ挿入してAPU2を起動させれば良い.確か以前のMac OS X はNetBSDで使われているUNIXレガシーなUFSファイルシステムもサポートされていたが、最近のMac OS X ではUFSは全くサポートされていないので、Mac OS X ではSDカードに書き込まれた内容を確認することができない.


中身を確認したければ、NetBSDやFreeBSDなどのBSD系のOSを立ち上げてSDカードをマウントしてみるしか方法は無さそうだ.


3. APU2C4のシリアルコンソールポートにアクセスできるようにする

APU2C4 にSDカードを差し込んで電源を入れると SEIL/X86 を起動させることができるのだが、APU2C4はビデオ系のチップを搭載しておらず、VGAやHDMIなどの画像出力ができない.USB系の画像アダプタを使えばコンソール画面が表示できるのかもしれないが、今回はオーソドックスに標準のシリアルコンソールポートを使ってコンソールからの入出力を行うこととする.ルータ用途なので余計な画面表示は無い方が理に適っている.


Macには最初からシリアルポートなど無いが、最近のPC系のマシンでもDB9-シリアルポートが付いている物は滅多にお目にかかれない.そこでUSB-Serial変換ケーブルの出番となるのだが、今回のAPU2C4のDB9-シリアルポートはホストコンピュータ側(DTE)なので、クロスケーブルが必要だ.生憎手持ちのシリアルクロスケーブルが無かったので、手持ちのパーツBOXからDB9-メスのコネクターを2個程探しだし、やっつけのクロスケーブルを作成した.


APU2C4
APU2C4のSDカードスロットにセットしてとDB-9シリアルクロスケーブルでコンソールポートにつなぐ

4. コンソールポートでSEIL/X86の起動を確認

APU2C4のSDカードスロットに作成したSEIL/X86起動イメージをセットし電源を入れればコンソール画面に起動メッセージが出力されて、SEIL/X86の起動を確認できるようになる.Mac OSであれば”Terminal”上で “screen”コマンド起動すれば良い.Windows系では TerTermなどのその手のアプリを使えば良いだろう.



シリアルコンソール出力の内容からSEIL/X86がブートしている所までは確認できるが、コンソール出力が途中で打ち切られて全く表示されなくなってしまう.これではコンソールから初期設定すらできない.ネットワークがつながっていればtelnet 経由で設定は可能なようだが、コンソールポートが使えないルータなんて前代未聞だ.SEIl/X86はコンソール出力を途中でビデオコンソールに強制的に切り替えてしまうようだ.


ネットで調べていると、『ALIX.2D13 で SEIL/x86 を動かしてみた』(あたがわの日記)にAPU2シリーズの前身である ALIX.2D13 でのシリアルコンソール出力についての解説されていたので、この記事を参考にSEIL/X86の常時シリアルコンソール出力化を行った.


面倒なのは、Mac OS 上では直接UFS形式のディスクを編集できないため、一旦VMWare Fusion や Paralles 等の仮想化環境で、NetBSDやFreeBSDなどのBSD系OSを立ち上げてUFS形式のディスクを編集しなければならないことだ.Mac OS も元々はBSD系の流れを汲んでいた筈なのだが...



NetBSD Installer Shell
VMWare仮想環境上でNetBSDのインストーラを起動しユーティリティーのシェルを起動する

NetBSD Installer Shell 02
SDカードリーダをアタッチして一次的にマウントする

Make a boot config file
“boot.cfg”ファイルを作成

上記の作業の様子は、VMWare Fusion 上でNetBSD7.1のインストーラを起動し、インストールメニューの中にあるユーティリティーのシェルを起動して作業を行ったものである.今回は実際にはNetBSDをインストールせずにインストーラだけで済ませている.


再びAPU2C4にSDカードをセットして起動すると...



今度はログイン画面表示まできちんとコンソールポートに出力されている.



5. コンソールポートから初期設定を行う

コンソールポートから “admin” アカウントでログイン(パスワードはなし)して、IPアドレスやadminのパスワードを設定し、起動キーと機能キーを設定することでアプライアンスルータとして機能するようになる.後は用途に応じて各種設定を行えば良い.SEIL/X86の具体的な設定例については後日改めて紹介する予定だ.


次回は、SEIL/X86をさくらインターネットなどのVPS環境で稼働させる方法について紹介する予定だ.



追記:APU2C4で設定ができない!!!


SEIL/x86のディスクイメージをAPU2C4で起動し、シリアルコンソール経由でアクセスすることはできたが、現時点でSEIL/X86の各種設定を行う事ができていない.設定を行おうとすると次の様なエラーメッセージが表示されてしまい、全く先に進めない.VPS環境では問題無く動かす事ができたので、物理サーバ(APU2C4)の固有の問題かもしれない.



テクニカルマニュアルの『起動キーまたは機能キーがインストールできない場合(SEIL/x86)』には、インストールキーが入力できない場合の原因について説明されているが、この中に ”・起動デバイスを認識しているか確認する” という項目が有り、起動デバイスを正常に認識していない場合は、正常にキーのインストールができない旨の記述が有る.今回はキーのインストールエラーその物では無いが、それ以前に主要設定コマンドが全く入力できない状態なので、起動ディスクを認識しているかどうか確かめてみた.



“Bootdev : となっており、起動ディスクドライブがきちんと認識されていないことが判明した.コマンド入力エラーの原因はどうやらこの辺に有りそうだ.起動時のコンソールメッセージでも”boot device” が “unknown” となっている.この記事の後で報告したVPS環境下でのコンソールメッセージでは”boot device” は “ld0″ ときちんと認識されている.この問題をどのように回避させれば良いかは現時点では分からないが、解決策が見つかったら報告する予定だ.


IIJが物理サーバ上で動かすことのできるこのディスクイメージの提供を『実験的提供』扱いにしているのは恐らくこの辺の問題があるからなのだろう.


Local Search

Calendar

December 2017
S M T W T F S
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930
31  
  • Blogroll

  • Meta