Contents
SEIL/x86の新バージョンが出た。
知る人ぞ知るIIJのネットワークルーター、SEILシリーズ。その中でも有名なのは仮想版で激安販売されている「SEIL/x86 Fuji」という製品。今回その後継製品となる「SEIL/x86 Ayame」という製品がリリースされました。
今までのFujiはIIJのオンラインショップの一つであるLaIT(ライト)で販売されていましたが、今回Ayameは2つのEditionに分けて販売され、
- Standard:個人用途にも使えるリーズナブルなもの
- Enterprise:商用システム用途を想定した高性能版
と言う風になっています。違いとしては、Standardはシングルコア動作に制限される点、SR-IOVが使えない点など、制約があり、Enterpriseに関してはこれらの制約がすっかり取っ払われて、より大きなトラフィックにもめげないと言う特性があります。
とは言え、Standard版もVMXNET3のNICで10GbEリンクさせることが可能で、性能面でFujiを上回るのではないかと予想したり。ちなみにStandardが税抜き5,000円、Enterpriseは税抜き250,000円ぐらい・・・だったかな?かなーり値段としては上昇してます。
加えて、Standardはなんとまぁ、Amazonで販売されていると言うね・・・
てなわけで、早速買って試してみることにしました。今回、これまでFujiで対応してたIPv6コアルーター部分をそのままAyameに置き換えようと思います。
注文した。
そして注文した翌々日ぐらいにブツが来ました。

