Cisco MAC アドレス認証関連の情報アップデート

Cisco の MAC アドレス認証について以前書いた記事の内容が古くなっているので、最近の設定コマンドについてまとめておきます。 ただし、ドキュメントを当たっただけで、手許で動作確認はしていませんのでご了承ください。

mab コマンドの追加

最近は MAC アドレス認証 (MAB = MAC Authentication Bypass) を有効とするためには、(config-if) モードで mab コマンドを設定する必要があるようです。

Switch(config-if)# mab

その他結構コマンドが変わっているので、詳細は最後に挙げている Cisco のドキュメントを参照してみてください。 MAC アドレス認証のみであれば、「Standalone MAB Support」を読めば良いと思います。

認証の順序を変更できるようになった

前回の記事では 802.1X 認証 -> MAC アドレス認証という順番が固定であったため、802.1X 認証のタイムアウトを短く調節していたわけですが、最近は MAC アドレス認証を先に行うことができるようになりました。 具体的には以下のようなコマンドを打ちます。

authentication order mab dot1x webauth
authentication priority mab dot1x webauth

1行めのコマンドにより MAC アドレス認証 (mab) の方が 802.1x (dot1x) よりも先に実行されるようになります。 2行めのコマンドは優先順位の設定で、ある方式で認証された後に異なる認証方式で更に認証が実施されようとした時の動作を決めます。 この例では、1度 MAC アドレス認証された後は 802.1X による再認証ができないよう設定しています。

マルチ認証モードの追加

以前の記事では、

Catalyst の1ポートにハブ等を介して複数の端末を接続したときに、個々の端末を Catalyst で認証する仕掛けをつくるのは無理だと思います。

と書いていましたが、host-mode = multi-auth というモード (「マルチ認証モード」) が追加され、これが可能となっています。 個別に ACL が動的設定されアクセス制御が行われる様です。 ただし、MAC 認証と組み合わせて使えるものなのかよくわかりません。 また、現状ポートあたり8台が上限と聞いています。

以下、参考情報。いずれも Cisco のサイトです。

Enigma (M-AUDIO Software Editor/Librarian) を使ってみよう!

M-AUDIO より MIDI コントローラーを設定するための Enigma というソフトウェアが提供されています。 UC-33e の設定のために Enigma を使ったのでその手順を簡単にメモしておきます。 他のコントローラーでも同様の操作で設定出来るはずです。

  1. まずは自分用の Preset Bank を作成します。 「File」-「New User Preset Bank」
  2. 「Devices and Files」に新しく作成された Bank をダブルクリックして好きな名前をつけます。 とりあえず「My Preset」にしました。
    Bank List
  3. 一からデータを作っても良いですが、既にある Bank を元につくるのがよいと思うので、元データをコピーします。 「Devices and Files」に最初からある「UC-33e」をクリックします。 下の「Presets」に表示された任意の Preset データを「Devices and Files」の「My Preset」へドラッグ&ドロップします。
  4. さてここまで出来たら次は編集です。 右下の以下のボタンを押して ControlEdit Window を開きます。
    Button
  5. UC-33e の図より設定を行いたいボタン/フェーダー/ツマミを選択し、ControlEdit Window で必要な設定を行います。
    Editor
    ちなみに図上でツマミからツマミへドラッグ&ドロップして設定をスワップすることができます。 設定のコピーならばこれを Ctrl キーを押しながら実施します。
  6. 最後に「File」-「Save」でデータを保存し、「Send to Device」でデータを UC-33e に転送します。 ちなみに「Upload to Device」ならばその Bank の変更部分のみが UC-33e に送られるようです。

UC-33e の場合、Enigma が使用できれば後は「RECALL」と「PRESETS 1~4」あたりのボタンが使えればとりあえず用が足りるのでは無いでしょうか?

あと、ディスプレイの見方ですが、通常は以下のように最後に触ったボタン/フェーダー/ツマミの設定が表示されます。 下の表示は 1番のフェーダーにコントロールチェンジ (CC) 7 が設定されていることを示しています。 フェーダーを動かすと送出した CC のパラメータ値が表示され、しばらくすると元の表示に戻ります。

display

