SEIL/x86 をWatchGuard Fireboxに

 

皆様のオウチにも謎の ネットワークアプライアンスの1個や2個は転がっていると思います。 ウチにもありました。 WatchGuard Firebox X2500 Firebox X2500Junk Firewall,VPN,アプリケーションPROXYなどの機能を持つUTM&ファイアウォールアプライアンスと呼ばれるモノです。 ジャンクで入手してさあ弄ってみるべ! とシリアルコンソールをとってみたところ 当然、ファームウェアが綺麗サッパリ初期化されていました。 Firebox中身 写真をご覧いただければお分かりのとおり、こいつにはCFカードスロットが搭載されており どうやらココからシステムがBootされるみたい。 メモリは PC-133 256MBのSD-RAM。 NICは カニさんでおなじみのRealtek RTL 8139Cが6個搭載されております。 拡張用のPCIスロットが1つ、2.5インチ用と3.5インチ用のIDEコネクタが1つづつ搭載されているような感じ。 フロントパネルにはシリアルコンソールポートが引き出されております。 普通にサーバとして使うには今更なハードウェアでも、見た目はカッコイイので何か活用できないだろうか ということで IIJの SEIL/x86 http://www.seil.jp/product/lineup/seilx86/をインストールしてみました。 ということでIIJのSEIL/x86をインストールしてみました。

ダウンロード

まずはSEILコミュニティサイトhttps://www.seil.jp/community/ に登録しましょう。 必要なのはユーザー名とメールアドレスのみ。 企業が運営するサイトだからって勤務先とか氏名とか電話連絡先とかウザい個人情報は不要です。 登録が完了すると ログインパスワードがメールで送られてきます。 先ほど作成したアカウントを使用してログインしましょう。 SEIL/x86 のダウンロード https://www.seil.jp/community/seilx86 ページに行き SEIL/x86の新規ダウンロード(起動キー付き)を更にクリッコ。 利用許諾に同意をしてダウンロードリクエストボタンを押すと、またメールが届きます。 このメールには「SEIL/x86 ダウンロードのURL」が記載されております メールに書かれたダウンロードURLを開いてみると麻呂もダイスキ(?) zipファイルがダウンロードできますぞ 2011年6月12日現在ダウンロード出来るファイルは3つ

  1. seilx86-180-bootdisk.zip/8.03 MB/SEIL/x86 Fuji version 1.80 (diskimage形式) [実験的提供]
  2. seilx86-180-vmware.zip /8 MB /SEIL/x86 Fuji version 1.80 (VMware形式)
  3. seilx86-180.img /8.05 MB/SEIL/x86 Fuji version 1.80 (アップデート用img形式)

今、麻呂が欲しいのは「diskimage形式」でおじゃる! 」ということでポチっとダウンロードします。 おしまい。

CFカードに書き込み

ダウンロードしたzipを展開すると bootdisk.img というファイルが1個出てきます サイズは34MBくらい。
こいつをCFカードにコピーしてあげれば良いのですが、ただ単に コピーしても動きません。
ディスクイメージ形式っていうくらいなので、こいつはCD-ROMでいうISO形式みたいなものでそれなりのツールでイメージを書き込みしましょう。

私は40MBのCFが見つかったのでコレを使用しました。

パソコンにCFカードリーダーなどを接続してデバイスが認識する状態にします。
そして、おもむろに34MB以上の容量のCFカードを差し込みます。中身は上書きされちゃうので注意です。
■Windowsでやる場合

シリコンリナックスさんのDDforWindowsを使いましょう。 使い方はググってね。

http://www.si-linux.co.jp/wiki/silinux/index.php?DDforWindows

■UNIX,Linux,BSDでやる場合

ddを使いましょう。

(例)dd if=./bootdisk.img of=/dev/sd0

シリアルコンソールで使えるようにする。

EIL/x86をインストールしようとするハードウェアに VGA出力、キーボードが備わっている場合は
以上で、CFカードへのSEIL/x86のイメージ書き込みは完了です。
しかし Fireboxには VGA出力もキーボード端子も、USB端子もありません。
あるのはシリアルコンソールのみなのです。

ここでSEIL/x86の初期設定などをシリアルコンソールから可能にするような作業は必要です。
書き込んだ CFカードにboot.cfgというファイルを作成し「シリアルコンソールを使うよ」という指示を書き込む必要があります。

SEIL/x86のイメージはUFSというフォーマットで記録されており残念ながらWindowsで直接中を除くことができません。
書き込んだドライブをWindowsのエクスプローラーでくりっくすると「フォーマットされていません」と怒られます。

