ToraNoAna

SEILの基本操作

コマンドラインインタフェース ~ コマンド入力 ~

SEILのコマンドラインインタフェースでは、キーボードからコマンド文字列を入力してSEILに様々な命令を与えます。
ここでは基本的な入力規則について説明します。

コマンドの入力と実行

SEILにログインしてコマンドプロンプト"# "または"> "が表示されると、SEILにコマンドを入力して設定や状態確認、通信テストなどができます。コマンドはキーボードから英数字で入力して[Enter] キーの入力で確定します。入力されたコマンドに誤りがなければ、SEILはそのコマンドを実行します。例えば、設定コマンドであれば動作中の設定内容を変更し、参照コマンドであれば標準出力(コンソール画面等)に結果を表示します。
SEILのコマンドラインインタフェースで入力可能なコマンドは大まかに、設定コマンド、参照コマンド、管理コマンド、の三つに分類できます。
※SEILで使用可能なコマンドの一覧についてはコマンドリファレンスをご覧ください。

設定コマンドの概要

SEILの動作に変更を加えるコマンドです。
コマンドに続いて動作に必要なキーワードやパラメータを与え、実行後はコンフィグとして残ります。
設定コマンドの多くは以下のような入力形式です。(コマンドごとに1行で記述します)
機能ごとのコマンドに対して操作内容と対象とする識別子を指定し、設定したい情報をキーワードとパラメータのペアで入力していきます。

   コマンド  操作内容  設定対象  キーワード  パラメータ  キーワード  パラメータ
#  ppp       add       SAMPLE    ipcp        enable      identifier  name@example.co.jp
#  filter    add       DEFAULT   interface   pppoe0      action      block
#  httpd     disable


上記"ppp"の例では、PPP接続の設定情報として"SAMPLE"という識別子を追加し、「ipcp = enable(有効)」「identifier(認証ID) = name@example.jp」という接続情報を指定しています。他にも必要なパラメータがあれば、キーワードとペアにし、続けて1行で記述します。コマンド実行時に、動作に必要なパラメータが与えられなかった場合、当該パラメータにはシステムの既定値(system-default)が設定されます。

※ 機能により上記の形式と異なる場合もあります。

設定コマンドは一部を除き、コマンド(機能)に対して「追加(add)」「変更(modify)」「削除(delete)」の操作が可能です。また、機能の動作状態を「有効(enable)」「無効(disable)」と切り替えが可能なものもあります。

コマンド入力例

追加/add

# filter add FILTER1 interface lan1 direction in action block
# show config filter
filter add FILTER1 interface lan1 direction in action block state disable logging on enable


lan1インタフェースからの入力をすべてブロックするフィルタを追加しています。"state disable"、"logging on"は設定時に指定していませんが、デフォルトとして設定されます。また、とくに指定しなければ、当該フィルタは設定と同時に有効(enable)になります。

変更/modify

# filter modify FILTER1 action pass logging off
# show config filter
filter add FILTER1 interface lan1 direction in action pass state disable logging off enable


識別子(FILTER1)を指定して、一部のパラメータのみ変更することができます。
但し、"FILTER1"→"FILTER2"といった識別子の変更はできません。また、Configとしては"add"が登録されます。

無効/disable

# filter disable FILTER1
# show config filter
filter add FILTER1 interface lan1 direction in action pass state disable logging off disable


識別子を指定して機能を無効にすることができます。無効にしても設定自体は削除されません。

有効/enable

# filter enable all
# show config filter
filter add FILTER1 interface lan1 direction in action pass state disable logging off enable


個別の識別子を指定せず、"all"ですべてのフィルタについてenable/disableの操作をすることも可能です。

削除/delete

# filter delete FILTER1
# show config filter
(削除されたので、何も無い状態の表示になる)


指定した識別子の設定を削除します。機能によってはenable/disableの切り替えのみで、削除することはできない設定もあります。

インタフェースの設定

# interface lan0 address 192.168.0.1/24


lan0インタフェースにIPアドレスを設定する例です。

静的経路情報の設定

# route add default 10.0.0.1


デフォルト経路を指定する場合の例です。

参照コマンド

SEILの設定状態や動作状態を参照するためのコマンドです。
設定したコマンドが正しく反映され動作しているかの確認、定期的な保守、トラブル時の動作状態の参照などのために使用し、動作や設定には影響を与えません。

参照コマンドは"show"というコマンドのみ用意されています。"show"に続けて、参照したい内容を指定します。

参照コマンドの例

# show system   システム情報をすべて参照する
# show log      メインメモリに記憶しているログをすべて参照する
# show config   設定状態をすべて参照する


上記入力例では実行すると各分類の情報がすべて出力されますが、キーワードを追加入力して特定の項目のみ参照することもできます。

パラメータを指定した参照コマンドの例

# show system memory      システム情報中のメインメモリ使用状況のみ参照する
# show log level warning  ログのレベルを指定し、warningのみ参照する
# show config interface   コンフィグからインタフェースの設定状態を参照する
# show status route       経路情報を参照する
# show status ike         IKEセッションの状態を参照する


"system"で確認したSEILが"config"の設定内容を元に"status"の動作状態をつくり、経過・結果が"log"に記録されます。何らかのトラブルが発生した時はそれぞれの情報を"show"コマンドで参照し、正しく設定されているか、動作しているか、エラーが記録されないか、等を確認することが原因追究の手段となります。

管理コマンド