「RECALL」か「STORE」を押すと下のように現在選んでいる Preset 番号が数秒間表示されます。 Preset 番号が表示されている間に数値を入力すれば、Recall や Store が実行されます。

display

こんな感じで MIDI の知識があれば UC-33e を使うのは結構簡単だと思います。 UC-33e ではコントロールチェンジ以外にもボタン/フェーダー/ツマミに割り当て可能なデータはありますので、興味があればマニュアルをダウンロードして見てみると良いと思います。

やっぱりマウスよりツマミやボタンが良いです (UC-33e)

リニューアル後のシリーズのバージョンが既に 5 まで行ってしまった Cubase ですが、私はまだ 2000年発売の Cubase VST 5 を使っているわけです。 同じ5がついていて紛らわしいですが、これらは別物です。

しかも最近いろんな機能を使い始めています。 「KORG Legacy Collection – DIGITAL EDITION」を買ったあたりからソフトウェアシンセ・エフェクト中心でやるのもアリかな、と思えるようになったというのがそうなった理由の一つです。 PC のスペックが昔と比べ物にならないほど向上しストレスを感じない、というのもあると思います。

そんな状況で物欲が向いた先は MIDI コントロールサーフェス (MIDI コントローラー) です。

一口に MIDI コントローラーと言っても色々な製品が出ています。 勝手にこれらを分類すると以下のようになると思います。 (「MIDI コントローラー」って言葉の括りは大きいよ、と言いたいだけなのであまり突っ込まないように)

  • キーボード系 (鍵盤付き)
  • パッド系 (叩くためのもの)
  • DJ 系 (ターンテーブル付き)
  • DAW 系 (ミキシングとトランスポートコントロール中心)
  • その他楽器系 (ギターシンセやウィンドシンセ用コントローラー)

私は自分の使っている WavestationDX7II のタッチが好きだし、DTM 用 MIDI コントローラーの鍵盤の質がそれに勝るとも思えないので、鍵盤は不要です。 そこで DAW 系コントローラーについて調べてみると「Mackie Control」がデファクトスタンダードの様ですが、個人でお手軽に買えるようなラインナップは無い様です。

UC-33e

自分の想定する価格、機能に見合うものは少なく結局購入したのは M-AUDIO (Evolution) の UC-33e です。 こういうスタイルでこの価格帯のものってあんまりないんですよね。 国内メーカーのものは鍵盤付きばかりで、他に見つかったのは BEHRINGER 製ぐらいです。

で、UC-33e を導入して使っているわけですが、やはり買ってよかったです。 ミキサーや EQ の操作が楽になったというのはありますが、何よりも VST インストゥルメントの操作です。 VST 5 付属のアナログシミュレーションシンセ JX16 や CS40 のコントロールを UC-33e で行って、フィルターをいじりながら演奏すると楽しいです。 これでもうアナログタイプのシンセを買おうという気は起こらないでしょう。

...オマケのソフトで満たされる程度の物欲だったわけですね。

胡蝶蘭の植え替え 2009

花芽の出なかった胡蝶蘭の植え替えをゴールデンウィーク中にしました。 ここ2年ほどろくに世話をしていなかったような気がしますが、放っておくとどんどん根の出てくる位置が上になってきて新根はそのまま水苔の外を伸びるので、水苔の中は古い根ばかりという状態になってしまいます。 そのような状況であり水苔も古くなっているので植え替えなければと思ったのでした。

植え替えの際に古い根を切る話はよく見かけますが、実際は株の下部 (←だじゃれ!) も切らねばなりません。 写真ではわかりにくいですが、古い根の中心に元は葉であった部分がやはり黒くなって存在しています。 これも切ってしまいます。

つまらない疑問なのですが、株の下のこの部分って何て呼ぶんでしょう? 胡蝶蘭で「茎」というと花茎 (ステム) を指すようですし、バルブという用語もありますが、「胡蝶蘭はバルブがない」という説明を見かけます。

どうやら前回の植え替えは3年前のようです。 昔は 4号鉢を使ったりもしていましたが、今は 3号鉢がちょうど良い大きさの株ばかりになってしまいました。 でも、胡蝶蘭は思ったより丈夫で、花を咲かせるには放ったらかしはまずいですが、簡単には枯れないです。 Web 上では立派な根を持った株の写真ばかりなので、これを見て勇気づけられる人もいるかな?