この作業のために必要なのはUFSフォーマットされたCFを読み書きできる環境。
ちょっと回り道をして VmwareやVirtualBox等にNetBSDやFreeBSDをインストールして使用するのが良さそうです。
LinuxはUFSのR/Wがカーネルによって可能だったり不可能だったりするのでちょっとよくわかりません。
SEIL/x86のイメージがFAT形式だったり、シリアルコンソール版が最初からあると嬉しかったのになぁ・・・
今後に期待しましょう。

2011/06/17追記
無能日記さんのblogにて FAT16 /FAT32 フォーマットのSEIL/x86 Bootディスクの作成に生成しているようです。 http://enjoy.potix.jp/diary/094

大変詳細な手順が yoshi’s blog さんで公開されていますので参照してください。
http://www.ytsuboi.org/wp/archives/2029

UFSのマウントと書き込みが出来る環境を用意し CFカードを適当なディレクトリ(例えば/mnt/cf)にマウント
+ vi /mnt/cf/boot.cfg などでファイルを作成し下記の内容を記録する
console=com0 ←シリアルコンソールの1個目 com0を使用するという意味。(環境によって異なります)
speed=38400 ←シリアルコンソールの通信速度を38400bpsにするという意味。(環境によって異なります)

FireboxにCFカードを挿し込んで電源オン!

シリアルコンソールをつないで電源ON

シリアルコンソール化作業が終わったCFカードを いよいよFireboxに差し込んでみます。

ターミナルソフトはおなじみ Teratermです。
Windowsのノートパソコンに差したUSBシリアルケーブルにはCOM4が割り当てられましたので設定し
ボーレートも38400bpsを設定。準備が整ったところでFireboxの電源オン!

おお! 見えます見えます
NetBSDのブート画面が流れた後にログインプロンプトが点滅していますので
login: admin
と入力しましょう。
キーボードも大丈夫ですよね?

ライセンス登録/telnetを使えるようにする

Fireboxには6個もNICを搭載しています。
どれか1つにLANに接続されたケーブルを挿し込んでみてみます。
今回は一番左端にさしこんでみました。

するとフロントのLEDの0番が光りました(なぜか10Mbpsですけど)
terminalから 下記コマンドを入力してみませう。

# show status interface
interface lan0:
        Description=""
        Status=link up, administratively up
        MTU=1500
        LastChange=2007/02/26 01:00:50
        Ipkts=1289, Ierrs=0, Opkts=6, Oerrs=0, Colls=0
        InOctets=110391, OutOctets=464, InDrops=0, OutDiscards=0
        InUnknownProtos=0
        Media=auto (auto)
        EthernetAddress=00:90:7F:XX:XX:XX
        IPv6 address=fe80::290:7fff:fe2f:281%lan0 prefixlen=64 scopeid 0x1
interface lan1:
        Description=""
        Status=link down, administratively up
        MTU=1500
        LastChange=2007/02/26 01:00:50
        Ipkts=0, Ierrs=0, Opkts=4, Oerrs=0, Colls=0
        InOctets=0, OutOctets=344, InDrops=0, OutDiscards=0
        InUnknownProtos=0
        Media=auto (auto)
        EthernetAddress=00:90:7F:XX:XX:XX
        IPv6 address=fe80::290:7fff:fe2f:282%lan1 prefixlen=64 scopeid 0x2
interface lan2:
        Description=""
        Status=link down, administratively up
        MTU=1500
        LastChange=2007/02/26 01:00:50
        Ipkts=0, Ierrs=0, Opkts=4, Oerrs=0, Colls=0
        InOctets=0, OutOctets=344, InDrops=0, OutDiscards=0
        InUnknownProtos=0
        Media=auto (auto)
        EthernetAddress=00:90:7F:XX:XX:XX
        IPv6 address=fe80::290:7fff:fe2f:283%lan2 prefixlen=64 scopeid 0x3
interface lan3:
        Description=""
        Status=link down, administratively up
        MTU=1500
        LastChange=2007/02/26 01:00:50
        Ipkts=0, Ierrs=0, Opkts=4, Oerrs=0, Colls=0
        InOctets=0, OutOctets=344, InDrops=0, OutDiscards=0
        InUnknownProtos=0
        Media=auto (auto)
        EthernetAddress=00:90:7F:XX:XX:XX
        IPv6 address=fe80::290:7fff:fe2f:284%lan3 prefixlen=64 scopeid 0x4
interface lan4:
        Description=""
        Status=link down, administratively up
        MTU=1500
        LastChange=2007/02/26 01:00:50
        Ipkts=0, Ierrs=0, Opkts=4, Oerrs=0, Colls=0
        InOctets=0, OutOctets=344, InDrops=0, OutDiscards=0
        InUnknownProtos=0
        Media=auto (auto)
        EthernetAddress=00:90:7F:XX:XX:XX
        IPv6 address=fe80::290:7fff:fe2f:285%lan4 prefixlen=64 scopeid 0x5
