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
- Connect with your admin user name (port 22).
- Enter your password, or log in with an SSH public key registered in your account settings (Logging in to the web UI).
- 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 asshow ?) 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.