この章では、Catalyst 3550 スイッチに Cisco IOS CNS エージェントを設定する方法について説明します。
http://www.cisco.com/en/US/products/sw/netmgtsw/ps4617/tsd_products_support_series_home.html
- ・ Cisco Configuration Engine ソフトウェアの概要
- ・ Cisco IOS エージェントの概要
- ・ Cisco IOS エージェントの設定
- ・ CNS コンフィギュレーションの表示
Cisco Configuration Engine ソフトウェアの概要
Cisco Configuration Engine はネットワーク管理ソフトウェアで、ネットワーク デバイスおよびサービスの配置、管理、アップグレードを自動化するためのコンフィギュレーション サービスとして機能します( 図4-1 を参照)。各 Configuration Engine は、シスコ製デバイス(スイッチとルータ)のグループと、デバイスが提供するサービスを管理し、設定を保存して、必要に応じて提供します。Configuration Engine は、デバイス固有の設定変更を生成してデバイスに送信し、その設定変更を実行して結果をロギングすることで初期設定および設定更新を自動化します。
Configuration Engine は、スタンドアロン モードおよびサーバ モードをサポートし、次の CNS コンポーネントを備えています。
- ・ コンフィギュレーション サービス(Web サーバ、ファイル マネージャ、およびネームスペース マッピング サーバ)
- ・ イベント サービス(イベント ゲートウェイ)
- ・ データ サービス ディレクトリ(データ モデルとスキーマ)
スタンドアロン モードでは、Configuration Engine は、組み込みディレクトリ サービスをサポートします。このモードでは、外部ディレクトリやその他のデータ ストアは必要ありません。サーバ モードでは、Configuration Engine は、ユーザが定義する外部ディレクトリの使用をサポートします。
図4-1 Configuration Engine アーキテクチャの概要
コンフィギュレーション サービス
コンフィギュレーション サービスは、Cisco Configuration Engine のコアとなるコンポーネントです。スイッチにある Cisco IOS CNS エージェントと連携して動作するコンフィギュレーション サーバで構成されています。コンフィギュレーション サービスは、論理グループによる初期設定と大量の再設定を行うために、デバイスとサービスの設定をスイッチに配信します。スイッチは、ネットワーク上で初めて起動するときに、コンフィギュレーション サービスから初期設定を受信します。
コンフィギュレーション サービスは、CNS イベント サービスを使用して設定変更のイベントを送受信し、成功および失敗の通知を送信します。
コンフィギュレーション サーバは Web サーバであり、コンフィギュレーション テンプレートと、組み込みディレクトリ(スタンドアロン モードの場合)またはリモート ディレクトリ(サーバ モードの場合)に保存されているデバイス固有の設定情報を使用します。
コンフィギュレーション テンプレートは、CLI(コマンドライン インターフェイス)コマンドの形式でスタティックな設定情報を格納するテキスト ファイルです。テンプレートでは、変数は、Lightweight Directory Access Protocol(LDAP)URL を使用して指定します。この URL はディレクトリに保存されているデバイス固有の設定情報を参照します。
Cisco IOS エージェントは、受信したコンフィギュレーション ファイルに対して構文チェックを実行してイベントを発行し、構文チェックの成功または失敗を表示できます。コンフィギュレーション エージェントは、設定を即時適用することも、コンフィギュレーション サーバからの同期化イベントを受信するまで適用を遅らせることもできます。
イベント サービス
Cisco Configuration Engine は、コンフィギュレーション イベントの受信と生成にイベント サービスを使用します。イベント エージェントはスイッチにあり、Configuration Engine 上のイベント ゲートウェイとスイッチ間の通信を簡単にします。
イベント サービスは、拡張性の高い、パブリッシュ/サブスクライブ型の通信方式です。イベント サービスは、件名ベースのアドレス指定を使用して宛先にメッセージを送信します。件名ベースのアドレス指定規則は、メッセージとその宛先に対して単純で均一なネームスペースを定義します。
NSM
Configuration Engine は NameSpace Mapper(NSM)を装備し、NSM は、アプリケーション、デバイスまたはグループ ID、およびイベントに基づく、デバイスの論理グループを管理するための検索サービスを提供します。
Cisco IOS デバイスは、たとえば cisco.cns.config.load といった、Cisco IOS ソフトウェアで設定されたイベント件名だけを認識します。ネームスペース マッピング サービスを使用すると、希望する命名規則を使用してイベントを指定できます。件名でデータ ストアにデータを入力した場合、NSM はイベント件名文字列を Cisco IOS によって認識されているものに変更します。
サブスクライバの場合、一意のデバイス ID とイベントが指定されているときは、ネームスペース マッピング サービスは、サブスクライブ対象のイベント セットを返します。同様にパブリッシャの場合、一意のグループ ID、デバイス ID、およびイベントが指定されているときは、マッピング サービスは、パブリッシュ対象のイベント セットを返します。
CNS ID およびデバイスのホスト名に関する重要事項
Cisco Configuration Engine は、設定済みの各スイッチに一意の識別子が関連付けられているものと想定しています。一意の識別子は複数のシノニムを取ることができますが、各シノニムは特定のネームスペース内で一意です。イベント サービスは、メッセージの件名ベース アドレス指定にネームスペースのコンテンツを使用します。
Configuration Engine では、2 つのネームスペースが交差します。1 つはイベント バス用で、もう 1 つはコンフィギュレーション サーバ用です。コンフィギュレーション サーバのネームスペースの範囲内では、 ConfigID という用語はデバイスの一意識別子です。イベント バスのネームスペースの範囲内では、 DeviceID という用語はデバイスの CNS 一意識別子です。
Configuration Engine がイベント バスとコンフィギュレーション サーバの両方を使用してデバイスに設定を配信するので、それぞれの設定済みスイッチに対して ConfigID と DeviceID の両方を定義する必要があります。
コンフィギュレーション サーバの 1 つのインスタンスの範囲内では、設定済みの 2 台のスイッチが ConfigID に対して同じ値を共用することはできません。イベント バスの 1 つのインスタンスの範囲内では、設定済みの 2 台 のスイッチが DeviceID に対して同じ値を共用することはできません。
ConfigID
設定済みの各スイッチには一意の ConfigID があり、これは対応するスイッチ CLI アトリビュートのセットに対する Configuration Engine ディレクトリへのキーの役割を果たします。スイッチで定義された ConfigID は、Configuration Engine の対応するスイッチ定義の ConfigID に一致する必要があります。
ConfigID は起動時に決定され、スイッチのホスト名を再設定した場合でも、デバイスを再起動するまでは変更できません。
DeviceID
イベント バスに加入している設定済みの各スイッチには一意の DeviceID があり、これはスイッチの送信元アドレスに似ているので、スイッチをバス上の特定の宛先にできます。 cns config partial グローバル コンフィギュレーション コマンドで設定されたすべてのスイッチは、イベント バスにアクセスする必要があります。したがって、DeviceID はスイッチで作成されるので、Configuration Engine の対応するスイッチ定義の DeviceID に一致する必要があります。
DeviceID の作成元は、スイッチの Cisco IOS ホスト名によって定義されます。ただし、DeviceID の変数とその使用方法は、スイッチに隣接するイベント ゲートウェイ内にあります。
イベント バス上の論理 Cisco IOS 終端地点はイベント ゲートウェイに組み込まれ、これがスイッチの代わりにプロキシの役目を果たします。イベント ゲートウェイは、スイッチと、イベント バスに対応するスイッチの DeviceID を表します。
スイッチは、イベント ゲートウェイに対する接続が成功すると、ただちにイベント ゲートウェイに対してそのホスト名を宣言します。イベント ゲートウェイは、この接続が確立するたびに DeviceID の値を Cisco IOS ホスト名に結合します。イベント ゲートウェイは、スイッチに接続している間この DeviceID の値をキャッシュします。
ホスト名と DeviceID
DeviceID はイベント ゲートウェイへの接続時に決定され、スイッチのホスト名を再設定した場合でも、変更されません。
スイッチのスイッチ ホスト名を変更する場合、DeviceID を更新する唯一の方法はスイッチとイベント ゲートウェイ間の接続を切断することです。 no cns event グローバル コンフィギュレーション コマンドのあとに cns event グローバル コンフィギュレーション コマンドを入力します。
接続が再度確立されると、スイッチは変更したホスト名をイベント ゲートウェイに送信します。イベント ゲートウェイは、DeviceID を新しい値に再定義します。
ホスト名、DeviceID、および ConfigID の使用方法
スタンドアロン モードでは、スイッチにホスト名の値を設定すると、ホスト名上でイベントが送信されるときに、設定サーバでは DeviceID としてホスト名を使用します。ホスト名が設定されていない場合は、デバイスの cn=< value > 上でイベントが送信されます。
サーバ モードでは、ホスト名は使用されません。このモードでは、バス上でのイベントの送信には常に一意の DeviceID アトリビュートが使用されます。このアトリビュートを設定していない場合は、スイッチを更新できません。
このアトリビュートと関連アトリビュート(タグ値のペア)は、Configuration Engine で Setup を実行すると設定されます。
http://www.cisco.com/en/US/products/sw/netmgtsw/ps4617/products_installation_and_configuration_guides_list.html
Cisco IOS エージェントの概要
CNS イベント エージェント機能により、スイッチはイベント バス上でイベントのパブリッシュおよびサブスクライブが可能になる、Cisco IOS エージェントと連携します。Cisco IOS エージェント機能は、次の機能を装備してスイッチをサポートします。
初期設定
スイッチが最初に起動すると、ネットワークで Dynamic Host Configuration Protocol(DHCP)要求をブロードキャストして IP アドレスを取得しようとします。サブネット上には DHCP サーバがないものとみなして、ディストリビューション スイッチは DHCP リレー エージェントとして動作し、要求を DHCP サーバに転送します。DHCP サーバは、要求を受信すると新しいスイッチに IP アドレスを割り当て、Trivial File Transfer Protocol(TFTP; 簡易ファイル転送プロトコル)サーバの IP アドレス、ブートストラップ コンフィギュレーション ファイルのパス、デフォルト ゲートウェイの IP アドレスを DHCP リレー エージェントに対するユニキャスト応答に組み入れます。DHCP リレー エージェントは、その応答をスイッチに転送します。
スイッチは、割り当てられた IP アドレスを自動的にインターフェイス VLAN(仮想 LAN)1(デフォルト)に設定し、TFTP サーバからブートストラップ コンフィギュレーション ファイルをダウンロードします。ブートストラップ コンフィギュレーション ファイルのダウンロードが成功すると、スイッチは実行コンフィギュレーションにそのファイルをロードします。
Cisco IOS エージェントは、該当する ConfigID および EventID を使用して Configuration Engine との通信を開始します。Configuration Engine は、ConfigID をテンプレートにマップしてコンフィギュレーション ファイル全体をスイッチにダウンロードします。
図4-2 に、DHCP ベースの自動設定を使用して初期ブートストラップ コンフィギュレーション ファイルを取得するためのネットワーク構成の例を示します。
図4-2 初期設定の概要
増分(部分)設定
ネットワークが稼働すると、Cisco IOS エージェントを使用して新しいサービスを追加できます。増分(部分)設定は、スイッチに送信できます。実際の設定を、イベント ゲートウェイを介してイベント ペイロードとして(プッシュ処理)、またはスイッチにプル オペレーションを開始させる信号イベントとして送信できます。
スイッチは、適用する前に設定の構文をチェックできます。構文が正しい場合は、スイッチは増分設定を適用し、コンフィギュレーション サーバに成功を信号通知するイベントをパブリッシュします。スイッチは、増分設定を適用しない場合は、エラー ステータスを示すイベントをパブリッシュします。スイッチは増分設定を適用した場合、NVRAM(不揮発性 RAM)に書き込むことも、書き込み信号を待つこともできます。
同期設定
スイッチは、設定を受信した場合、書き込み信号イベントの受信時に設定の適用を遅らせることができます。書き込み信号イベントは、更新された設定を NVRAM に保存しないようにスイッチに指示します。スイッチは更新された設定を実行コンフィギュレーションとして使用します。これによりスイッチの設定は、次回の再起動時の使用のために NVRAM に設定を保存する前に、他のネットワーク アクティビティと同期化されます。
Cisco IOS エージェントの設定
スイッチの Cisco IOS ソフトウェアに組み込まれた Cisco IOS エージェントにより、スイッチの接続および自動設定を行うことができます( 自動 CNS コンフィギュレーションのイネーブル化 を参照)。設定を変更するか独自の設定をインストールする場合は、次の項の手順を参照してください。
自動 CNS コンフィギュレーションのイネーブル化
スイッチの自動 CNS コンフィギュレーションをイネーブルにするには、最初に 表4-1 の条件を満たす必要があります。条件設定を完了したらスイッチの電源を入れます。 setup プロンプトでは何も入力しません。スイッチは初期設定を開始します( 初期設定 を参照)。コンフィギュレーション ファイル全体がスイッチにロードされたら、作業は完了です。
http://www.cisco.com/en/US/products/sw/netmgtsw/ps4617/products_installation_and_configuration_guides_list.html
CNS イベント エージェントのイネーブル化
スイッチで CNS イベント エージェントをイネーブルにするには、イネーブル EXEC モードで次の手順を実行します。
CNS イベント エージェントをディセーブルにするには、 no cns event { ip-address | hostname } グローバル コンフィギュレーション コマンドを使用します。
次に、CNS イベント エージェントをイネーブルにし、IP アドレス ゲートウェイを 10.180.1.27 に設定し、キープアライブの間隔を 120 秒に設定し、再試行回数を 10 回に設定する例を示します。
Switch(config)# cns event 10.180.1.27 keepalive 120 10
Cisco IOS CNS エージェントのイネーブル化
CNS イベント エージェントをイネーブルにしてから、スイッチで Cisco IOS CNS エージェントを起動します。次のコマンドで Cisco IOS エージェントをイネーブルにできます。
- ・ cns config initial グローバル コンフィギュレーション コマンド ― Cisco IOS エージェントをイネーブルにしてスイッチで初期設定を開始します。
- ・ cns config partial グローバル コンフィギュレーション コマンド ― Cisco IOS エージェントをイネーブルにしてスイッチで部分設定を開始します。これで、Configuration Engine を使用してリモートでスイッチに増分設定を送信できます。
初期設定のイネーブル化
スイッチで CNS コンフィギュレーション エージェントをイネーブルにして初期設定を開始するには、イネーブル EXEC モードで次の手順を実行します。
CNS Cisco IOS エージェントをディセーブルにするには、 no cns config initial { ip-address | hostname } グローバル コンフィギュレーション コマンドを使用します。
次に、リモート スイッチで初期設定を行う例を示します。スイッチのホスト名は一意の ID です。Cisco Configuration Engine の IP アドレスは 172.28.129.22 です。
Switch(config)# cns config connect-intf serial ping-interval 1 retries 1
Switch(config-cns-conn-if)# config-cli ip address negotiated
Switch(config-cns-conn-if)# config-cli encapsulation ppp
Switch(config-cns-conn-if)# config-cli ip directed-broadcast
Switch(config-cns-conn-if)# config-cli no keepalive
Switch(config-cns-conn-if)# config-cli no shutdown
Switch(config-cns-conn-if)# exit
Switch(config)# hostname RemoteSwitch
RemoteSwitch(config)# ip route 10.1.1.1 255.255.255.255 11.11.11.1
RemoteSwitch(config)# cns id Ethernet 0 ipaddress
RemoteSwitch(config)# cns config initial 10.1.1.1 no-persist
部分設定のイネーブル化
スイッチで Cisco IOS エージェントをイネーブルにして部分設定を開始するには、イネーブル EXEC モードで次の手順を実行します。
Cisco IOS エージェントをディセーブルにするには、 no cns config partial { ip-address | hostname } グローバル コンフィギュレーション コマンドを使用します。部分設定を取り消すには、 cns config cancel イネーブル EXEC コマンドを使用します。
Cisco IOS イメージ エージェントによるデバイスのアップグレード
Cisco IOS デバイスで構成された大規模なネットワークを保守する管理者にとって、多くのリモート デバイスへのイメージ ファイルのロードを自動化するメカニズムが必要になります。既存のネットワーク管理アプリケーションは、実行するイメージを決定し、Cisco オンライン ソフトウェア センターから受信するイメージの管理方法を決定するのに便利です。他のイメージ配布ソリューションは、数千ものデバイスを扱うまでには至っておらず、またファイアウォールの背後にあるデバイスや Network Address Translation(NAT; ネットワーク アドレス変換)を使用するデバイスにイメージを配布することができません。CNS イメージ エージェントを使用すると、管理対象デバイスは、ネットワーク接続を開始してイメージのダウンロードを要求でき、NAT を使用したりファイアウォールの背後にあるデバイスが、イメージ サーバにアクセスできるようになります。
イメージ エージェントを使用して 1 つまたは複数のデバイスをダウンロードできます。スイッチには、スイッチ上で動作するイメージ エージェントが必要です。
CNS イメージ エージェントの前提条件
イメージ エージェントを使用して 1 つまたは複数のデバイスをアップグレードする前に、次の前提条件を確認してください。
- ・ Cisco IOS イメージが他のネットワーキング デバイスで使用できるようにするために、ファイル サーバ上でイメージを格納する場所を決定します。CNS イベント バスを使用してイメージの格納と配信を行う場合、CNS イベント エージェントを設定していなければなりません。
- ・ ファイル サーバをセットアップして、ネットワーキング デバイスで HTTPS プロトコルを使用して新しいイメージをダウンロードできるようにします。
- ・ イメージ エージェント動作で生成されたエラー メッセージを処理する方法を決定します。エラー メッセージは、CNS イベント バス、HTTP URL、または HTTPS URL に送信されます。
CNS イメージ エージェントの制限事項
自動化されたイメージのロード中に、Cisco IOS デバイスとイメージを提供しているファイル サーバとの接続が切断されないようにしなければなりません。イメージの再ロードは、メモリと接続の点で問題となる場合があります。最初のイメージの再ロードに失敗した場合に Cisco IOS デバイスが別のイメージを起動できるように、起動オプションも設定しておく必要があります。
次の制限事項は、Catalyst 3550 スイッチで稼働しているイメージ エージェントに適用されます。
- ・ ダウンロードできるのは、tar イメージ ファイルのみです。bin イメージのダウンロードはサポートしていません。
- ・ 即時ダウンロード オプションのみサポートされています。指定した日付と時間にダウンロードを行うようにスケジューリングできません。
- ・ Associate Image with Device ウィンドウ内の Destination フィールドはサポートされていません。
詳細については、CNS IE21000 マニュアルと、『 Cisco IOS Configuration Fundamentals Command Reference 』 Release 12.2 の「File Management」を参照してください。
イメージ エージェントを開始して、新しいイメージをチェックしてデバイスをアップグレードするには、イネーブル EXEC モードで次の手順を実行します。
Switch(config)> configure terminal
Switch(config)# ip host cns-dsbu.cisco.com 172.20.249.20
Switch(config)# cns trusted-server all-agents cns-dsbu.cisco.com
Switch(config)# no cns aaa enable cns event 172.20.249.20 22022
Switch(config)# cns image retry 1
Switch(config)# cns image server http://172.20.249.20:80/cns/HttpMsgDispatcher status http://172.20.249.20:80/cns/HttpMsgDispatcher
show cns image status ユーザ EXEC コマンドを使用してイメージのダウンロード ステータスをチェックできます。
CNS コンフィギュレーションの表示
表4-2 に記載されたイネーブル EXEC コマンドを使用すると、CNS コンフィギュレーション情報を表示できます。
