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
# filter modify DEFAULT action pass
# filter delete DEFAULT
"add"で設定項目を追加し、"delete"は指定した識別子の設定項目を削除します。"modify"は、既存の設定項目を変更します。
上記"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 [Enter]
# show config filter [Enter]
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 [Enter]
# show config filter [Enter]
filter add FILTER1 interface lan1 direction in action pass state disable logging off enable
識別子(FILTER1)を指定して、一部のパラメータのみ変更することができます。但し、"FILTER1"→"FILTER2"といった識別子の変更はできません。また、コンフィグとしては"add"が登録されます。
無効/disable
# filter disable FILTER1 [Enter]
# show config filter [Enter]
filter add FILTER1 interface lan1 direction in action pass state disable logging off disable
識別子を指定して機能を無効にすることができます。無効にしても設定自体は削除されません。
有効/enable
# filter enable all [Enter]
# show config filter [Enter]
filter add FILTER1 interface lan1 direction in action pass state disable logging off enable
個別の識別子を指定せず、"all"ですべてのフィルタについてenable/disableの操作をすることも可能です。
削除/delete
# filter delete FILTER1 [Enter]
# show config filter [Enter]
(削除されたので、何も無い状態の表示になる)
指定した識別子の設定を削除します。機能によってはenable/disableの切り替えのみで、削除することはできない設定もあります。
インタフェースの設定
# show config interface
interface lan0 media auto
interface lan1 media auto
interface lan1 queue normal
interface lan2 media auto
# interface lan0 address 192.168.0.1/24 [Enter]
# show config interface [Enter]
interface lan0 media auto
interface lan0 add 192.168.0.1/24
interface lan1 media auto
interface lan1 queue normal
interface lan2 media auto
#
lan0インタフェースにIPアドレスを設定する例です。
静的経路情報の設定
# route add default 10.0.0.1 [Enter]
デフォルト経路を指定する場合の例です。
SEILの設定状態や動作状態を参照するためのコマンドです。設定したコマンドが正しく反映され動作しているかの確認、定期的な保守、トラブル時の動作状態の参照などのために使用し、動作や設定には影響を与えません。
参照コマンドは"show"というコマンドのみ用意されています。"show"に続けて、参照したい内容を指定します。
参照コマンドの例
# show system [Enter] システム情報をすべて参照する
# show log [Enter] メインメモリに記憶しているログをすべて参照する
# show config [Enter] 設定状態をすべて参照する
上記入力例では実行すると各分類の情報がすべて出力されますが、キーワードを追加入力して特定の項目のみ参照することもできます。
キーワードを指定した参照コマンドの例
# show system memory [Enter] システム情報中のメインメモリ使用状況のみ参照する
# show log level warning [Enter] ログのレベルを指定し、warningのみ参照する
# show config interface [Enter] コンフィグからインタフェースの設定状態を参照する
# show status route [Enter] 経路情報を参照する
# show status ike [Enter] IKEセッションの状態を参照する
"system"で確認したSEILが"config"の設定内容を元に"status"の動作状態をつくり、経過・結果が"log"に記録されます。何らかのトラブルが発生した時はそれぞれの情報を"show"コマンドで参照し、正しく設定されているか、動作しているか、エラーが記録されないか、等を確認することが原因追究の手段となります。
変更した設定をフラッシュメモリや外部のPCに保存したり最新のファームウェアにアップデートしたりするなど、保守・管理を行う際に管理コマンドを使用します。
管理コマンドの例(設定の保存・読み込み)
# save-to flashrom [Enter] 設定をフラッシュメモリに保存する
# factory-config [Enter] 設定を初期化する
# update firmware address [Enter] addressから最新版のファームウェアを読み込む
通信状態の確認のためにping,traceroute等が使用可能です
管理コマンドの例(疎通確認)
# ping 192.168.0.2 [Enter]
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp_seq=0 ttl=128 time=0.715 ms
64 bytes from 192.168.0.2: icmp_seq=1 ttl=128 time=0.689 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=128 time=0.704 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=128 time=0.701 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=128 time=1.008 ms
64 bytes from 192.168.0.2: icmp_seq=5 ttl=128 time=0.710 ms
^C
----192.168.0.2 PING Statistics----
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.689/0.754/1.008/0.125 m
# traceroute6 fec0:1::1 [Enter]
"ping"コマンドは、Ctrl+Cで終了します。
トラブルシュート時に特定の機能の動作状態のみをリセットするには"clear"コマンドを使用します。
管理コマンドの例(clearコマンド)
# clear log [Enter] メインメモリに記憶しているログを消去する
clear all log?[y/N] と確認されるので、 [y] を入力すると実行します。
# clear ike [Enter] IKEのセッション情報を消去する
# clear nat-session [Enter] 現在のNATセッションを消去する
キーボードのカーソルキー [↑] [↓]を入力すると、過去に入力したコマンドを参照してそのままもう一度実行することができます。
過去のコマンド行を表示させた後に [←] [→]キーでカーソルを移動させ、一部だけを変更して再度実行できるので、入力ミスのためエラーとなったコマンドを再入力する助けとなります。また、一部パラメータの違う設定行を何度も入力する場合や、参照コマンドを何度も実行するとき等に最低限の入力で済みます。
コマンド、キーワード、パラメータの一部のみを入力した状態でキーボードから [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アドレスの入力方法が誤っていることが分かります。
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 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}]
~省略~