CLI の使い方
FELIXXRT には、ルーター専用の CLI(コマンドライン)があります。SSH でも本体の画面(コンソール)でも、同じ CLI が使えます。中では管理画面と同じ仕組みを使うので、権限・設定の確認・適用の動きは管理画面と同じです。全コマンドと設定の項目は CLI リファレンス にあります。
ログインする
SSH
ssh admin@192.168.1.1
- 管理ユーザーの名前で接続します(ポート 22)。
- パスワードを入力するか、アカウント設定で登録した SSH 公開鍵で入ります(管理画面へのログイン)。
- 2 要素認証を有効にしている場合は、続けて「Verification code:」に 6 桁のコードを入力します。
最初の接続では、ルーターのホスト鍵(ed25519)を信頼するか聞かれます。
| 項目 | 内容 |
|---|---|
| 受け付けるインターフェース | ゾーンの「ルーター宛て」が「許可」か、「許可するサービス」に「SSH」があるもの。既定では LAN だけです |
| ログイン元の制限 | 管理ユーザーごとの「ログイン元の制限」が SSH にも効きます |
| ログインの失敗 | 同じ送信元から続けて失敗すると、しばらくログインできません(管理画面と同じ) |
| 自動ログアウト | ロールの「自動ログアウト」の時間、入力がないと切断します |
コンソール
本体に画面とキーボードをつなぐと、「login:」が出ています。管理ユーザーの名前とパスワード(2 要素認証を有効にしていればコードも)でログインします。
使えないこと
出るのはルーターの CLI だけです。次のものは使えません。
- Linux のシェルと、apt などの Linux のコマンド
- コマンドを付けた実行(
ssh admin@192.168.1.1 show interfacesのような形) - ファイルの転送(sftp・scp)
- SSH のポート転送
2 つのモード
| モード | プロンプト | できること |
|---|---|---|
| 動作モード | admin@felixxrt> |
状態を見る、ping・traceroute、確定、履歴の設定に戻す、再起動など |
| 設定モード | admin@felixxrt# |
設定を変える(未適用の変更に入れる)、違いを見る、適用する |
configure で設定モードに入り、exit で動作モードに戻ります。動作モードで exit を実行するとログアウトします。
入力のこつは次のとおりです。
- コマンドは前の数文字だけでも通ります(例:
show int→show interfaces) - Tab で語を補います
?でコマンドの一覧、show ?のように語の後に付けると続きの候補を出します- 表示は英語です
動作モードのおもなコマンド
| コマンド | 内容 |
|---|---|
show interfaces |
インターフェースのアドレス・状態・通信量 |
show configuration [パス] |
稼働中の設定 |
show routes |
経路表 |
show dhcp leases |
DHCP のリース一覧 |
show vpn sites・show vpn wireguard など |
VPN の接続の状態 |
show history [件数] |
設定履歴 |
show system |
版・稼働時間・時刻 |
show log [行数] |
最近のログ |
ping <宛先>・traceroute <宛先> |
通信の確認 |
confirm |
適用した変更を確定します |
rollback <履歴番号> |
履歴の設定に戻します(5 分以内に confirm) |
reboot・poweroff |
再起動・電源を切る(yes で実行) |
show hardware と request … のコマンドは 初期設定 で説明しています。
設定を変える
admin@felixxrt> configure
Entering configuration mode. Use commit to apply, exit to leave.
admin@felixxrt# set dhcp lan lease 24h
admin@felixxrt# compare
(変更前と変更後の違い)
admin@felixxrt# commit comment "lease 24h"
Checking and applying…
Applied. Type confirm within 5 minutes to keep it; otherwise it is reverted automatically.
admin@felixxrt# confirm
Confirmed.
admin@felixxrt# exit
| コマンド | 内容 |
|---|---|
set <パス…> <値> |
未適用の変更に値を入れます |
delete <パス…> |
未適用の変更から消します |
show [パス…] |
未適用の変更を含めた設定(候補)を表示します |
compare |
稼働中の設定との違い |
commit [comment <説明>] |
適用します。5 分以内に confirm しないと自動で元に戻ります |
confirm |
適用した変更を確定します |
discard |
未適用の変更をすべて捨てます |
run <コマンド> |
設定モードのまま動作モードのコマンドを実行します(例:run show interfaces) |
未適用の変更は管理画面と共通です。CLI で set した内容は、管理画面の「未適用の変更」にも出ます。設定モードを抜けても、未適用の変更は残ります。
set の後に「Saved, but cannot be committed yet:」と出たときは、保存はできていますが、このままでは適用できません。表示された場所を直してから commit します。
パスの書き方
パスは、設定ファイル(YAML)の項目名を空白で区切って並べます。
admin@felixxrt# show dhcp lan
admin@felixxrt# set interfaces lan mtu 1500
リストの要素は、名前(name または zone の値)か、0 から数えた番号で指します。まだ無い名前を指定すると、その名前の要素を足します。
admin@felixxrt# set dhcp lan static printer mac 00:00:5e:00:53:20
admin@felixxrt# set dhcp lan static printer ip 192.168.1.20
admin@felixxrt# delete dhcp lan static printer
値の書き方
値は YAML として読みます。
| 種類 | 例 |
|---|---|
| 文字・数 | 24h、1500 |
| 真偽 | true、false |
| リスト | [192.0.2.53, 198.51.100.53] |
| マップ | "{name: web, proto: tcp}" |
空白を含む値は "…" か '…' で囲みます。囲まないと、空白で別の語に分かれます([ ] と { } の中の空白では分かれません)。リストやマップを値にすると、その場所は与えたものに置き換わります(書かなかった項目は消えます)。1 つの値だけ変えるときは、その項目まで、パスで指定してください。
パスワードなどの秘密の値は、設定ファイルには名前(secret:名前)だけを書きます。値そのものは管理画面で入力します。
権限
CLI でできることは、ログインした管理ユーザーのロールで決まります(管理画面と同じ)。閲覧できない領域は show configuration にも出ません。閲覧だけの領域は変えられません。