前回,述べたようにzebraはフリーのTCP/IPルーティング・ソフトです。zebraはIPv4でも使えますが,IPv6のルーターとしてもよく使われています。前回でzebraをインストールしてデーモンを起動するところまで説明しました。今回はコマンドライン・インタフェースの解説です。

■仮想端末(vty)の使い方

表1●デーモンとポート番号
デーモン ポート番号
zebra 2601
ripd 2602
ripngd 2603
ospfd 2604
bgpd 2605
ospf6d 2606

 無事にzebraデーモンが起動したら,次はその仮想端末(vty)にアクセスしてみましょう。各デーモンのvtyにアクセスしたいときは,それぞれのデーモン用のポート番号にtelnetします。各デーモンのvty用のポート番号は表1の通りです。

 zebraデーモンにアクセスするためのポート番号は2601番になるので,port 2601を指定してtelnetを実行します。telnetなのでリモート端末からでもアクセスできますが,ここでは zebraを動作させている端末自身から実行します。つまり,Localhostあてのtelnetとなります。パスワードとしては,先ほど zebra.conf のところで設定したパスワード"zebra"を入力します。


図1●zebraの仮想端末にログインする
画面:zebraの仮想端末にログインする

 コマンドプロンプトが出てきました。このvtyから,デーモンの状態の確認や設定変更などの操作ができます。

■補完機能の使い方

 vtyから入力できるコマンドの候補は“?”を入力することで表示されます。また,コマンドを途中まで入力した時点でタブ・キーを入力すると,入力途中のコマンドの補完,もしくは補完されるコマンドの候補が表示されます。

 例えば,プロンプトが表示された状態で“?”を入力すると以下のような候補が示されます。

図2●“?”を入力してコマンド候補を表示する
画面:“?”を入力してコマンド候補を表示する

 ここで“show”と入力した後に“?”を入力すると,“show”の次に入力可能なコマンドの候補が示されます。

図3●“show ?”で“show”に続けられるコマンド候補を表示する
画面:“show ?”で“show”に続けられるコマンド候補を表示する

 この補完表示の方法は,どのルーティング・デーモンの場合でも同じです。また後に説明しますが,設定内容を変更する場合も同じです。この方法がマスターできれば,マニュアルがなくてもある程度のコマンドを見付けることができます。

■設定内容の変更

 次にvty経由で設定内容を変更してみましょう。vtyから設定内容を変更するためには,まずenable権限に移ります。コマンドは“enable”で,zebra.conf の中で設定したenable用のパスワードを入力します。

図4●enable権限に移る
画面:enable権限に移る

 enable権限では設定内容を確認できるので,設定を変更する前にその内容を確認します。設定内容を確認するためのコマンドは "show running-config" です。

図5●設定内容を確認する
画面:設定内容を確認する

 設定したzebra.conf では,hostname,passwd,enable passwdのみの設定でしたが,ここではそれ以外にもinterface名などが表示されています。zebraは起動時に,そのマシンのインタフェースを自動検出した上で動作しています。そして,running-configで表示される内容は,設定ファイルの内容というよりも,現在動作しているデーモンの動作内容を反映したものになります。

 このrunning-configの内容を最初に準備した設定ファイルzebra.confへ反映するためのコマンドは“write memory”です。vtyから設定変更を行っても,動作しているデーモンの設定は変更されますが,設定ファイルの方には反映されません。そこで設定内容を変更した場合には,“write memory”でファイルの方にもその内容を反映させることが必要です。“write memory”しないと,デーモンを再起動したときに,変更内容が反映されていない格好で再起動されることになります。

 “write memory”せずに設定ファイルへ変更部分を保存する場合には,vty経由で設定変更するのと同時に設定ファイルを直接エディットすることになります。この場合は,vtyからの変更内容と,フィイルのエディット内容に違いがないように注意が必要です。

 いよいよ設定内容の変更です。vtyからの設定変更する場合も,前に説明した補完機能を利用できます。そこで,vtyからの設定変更では,設定コマンドのタイプミスを避けることができます。

 設定変更のための コマンドは“configure terminal”です。“con”とタイプしたところでタブキーを入力すると,“configure”と補完されます。configureの後に “?”で 次のキーワードの候補となる“terminal”が示されます。

 configモードにうつると,プロンプトの後に“(config)”と示されます。ここでは,“?”で configモードで入力できるキーワードを確認します。

図6●configモードに入って,コマンドを確認する
画面:configモードに入って,コマンドを確認する

 ここでホスト名とパスワードの変更をしてみましょう。最初にコピーしたサンプルファイルではホスト名が“Router”に,パスワードが“zebra”になっていましたが,ホスト名を“router-a”,パスワードを“himitsu”と変更してみます。

図7●ホスト名とパスワードを変更する
画面:ホスト名とパスワードを変更する

 router名は設定した直後にプロンプトが“router-a”に変更されます。設定された内容が反映されているかを確認します。configモードを抜けるためのコマンドは“exit”です。

図8●変更を確認する
画面:変更を確認する

 実行中のデーモンの設定は変更が反映されたようです。次に,この設定内容をzebra.confファイルにも反映するために“write memory”を実行します。

図9●変更内容をzebra.confに反映させる
画面:変更内容をzebra.confに反映させる

 これで設定内容が保存されました。“exit”でvtyを終了し,設定ファイル/usr/local/etc/zebra.confにも変更内容が反映されていることを確認します。

■デーモンの終了

 デーモンを終了させるときは,プロセス番号を指定してkillコマンドなどで強制終了します。

 今回はzebraのインストール,設定ファイルの作成,vtyの利用方法について説明しました。zebraの設定方法については,vtyコマンドの補完や,マニュアル,www.zebra.orgのドキュメント類などを使って調べることができるでしょう。また,zebraはソース・コードつきのパッケージですので,一番の方法はソースコードを調べることだと言えます。

 また,zebraについてのメーリング・リストもありますので,それに加入するのもいいでしょう。メーリングリストを講読するには,次の1文を本文に入れたメールをmajordomo@zebra.orgに送ります。

subscribe zebra

 次回は,RIPngを使ったダイナミック・ルーティングを説明します。