変更した設定をフラッシュメモリや外部のPCに保存したり最新のファームウェアにアップデートしたりするなど、保守・管理を行う際に管理コマンドを使用します。

管理コマンドの例

# save-to flashrom           設定をフラッシュメモリに保存する
# factory-config             設定を初期化する
# update firmware {ADDRESS}  {ADDRESS}から最新版のファームウェアを読み込む

  通信状態の確認のためにping,traceroute等が使用可能です
# ping 10.0.0.1
# traceroute6 fec0:1::1


トラブルシュート時に特定の機能の動作状態のみをリセットするには"clear"コマンドを使用します。

clearコマンドの例

# clear log            メインメモリに記憶しているログを消去する
# clear ike            IKEのセッション情報を消去する
# clear nat-session    現在のNATセッションを消去する
  clear all log?[y/N] と確認されるので、 [y]  を入力すると実行します。

コマンドラインインタフェース ~ 付加機能 ~

SEILのコマンドラインインタフェースでは、UNIX端末のコマンドシェル(cshやbash等)の様にキーボード上の特殊キーや特定のキーの組み合わせを使用して、コマンドの履歴参照やコマンド行の編集ができます。ここで紹介する以外にも多数の特殊キーがコマンド入力補助に割り当てられています。コマンドリファレンスに一覧が掲載されていますので、あわせてご覧ください。

コマンド履歴参照

キーボードのカーソルキー [↑] [↓]を入力すると、過去に入力したコマンドを参照してそのままもう一度実行することができます。

過去のコマンド行を表示させた後に [←] [→]キーでカーソルを移動させ、一部だけを変更して再度実行できるので、入力ミスのためエラーとなったコマンドを再入力する助けとなります。また、一部パラメータの違う設定行を何度も入力する場合や、参照コマンドを何度も実行するとき等に最低限の入力で済みます。

コマンドラインの補完と省略形

コマンド、キーワード、パラメータの一部のみを入力した状態でキーボードから [TAB]キーを押すと、その一部のみで入力されるべき文字列を一意に特定できる場合にはその文字列+スぺース1文字が自動的に入力されます。また、入力された一部のみで一意に特定できる( [TAB]キーで補完される)状態であれば、その一部の入力のみでもコマンドとして受け付けます。

(ただし、ファームウェアのバージョンアップによるコマンドの追加により同じ省略形が使用できなくなる場合があります)

コマンドライン補完の例

# sh[TAB]  と入力すると、
# show   と補完されます

# show con[TAB] と入力すると、
# show config  と補完されます

# sh con[Enter]    と入力すると、
# show config[Enter] であるとして受け付けて、実行します (表示は"sh con"のままです)

入力候補表示

コマンドを入力中にキーボードから [?]キーを押すと、現在使用可能なパラメータや、続いて入力可能なキーワードを参照することができます。[TAB]キーでの補完機能と組み合わせると、素早く誤入力の無い操作が可能になります。

[?]キーは特殊キーとして扱われるため、識別子など任意の文字列を入力可能な項目で、"?"を文字として使用することはできません。

入力候補表示の例

# s[?]

    save-to    show       snmp       sshd       syslog
  "s"に続いて [?] キーを押すと、"s"で始まるトップレベルコマンドが候補として表示されます

# httpd [?]
    disable    enable
  コマンドの後にスペースを空けて [?] を押すと、入力可能なパラメータの候補が表示されます

# route[?]
    route     route6
  文字列に続いて [?] を押すとコマンド候補が表示され

# route [?]	
    add        delete     dynamic    modify
  スペースを空けて [?] を押すと続けて入力可能なキーワードの候補が表示されます

入力エラー箇所の表示

コマンドを入力して [Enter] で確定した際に入力ミスがあった場合には、エラー箇所を ^ で示します。エラーメッセージとあわせて入力内容を確認し、修正してください。

エラー表示の例

# filter add ISP0 interface ppoe0 direction in action block[Enter]
                            ^  ←エラー箇所を示します(正しくはpppoe0)
error: invalid interface name    ←無効なインターフェイス名を指定したエラーメッセージです


入力中にエラー箇所がある場合はコマンドラインの入力補完が効かなくなり、[?] キーを入力するとエラー箇所と正しい候補や入力形式を表示します。

# interface lan0 add 192.1680..1/24[?]
                     ^
    <IP address/prefixlen>


"^ " の位置で、IPアドレスの入力方法が誤っていることが分かります。

オンラインマニュアル(help機能)

SEILの各コマンドについて、入力方法などの簡単な説明を参照することができます。

オンラインマニュアルの参照コマンド

# help[Enter]

List of commands:

    administrator    obtain privileged access
    application-gateway configure application gateway
    arp              configure ARP
    authentication   configure authentication realm
    bridge           configure bridge
    bye              exit shell
    cbq              configure CBQ
~省略~
help [Enter]
キーワード無しで実行した場合は各トップレベルコマンドの簡単な説明が一覧で表示されます。
# help ppp[Enter]

NAME:
        ppp - configure ppp

SYNOPSIS:
        ppp add <name>
            ipcp {enable|disable}
            ipv6cp {enable|disable}
            [keepalive <sec>]
            [ipcp-address {on|off}]
            [ipcp-dns {on|off}]
~省略~
help ppp [Enter]
キーワードとしてコマンド名を指定した場合は、各コマンドの文法や指定可能なキーワードとパラメータを表示します。
Page Top