メールベースでキーを貰えたFujiとは異なり、まさかの物納でした。この紙には、インストールに必要となるプロダクトキーが記録されています。
OVFテンプレートをゲットする
OVFテンプレートはSEIL/x86のサイトからダウンロードする形をとります。
KVM用のものとVMware用のもの、2種類が提供されているようです。私はこれをダウンロード・解凍した上で、VMware用イメージのOVFテンプレートをインポートしました。
1vCPU/1GB RAM/120MB VHD/1NIC構成のVMが誕生します。必要に応じてNICを追加してPowerOnすることでセットアップを開始することが出来ます。
インタフェースはge0,ge1,ge2・・・という感じのインタフェースになりました(Fujiだとlan0,lan1,lan2・・・)
初期セットアップの流れ
セットアップの流れとしては以下の通りです。
ログインID:admin/初期パスワードは無し->これを用いてまずはログイン。 プロダクトキーの入力を行います。プロダクトキーは送付されてきたパンフレットの中に記載されており、ハイフンは自動で入力されます。ライセンスキーが登録されると一度リブートを行います。 続いて起動すると、adminユーザのパスワード変更を求められます。 パスワード変更が完了すると、 <hostname># と言う形式でプロンプトが出ます。これで設定準備が完了となります。
コマンドラインの特性
コマンドラインの基本的な流れとしては以下の通りです。
- パラメタの設定は「set文」を使用する
- パラメータの取り消しは「delete文」を使用する
- 設定パラメータはKey-Value形式で保存される
具体的には以下のような感じです。
■set文 値は以下のような形式で保存される interface.ge0.ipv4.address: 192.168.100.25/24 設定するには、set文を入力して、定義を行う。 set interface ge0 ipv4 address 192.168.100.25/24 ■delete文 値を削除したい場合は、setの代わりにdelete文を使用する delete interface ge0 ipv4 address
要は、正式なパラメータはドットをデリミタとする設定項目と、コロンで挟んだ設定値の対応漬けで決まります。set文/delete文はデリミタを空白文字で区切る方式で記載をする形になります。
これを繰り返して設定を実装していく感じになっています。
Commitで確定
Fujiでは設定した時点でその設定が即時反映されていましたが、AyameではCommitコマンドを実行した段階で設定が確定します。
設定の保存は以下のコマンドで行います。
save-to flashrom
showコマンドも少し変わってる
showコマンドを実行する際ですが、通常は「 show <パラメータ> 」と言う形で記述することが多いんですが、Ayameは「 show status <パラメータ> 」という書き方をします。また、そのパラメータはKeyを指定する形になるので、パラメータ項目はドット区切り形式で指定する形になります。
show statusコマンドで後に続くパラメータ値を以下の通り列挙します。
KAEDE# show status admission-control interface.pppac[0-7] ospf6.interface.bridge[0-31] arp interface.pppoe* ospf6.interface.detail bgp.ipv4.route interface.pppoe[0-7] ospf6.interface.ge[0-1] bgp.ipv4.summary interface.tunnel* ospf6.interface.ipsec[0-511] bgp.neighbor interface.tunnel[0-511] ospf6.interface.tunnel[0-511] bgp.neighbor.password interface.vlan* ospf6.interface.vlan[0-31] dhcp interface.vlan[0-31] ospf6.neighbor dhcp.external ipsec ospf6.neighbor.detail dhcp6 ipsec.anonymous ospf6.protocol dns-forwarder ipsec.security-policy ospf6.route filter.hostname led ospf6.route.detail filter.ipv4 lldp pppac filter.ipv4.keepalive mac-address-table radius-server filter.ipv6 macfilter radius-server.statistics filter.summary nat.ipv4 resolver filter.table nat.ipv6 rip.protocol floatlink nat.summary rip.route floatlink.interface ndp ripng.protocol floatlink.interface.ipsec[0-511] netflow ripng.route floatlink.interface.l2tp[0-255] ntp route.ipv4 floatlink.interface.tunnel[0-511] option route.ipv4.keepalive floatlink.summary ospf.database route.ipv6 ike ospf.database.detail route.ipv6.keepalive interface ospf.interface router-advertisement interface.bridge* ospf.interface.detail sensor interface.bridge[0-31] ospf.neighbor snmp interface.ge* ospf.neighbor.detail sshd interface.ge[0-1] ospf.route storage interface.ipsec* ospf.route.detail syslog interface.ipsec[0-511] ospf6.database telnetd interface.l2tp* ospf6.database.detail upnp interface.l2tp[0-255] ospf6.interface vrrp interface.pppac*
面白いのは、ワイルドカードが指定できることではないかなーと思います。ワイルドカードを指定することによって全てのインタフェースや設定項目の表示をさせることが可能になります。
フィルタリング構文
フィルタリング設定ももちろん「set文/delete文」で設定をしていったりするわけですが、KeyValue形式で設定されるが故に少し面倒です。Fujiでは1行で定義できたフィルタリングルールですが、例として以下の通りになります。
set filter ipv6 800 direction in set filter ipv6 800 interface ge1 set filter ipv6 800 action block set filter ipv6 800 logging on set filter ipv6 800 state enable ↑個別にパラメータを設定する必要がある。 順序を間違うと設定を拒否されることがあるので注意。 direction->interface->action->その他って感じ
複数行で指定する形になります。また、設定項目間には依存関係があり、依存関係が満たされない場合、ケースによっては設定が受け付けられないケースもあります。
フィルタリングログの内容をFujiのそれと見比べましたが、こちらは細かい差異はあるものの、特に大きな違いまではなさそうです・・
【Fujiのログ】 Feb 9 14:37:28 kaede filter.info lan1 @0:0[OUTGOING] p fe80::250:56ff:fea7:af64 -> fe80::2c1:64ff:fed1:4962 PR ipv6-icmp type 136 code 0 len 64 40/24 OUT 【Ayameのログ】 Feb 9 19:56:41 192.168.100.25 system[-]: ipf.info ge1 @2:9[ipv6.600-00000520] p 2403:bd80:c102:221:9d4d:89a6:e4bb:c963,55868 -> 2600:1408:5c00:6::17c8:9347,80 PR tcp len 61 40/21 OUT
多分、ぱっと見た感じだと理解が難しいので
Fujiでゴリゴリやってた人は以下のようなツールで一度部分的な変換などを行ってみた方がわかりやすいんじゃないかと思います。
どういうKeyが存在しているかというのを、以下のサイトのドキュメントを参照しながら、理解を含めていくというのも重要かなと思います。
意外とSEILシリーズは色んな所でコンフィグ例が載っていたりするような代物で、知る人ぞ知るなのに広くこっそり出回ってるルーターなので、まずは触れてみて、おもしろそーだなーと感じられるものがあったらなぁと感じる次第です。
取り敢えず私の環境では無事リプレイスできたわけですが、コンフィグ変換ツールはかなり役に立ちました。
現状の負荷状況
AYAME# show system SEIL/x86 Ayame Ver. 2.01 (Release) SEIL/x86 Ayame BIOS Phoenix Technologies LTD Ver. 6.00 (20181212) CPU : Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz DistID : Host : "AYAME" Bootdev : dk1 Date : 2020/02/09 21:47:47 (JST) Uptime : 07:55 (since 2020/02/09 13:52:42) Users : 1 user Loadavg : 0.08 (1min) 0.08 (5min) 0.03 (15min) CPU0stat : User 21.9%, Nice 0.0%, System 11.9%, Interrupt 0.3%, Idle 65.9% Memory : Total 1023.56MB, Used 496.12MB (48.47%), Avail 527.44MB (51.53%)