Ⅳ-Ⅴ-Ⅲ-Ⅵ と Ⅰ-Ⅵ-Ⅱ-Ⅴ (循環コードの話)

完全に乗り遅れている話題なのですが、ちょっと前に「JPOP の王道進行」ということで Ⅳ-Ⅴ-Ⅲ-Ⅵ の進行が紹介されて盛り上がっていました。 で、その時思ったのが「あれ、循環コードの一番の基本型って『イチ・ロク・ニー・ゴー (Ⅰ-Ⅵ-Ⅱ-Ⅴ)』じゃなかったっけ?」、「『ヨン・ゴー・サン・ロク』って聞いたこと無けど、それってマズい?」ということでした。

で、その時はそれ以上深く考えなかったのですが、後から考えてみて私の中では以下のように理解しました。

1. 基本:
Ⅰ-Ⅵ-Ⅱ-Ⅴ
2. Ⅱ(サブドミナント)から始めるよう変形:
Ⅱ-Ⅴ-Ⅰ-Ⅵ
3. 代理コードを使ってⅠをⅢ(トニックの代理)、ⅡをⅣ(サブドミナントの代理)に変形:
Ⅳ-Ⅴ-Ⅲ-Ⅵ

つまり「Ⅳ-Ⅴ-Ⅲ-Ⅵ」は循環コード「Ⅰ-Ⅵ-Ⅱ-Ⅴ」のバリエーションという理解です。

とここまで思いついてから調べると、昔からサブドミナントから始まるこの進行には「逆循環コード」という名称があったのですね。 興味のある人は「王道」でなく「循環コード」で検索してみるといろいろ出てくると思います。

循環コードの例は国内 (JPOP) に限らず様々なヒット曲の中で見つかるはずです。 循環コードが用いられているからと言って、それだけの理由で楽曲が貶められるものではないはずです。

循環コードには関係ないですが、ついでにつぶやいておきます。

  • ローマ数字を使うと文字化けが心配になってしまう私はきっと古い人間なのでしょう。 機種依存文字って死語?
  • 「けいおん!」は某音楽教室に通う5歳の息子と楽しんでいます。 どこまでわかっているのか謎ですが、子供はよく笑って楽しんでいて、番組を気に入っているようです。

ASA5510 の Active/Standby 構成設定ログ

ASA5510 (Ver. 7.2) の Active/Standby failover 構成を設定した際のログです。 IP アドレスはCisco サイトで紹介されている構成例に合わせました。 ただし、stateful failover link の 10.0.0.0/8 というネットワークアドレスは気持ち悪いので 24ビットネットマスクに変更しています。