interface lan5:
        Description=""
        Status=link down, administratively up
        MTU=1500
        LastChange=2007/02/26 01:00:50
        Ipkts=0, Ierrs=0, Opkts=4, Oerrs=0, Colls=0
        InOctets=0, OutOctets=344, InDrops=0, OutDiscards=0
        InUnknownProtos=0
        Media=auto (auto)
        EthernetAddress=00:90:7F:XX:XX:XX
        IPv6 address=fe80::290:7fff:fe2f:286%lan5 prefixlen=64 scopeid 0x6
interface pppoe0:
        Description=""
        Status=LCP down (initial), administratively down
        MTU=1454
        LastChange=1970/01/01 09:00:00
        Ipkts=0, Ierrs=0, Opkts=0, Oerrs=0, Colls=0
        InOctets=0, OutOctets=0, InDrops=0, OutDiscards=0
        InUnknownProtos=0

lan0~lan5までのインターフェースに加え、pppoe0のインターフェースが表示されました。
そしてStatus=linkが lan0のみ upとなっています。
どうやらfireboxの0番ポートがlan0なのは確実なようです。

https://www.seil.jp/community/seilx86

キーの登録方法 の手順にしたがって
lan0に IPアドレスを付与してtelnetができるようにします。
私の自宅のLANは 192.168.1.0/24のネットワークを使用していますので
192.168.1.25を Firebox/SEIL の管理インターフェースに割り当てることにします。

#  interface lan0 address 192.168.1.25
#  telnetd enable

同じネットワークから
ping 192.168.1.25 を実行してみて疎通があれば成功です。

シリアルコンソールではなくtelnetでログインしてみましょう。

$ telnet 192.168.1.25
 Trying 192.168.1.25...
 Connected to 192.168.1.25 (192.168.1.25).
 Escape character is '^]'.
 login: admin
 Last login: Mon Feb 26 02:23:10 2007 from 192.168.1.3 on ttyp4
 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 #

無事ログインできました。
先ほどのダウンロードURLお知らせメールには
starterkey.txtという添付ファイルが付いてきました。
こちらを登録する作業を行います。

起動キーをペーストしたあとに”’.”’を1つ入力してエンターキーを1度押すのがお作法のようです。
OK?[y/N] と聞いてきますので yを入力しましょう

# install-key from stdin
please enter key data ("." for end of key data)
Starter0XXJYjnDyAhIhECiiiEREpc3R(中略)fat9vFp1wEREFvSGG9SbzT/MYZB87O.^M.OK?[y/N]y
Startup Key:
  Distribution ID : 0001-0000-0000-0086-0001-0000-0000-XXXX
  Memo     : Distributed via SEIL Community Site.
  Status   : VALID and registered.

これで、SEIL/x86のコンフィグセーブ機能以外は全て利用可能な状態になりました。

自分のライセンスキーを確認しいときは
# show key
で良いみたいです。

あとはマニュアルを見ながらポチポチとルータとしての設定を書いていくだけですが
なんとなく動いていることを実感したいため WebUIを有効にしてみましょう。
コマンド入力でルータの設定なんて難しそうという人も大丈夫
WebUIで PPPoEでインターネットに接続するのもWebUIから行えます!

# httpd enable

これだけです。 LANにつながったPCIから http://192.168.1.25/ (lan0に指定したIPアドレス) を開いてみましょう。

 

ちょっと高機能なブロードバンドルーターを設定したことがある人ならすぐにポチポチと設定ができそうなWebUIが登場しました。CPUやメモリやトラフィックグラフも搭載しているためパフォーマンス監視のために別の監視サーバを用意する必要も(とりあえずは)無さそうです。

再起動すると・・・

WatchGurd FireBoxでSEIL/x86を使い始めることが可能になるまでをまとめてみましたが実はこれ、設定を保存することができない制限があるようなのです。

SEILで設定したコンフィグをセーブするコマンドはsave-toというコマンドを使うのですがお試し版のため無効化されております。

コチラを有効にするところから有償になります。(といっても800円)らしいので近いうちに買ってみようと思います。

アクティベーションのために必要な機能キーLaITサプライ https://la-it.jp/supply/item_list/seilx86.html から購入するのだそうです。

まだインターネットにPPPoEでつないでみたり、複数のネットワークに接続してルーティングをしたりはしていませんが ジャンクのUTMアプライアンスで SEILの起動とNICの認識ができたためヒマな時期をみて遊んでみたいと思います。

このWatchGurdには基板にUSBと思われるパターンが残っているためコネクタを取り付ければUSBも使えるようになるのかな?

カテゴリー: ネットワーク   パーマリンク

SEIL/x86 をWatchGuard Fireboxに への1件のコメント

  1. Ashlyn より:

    Good blogging!