How to manage networks via CLI in Syneto Hyperion

Written By Christian Castagna (Administrator)

Updated at July 31st, 2025

→ Applies to: Hyperion 9.x and above

All commands in this article are intended to be executed via Hyperion CLI.

nmctl is a command-line utility designed to simplify network configuration on Hyperion. It offers a more intuitive alternative to tools like nmcli (NetworkManager CLI) and virsh (libvirt manager), with a focus on:

  • Bonded interfaces
  • Network bridges (vSwitch)
  • VLANs (virtual LANs)
  • Libvirt-integrated virtual networks

 

Step 1. Connect to Hyperion appliance via SSH as admin

ssh admin@<your_ip_address_or_hostname>

 

Step 2. Become Super User

sudo su

 

Step 3. Install the package

rpm -ivh https://storage.googleapis.com/syneto_public_files/downloads/Syneto-Tools/Networking/syneto-nmctl-0.2-1.el9.x86_64.rpm

 

Help & autocomplete

List available command

syneto-nmctl help

 

Enable auto-complete functionality with TAB

syneto-nmctl completion

 

Manage bonds

List physical interfaces to include in the bond

syneto-nmctl list physical

 

Create a bond (replace <interface1>, <interface2> and <bond_mode> with the correct information)

syneto-nmctl bond create --members <interface1>, <interface2> --type <bond_mode>

Bond modes

  • balance-rr: round-robin policy;
  • active-backup: only one active interface at a time (failover);
  • balance-xor: transmit based on hash policy;
  • broadcast: all traffic is sent on all interfaces;
  • 802.3ad: IEEE 802.3ad dynamic link aggregation (requires switch support for LACP);
  • balance-tlb: adaptive transmit load balancing;
  • balance-alb: adaptive load balancing (TX + RX).


EXAMPLE

syneto-nmctl bond create --members ens161, ens256 --type 802.3ad


EXAMPLE OUTPUT

Creating bond 'bond0' with members 'ens161,ens256'
Adding 'ens161' as slave to 'bond0'
Adding 'ens256' as slave to 'bond0'

 

Delete bond (replace <bond_name> with the correct information)

syneto-nmctl bond delete <bond_name>

 

List all bonds

syneto-nmctl bond list

EXAMPLE

syneto-nmctl bond list

=== Bond Interfaces ===
bond0                     bond0      bond      activated 
  └─ ens161 (ens161)
  └─ ens256 (ens256)

 

Manage vSwitches

Create a new vSwitch with a uplink interface (replace <company_name> and <interface> with the correct information)

syneto-nmctl vswitch create --name "<company_name>" --uplink <interface> 

EXAMPLE

syneto-nmctl vswitch create --name "Company Network" --uplink ens256 

EXAMPLE OUTPUT

[+] Creating bridge 'vswitch1' with label 'Company Network' and uplink 'ens256'
Connection 'Company Network' (73ef8751-d27d-4813-8a54-eaafe55817b4) successfully added.
Error: unknown connection 'Company Network Uplink'. <--IGNORE
Error: cannot delete unknown connection(s): 'Company Network Uplink'. <--IGNORE
[+] Configuring 'ens256' as direct bridge uplink
Connection 'Company Network Uplink' (a5b743ab-48e9-4fdd-88bd-cd1764850421) successfully added.
Connection successfully activated (controller waiting for ports) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/20)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)

 

Create a new vSwitch with a bond interface (replace <company_name> and <bond_name> with the correct information)

syneto-nmctl vswitch create --name "<company_name>" --uplink <bond_name> 

EXAMPLE

syneto-nmctl vswitch create --name "Company Network" --uplink bond0 

EXAMPLE OUTPUT

[+] Creating bridge 'vswitch1' with label 'Company Network' and uplink 'bond0'
Connection 'Company Network' (73ef8751-d27d-4813-8a54-eaafe55817b4) successfully added.
Error: unknown connection 'Company Network Uplink'. <--IGNORE
Error: cannot delete unknown connection(s): 'Company Network Uplink'. <--IGNORE
[+] Configuring 'bond0' as direct bridge uplink
Connection 'Company Network Uplink' (a5b743ab-48e9-4fdd-88bd-cd1764850421) successfully added.
Connection successfully activated (controller waiting for ports) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/20)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)

 

Delete a vSwitch and detach its uplink (replace <vswitch_name> with the correct information)

syneto-nmctl vswitch delete <vswitch_name>

EXAMPLE

syneto-nmctl vswitch delete vswitch0

 

List all vSwitches

syneto-nmctl vswitch list

EXAMPLE

syneto-nmctl vswitch list

=== Virtual Switches ===
--- General purpose Virtual Switches ---
Management Network        vswitch0     bridge   activated
  └─ em2 (Management Uplink)
cni0                      cni0         bridge   activated
virbr0                    virbr0       bridge   activated

--- VLAN-Dedicated Virtual Switches ---

 

Change the uplink(s) of an existing vSwitch (replace <vswitch_name>, <uplink1> and <uplink2> with the correct information)

syneto-nmctl vswitch change --name <vswitch_name> --uplink <uplink1>,<uplink2>

EXAMPLE

syneto-nmctl vswitch change --name vswitch0 --uplink em1,em2


EXAMPLE OUTPUT

Connection 'Management Uplink' (2e2fd3c2-a4a0-4483-9334-092aab45d358) successfully deleted.
[+] Creating bond0 with: em1,em2
Connection 'Management Uplink' (56361be4-934c-47c5-aef9-7f0fdf799fe7) successfully added.
Warning: There is another connection with the name 'em1'. Reference the connection by its uuid '365162e0-f99f-4268-b0ca-e34042d9e05f'
Connection 'em1' (365162e0-f99f-4268-b0ca-e34042d9e05f) successfully added.
Warning: There is another connection with the name 'em2'. Reference the connection by its uuid '5e2a3b71-b16b-43e6-9dbc-8d73515fdd9e'
Connection 'em2' (5e2a3b71-b16b-43e6-9dbc-8d73515fdd9e) successfully added.
Error: unknown connection 'vswitch0'.
Connection successfully activated (controller waiting for ports) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)
Connection successfully activated (controller waiting for ports) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/25)
[+] Reattaching vnet0 to vswitch0
[+] Reattaching vnet1 to vswitch0

 

Manage VLANs

Create a new VLAN network (replace <vlan_name>, <vlan_id> and <vswitch_name> with the correct information)

syneto-nmctl network create --name "<vlan_name>" --vlan-id <vlan_id> --vswitch <vswitch_name>

EXAMPLE

syneto-nmctl network create --name "VLAN 3003" --vlan-id 3003 --vswitch vswitch1

 

Delete a VLAN (replace <vlan_name> with the vlan name)

syneto-nmctl network delete <vlan_name>

 

List all VLANs

syneto-nmctl network list

 

Assign a VLAN to a Virtual Machine ("How to assign a VLAN to a virtual machine in Syneto Hyperion")
 

Reconnect VM interfaces & show network information

Show all physical network interfaces

syneto-nmctl list physical


Show the status of all interfaces

syneto-nmctl list interfaces


Show all network connections

syneto-nmctl list connections


Reattach VM interfaces to expected vSwitches

syneto-nmctl sync-vm-interfaces

Reattaches all VM interfaces (vnetX) to the correct virtual switches.  
Use this after modifying or recreating vSwitches or VLANs.