(Primary機:インターフェイスの設定)
asa1# configure terminal
asa1(config)# interface ethernet0/0
asa1(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
asa1(config-if)# ip address 172.16.1.1 255.255.0.0 standby 172.16.1.2
asa1(config-if)# interface ethernet0/1
asa1(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
asa1(config-if)# ip address 192.168.1.1 255.255.255.0 standby 192.168.1.2
asa1(config-if)# exit
asa1(config)#
(Primary機:failover の設定)
asa1(config)# failover lan unit primary
asa1(config)# failover lan interface failover ethernet0/2
INFO: Non-failover interface config is cleared on Ethernet0/2 and its sub-interfaces
asa1(config)# failover interface ip failover 10.1.0.1 255.255.255.0 standby 10.1.0.2
asa1(config)#
(stateful failover link の設定)
asa1(config)# failover link state ethernet0/3
INFO: Non-failover interface config is cleared on Ethernet0/3 and its sub-interfaces
asa1(config)#
asa1(config)# failover interface ip state 10.0.0.1 255.255.255.0 standby 10.0.0.2
(Secondary機:failover の設定)
ciscoasa(config)# failover lan interface failover ethernet0/2
INFO: Non-failover interface config is cleared on Ethernet0/2 and its sub-interfaces
ciscoasa(config)# failover interface ip failover 10.1.0.1 255.255.255.0 standby 10.1.0.2
ciscoasa(config)#
ciscoasa(config)#
(Primary機:インターフェイスの有効化)
asa1(config)# interface ethernet 0/0
asa1(config-if)# no shutdown
asa1(config-if)# interface ethernet 0/1
asa1(config-if)# no shutdown
asa1(config-if)# interface ethernet 0/2
asa1(config-if)# no shutdown
asa1(config-if)# interface ethernet 0/3
asa1(config-if)# no shutdown
asa1(config-if)#
(Secondary機:インターフェイスの有効化)
ciscoasa(config)#
ciscoasa(config)# interface ethernet0/0
ciscoasa(config-if)# no shutdown
(以下同様に 0/1、0/2、0/3 を有効化)
(Primary機:failover 有効化)
asa1(config)# failover
asa1(config)#
(Secondary機:failover 有効化)
ciscoasa(config)# failover
ciscoasa(config)# .
Detected an Active mate
Beginning configuration replication from mate.
End configuration replication from mate.
asa1(config)#     (ホスト名が同期される)
(Primary機:設定の保存-これで Secondary機の設定も保存される)
asa1(config)#  copy running-config startup-config
Source filename [running-config]? (Enter)

これでとりあえず failover 関連の基本設定はできたはずです。 詳しくは先のサイトの解説を参照してください。

ASA5500 シリーズの冗長構成

Cisco ASA の HA 構成についてまとめておきます。 Version 7.2 についての話ですが、ドキュメントをパラパラと見る限りでは 8.x でも大きく変わることは無いと思います。

Cisco ASA の HA 構成は以下のような特徴を持っています。

  1. フェイルオーバー時に Active 機/Standby 機間で MAC アドレスと IP アドレスが入れ替わる
  2. 設定が HA 構成を組む2台の間で同期される
  3. Active/Standby 構成では preempt な設定は不可

それぞれ説明して行きますが、その前に Primary/Secondary という言葉と Active/Standby という言葉について説明しておきます。

Primary/Secondary
フェイルオーバーしても変化しない 1台めの ASA、2台めの ASA という絶対的な関係を表しています。

Active/Standby
稼働中/待機中という状態を表します。 フェイルオーバーすると Active/Standby が入れ替わります。

ここでは特に断りがなければシンプルな Active/Standby 構成 (シングルコンテキスト) を想定し、Primary = Active、Secondary = Standby となっているのが正常な状態とします。

1. フェイルオーバー時に Active 機/Standby 機間で MAC アドレスと IP アドレスが入れ替わる
この動きはかなり独特です。 例えば VRRP や HSRP では2台の機器それぞれのインターフェイスに実 IP アドレスを振って更に仮想 IP アドレスを1つ用意し、合計3アドレスを使う、というような構成にすることが多いと思います。 これに対し、ASA では Active 用のアドレスと Standby 用の2つのアドレスを用います。 そしてフェイルオーバーするとアドレスが入れ替わります。

例えば、Primary = Active の状態で Ethernet0/0 に下のように IP アドレスが割り当てられているとします。

unit status address
Primary Active 192.168.0.1
Secondary Standby 192.168.0.2

ここで、Primary 機に障害が生じてフェイルオーバーが起こるとアドレスの割り当ては以下のようになります。 この時、MAC アドレスも同時に入れ替わります。

unit status address
Primary Standby 192.168.0.2
Secondary Active 192.168.0.1

仮にこのアドレスを ICMP (ping) 監視していたとすると Primary 機がダウンしても Secondary 機がダウンしても 192.168.0.2 がダウンして見えるので、これだけではどちらがダウンしたのか判別できないので注意が必要です。

2. 設定が HA 構成を組む2台の間で同期される
最初に最低限の設定をそれぞれにしてしまえば、後は Primary/Secondary 間で設定が自動的に同期されます。 設定変更は Active なユニット (それは Secondary かも知れません) で行わなければならないので注意が必要です。 同期されない設定項目は以下のもので、それ以外は同期されます。

  • failover lan unit
  • firewall
  • mode

また、Active 側で copy running-config startup-config コマンドや write mem コマンドで設定をフラッシュメモリーに保存すれば Secondary 側でも保存されます。

ここでちょっと困るのがホスト名も同期されて同一のものになってしまうことです。 ホスト名で区別することはできませんが、prompt コマンドを使ってプロンプトに「priority」を設定しておくと Primary/Secondary を区別をプロンプトに表示することができ便利です。

3. Active/Standby 構成では preempt な設定は不可
つまり以下のような話です。

  • Primary 機が障害を起こして Secondary = Active とフェイルオーバーした。 その後 Primary 機を復旧させた時に自動的に Primary = Active と戻す設定はできない。
  • HA 構成を組んだ2台の ASA に電源投入して起動する際、Secondary 機が先に起動してしまうと、Primary 機の起動後も Secondary = Active のままとなる。

このような場合に Primary = Active に戻すためには Primary 機上で以下のコマンドを実行して手動で戻します。

failover active

これで Primary 機が Active となります。 telnet、ssh 等でリモートよりこれを実施する場合は Standby 用のアドレスへアクセスすることになりますので注意が必要です。


関連記事

40―翼ふたたび

最近小説は読まなくなってしまっていて、久しぶりに手に取ったのがこの本「40(フォーティ)―翼ふたたび」です。 まさに今の自分の年齢の本だし、石田衣良ならば大きくハズれることも無いだろうと買ってきたのでした。

この本はいくつのエピソードがつながって一つの大きな物語を作り上げる構成になっています。 最初のうちは文調や、テーマ、展開のシンプルさから題材は 40歳でももっと若い読者を想定しているのかとも思いました。

しかし、最後のエピソード「日比谷オールスターズ」を読んでやっぱりこれは作者から 40代への応援歌なのだと理解しました。 いや、これだって話はシンプルだし、「こんなにうまく行くのは小説の中だけだよ!」と突っ込みたくもなります。

それでも私は卓巳の言葉に感動させられてしまいました。ええ、単純なんです。

「じゃあ、いくぞ、四十歳から始めよう」

VLOOKUP と数値と文字列と #N/A

Excel の VLOOKUP 関数を使ったときに「#N/A」と表示されて困ったことはありませんか?

例えば下の図のように機器のシリアル番号と機器種別の入った表を VLOOKUP 関数で参照してみましょう。

Excel

セルの G6 に「104100」を入力し、これに対応する機器種別を参照するために H6 に以下の数式を入力します。

=VLOOKUP(G6, $A$1:$B$4, 2, FALSE)

これで H6 には「サーバ」と表示されるはずなのに、「#N/A」のエラーが表示されてしまいます。

Excel

良く見ると「104100」が右詰めになっています。 どうやら数値として扱われているので、セルの書式設定で G6 の表示形式を「文字列」に設定してみます。

Excel

すると、G6 の表示は左詰めになったものの、やはり H6 には #N/A が表示されてしまいました。

Excel

私はここでハマってしまいました。 「再計算」しても状況は変わりません。 どうすれば良いのでしょう?

実はセルの書式設定を変えただけでは、セルに入力されている値は数値のままなのです。 どうすれば良いかというと、とりあえず一番手軽にできるのは再入力です。 G6 をダブルクリックしてセルを編集する状態にしてから、そのまま内容を変えず Enter キーを押します。 するとうまく表示されるようになります。

Excel

既に数値として入力してしまったセルが大量にあった場合、全てを再入力するのは面倒です。 その場合、入力した列をコピーして一旦テキストエディタなどに貼り付け、それをさらにコピーして Excel に戻せば文字列として認識されます。「形式を選択して貼り付け」等でできそうな気もしますが、結局 Excel で完結して実施する方法はよくわかりませんでした (後から見つけました。追記参照)。 なお、これらの動作は Excel 2002、2003 で確認しています。

ちなみにテキストから数値への変換は以下のサポート情報で紹介されています。

VLOOKUP 関数といえば、最後のパラメータのデフォルトが「TRUE」になっている点にも注意が必要ですね。(ハマったのは私だけ??)


2012.7.22 追記:
「教えて! goo」で見つけたのですが、Excel の中のみで 1列分の数値入力済みセルを文字列に変える方法がありました。「データ」-「区切り位置」メニュー (Excel 2007) を使うのです。この「区切り位置」は本来カンマ等で区切られている値を複数の列に分割するためのものですが、分割はせずに最後に指定する「列のデータ形式」を「文字列」にして実行すれば型変換に使えます。なるほどね。