FELIXXRT
日本語English

Using the CLI

FELIXXRT has its own router CLI (command line). The same CLI is available over SSH and on the router's screen (the console). It uses the same mechanisms as the web UI, so permissions, configuration checks and applying behave the same way. All commands and configuration fields are listed in the CLI reference.

Log in

SSH

ssh admin@192.168.1.1
  1. Connect with your admin user name (port 22).
  2. Enter your password, or log in with an SSH public key registered in your account settings (Logging in to the web UI).
  3. If two-factor authentication is enabled, enter the 6-digit code at Verification code:.

On the first connection, you are asked whether to trust the router's host key (ed25519).

Item Details
Interfaces Interfaces whose zone has Input set to Accept, or has SSH under Allowed services. By default only the LAN
Allowed login sources Each admin user's Allowed login sources also apply to SSH
Failed logins After repeated failures from the same source, logging in is blocked for a while (same as the web UI)
Session timeout The connection is closed after no input for the Session timeout of your role

Console

With a screen and keyboard connected to the router, a login: prompt is shown. Log in with your admin user name and password (and the code, if two-factor authentication is enabled).

Not available

You only get the router CLI. The following are not available:

  • A Linux shell, or Linux commands such as apt
  • Running a command directly (such as ssh admin@192.168.1.1 show interfaces)
  • File transfer (sftp, scp)
  • SSH port forwarding

Two modes

Mode Prompt What you can do
Operational mode admin@felixxrt> View status, ping and traceroute, confirm, restore a revision, reboot and so on
Configuration mode admin@felixxrt# Change settings (into the pending changes), view differences, apply

configure enters configuration mode and exit returns to operational mode. exit in operational mode logs you out.

Tips:

  • Any unambiguous prefix works (e.g. show int → show interfaces)
  • Tab completes words
  • ? lists the commands; after a word (such as show ?) it lists what can follow
  • Output is in English

Main operational commands

Command What it does
show interfaces Addresses, state and traffic of the interfaces
show configuration [path] Running configuration
show routes Routing table
show dhcp leases DHCP leases
show vpn sites, show vpn wireguard and others VPN connection status
show history [count] Configuration history
show system Version, uptime and time
show log [lines] Recent log messages
ping <host>, traceroute <host> Connectivity checks
confirm Confirm the applied change
rollback <revision> Restore a revision from the history (confirm within 5 minutes)
reboot, poweroff Reboot or power off (answer yes)

show hardware and the request … commands are explained in First setup.

Change settings

admin@felixxrt> configure
Entering configuration mode. Use commit to apply, exit to leave.
admin@felixxrt# set dhcp lan lease 24h
admin@felixxrt# compare
(differences between running and new configuration)
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
Command What it does
set <path…> <value> Put a value into the pending changes
delete <path…> Remove something in the pending changes
show [path…] Show the configuration including pending changes (the candidate)
compare Differences from the running configuration
commit [comment <text>] Apply. Unless you confirm within 5 minutes, it is reverted automatically
confirm Confirm the applied change
discard Throw away all pending changes
run <command> Run an operational command without leaving configuration mode (e.g. run show interfaces)

The pending changes are shared with the web UI. Whatever you set in the CLI also shows up under the pending changes in the web UI. Leaving configuration mode keeps the pending changes.

If set prints "Saved, but cannot be committed yet:", the value was saved but the configuration cannot be applied as it is. Fix the places listed, then commit.

Paths

A path is the list of field names of the configuration file (YAML), separated by spaces.

admin@felixxrt# show dhcp lan
admin@felixxrt# set interfaces lan mtu 1500

List items are addressed by name (the value of name or zone) or by index, counting from 0. A name that does not exist yet adds a new item with that name.

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

Values

Values are read as YAML.

Kind Example
Text or number 24h, 1500
Boolean true, false
List [192.0.2.53, 198.51.100.53]
Map "{name: web, proto: tcp}"

Put values that contain spaces in "…" or '…'; otherwise they are split into separate words (spaces inside [ ] and { } do not split). Setting a list or map replaces that place with exactly what you give (fields you leave out are removed). To change a single value, give the path all the way down to that field.

Secret values such as passwords are written in the configuration only by name (secret:name). The values themselves are entered in the web UI.

Permissions

What you can do in the CLI depends on the role of the admin user you logged in with (same as the web UI). Areas you cannot view are left out of show configuration. Areas you can only view cannot be changed.

Troubleshooting →