VPN network management commands for NDCLI. These commands allow you to create and manage WireGuard-based overlay networks, add devices as members, configure links between members, and publish IP prefixes.
Command alias: net
Commands
network list
List all VPN networks in the organization.
ndcli network list [flags]
Flags
Flag Type Default Description --pageint 1Page number --per-pageint 30Items per page
Examples
ndcli network list -f json
network describe
Show detailed information about a VPN network.
ndcli network describe [network]
Arguments
Argument Required Description networkYes Network name
Examples
ndcli network describe my-network
ndcli network describe my-network -f json
network create
Create a new VPN overlay network.
ndcli network create [name] [flags]
Arguments
Argument Required Description nameYes Network name
Flags
Flag Type Default Description --cidrstring Overlay CIDR (required, e.g. 10.100.0.0/24) --listen-portint 51820Default WireGuard listen port --mtuint Default MTU (1280–9000) --keepaliveint Default keepalive interval (1–65535 seconds) --auto-connect-hubsbool falseAuto-create links between HUB members
Examples
ndcli network create my-network --cidr 10.100.0.0/24
ndcli network create branch-vpn --cidr 10.200.0.0/24 --listen-port 51821 --keepalive 25
ndcli network create hub-network --cidr 10.0.0.0/24 --auto-connect-hubs
network update
Update an existing VPN network’s settings.
ndcli network update [network] [flags]
Arguments
Argument Required Description networkYes Network name
Flags
Flag Type Default Description --namestring New network name --listen-portint Default WireGuard listen port --mtuint Default MTU (use 0 to clear) --keepaliveint Default keepalive interval (use 0 to clear) --auto-connect-hubsbool Auto-create links between HUB members -y, --yesbool falseSkip confirmation prompt
Examples
ndcli network update my-network --name new-name
ndcli network update my-network --keepalive 25
ndcli network update my-network --mtu 0
network delete
Delete a VPN network.
ndcli network delete [network] [flags]
Arguments
Argument Required Description networkYes Network name
Flags
Flag Type Default Description -y, --yesbool falseSkip confirmation prompt
Examples
ndcli network delete my-network
ndcli network delete my-network --yes
Danger
This permanently deletes the network, all its members, links, and prefix configurations. Member devices are not removed from the organization.
network member list
List all members in a VPN network.
ndcli network member list [network] [flags]
Arguments
Argument Required Description networkYes Network name
Flags
Flag Type Default Description --pageint 1Page number --per-pageint 30Items per page
Examples
ndcli network member list my-network
ndcli network member list my-network -f json
network member describe
Show detailed information about a VPN network member.
ndcli network member describe [network] [device]
Arguments
Argument Required Description networkYes Network name deviceYes Device name
Examples
ndcli network member describe my-network my-firewall
network member add
Add a device to a VPN network as a member.
ndcli network member add [network] [device] [flags]
Arguments
Argument Required Description networkYes Network name deviceYes Device name
Flags
Flag Type Default Description --rolestring SPOKEMember role: HUB or SPOKE --overlay-ipstring Overlay IPv4 address (auto-allocated if empty) --endpoint-hoststring Public hostname or IP for incoming connections --endpoint-portint Public endpoint port --listen-portint WireGuard listen port override --mtuint MTU override --keepaliveint Keepalive interval override (seconds) --transit-via-hubstring Route through this HUB device name --enabledbool trueEnable the member
Member Roles
Role Description HUBActs as a relay; auto-connects to all SPOKE members and (if auto-connect-hubs is on) other HUBs SPOKEConnects to HUBs automatically; spoke-to-spoke requires a manual link
Examples
# Add a spoke member (auto-allocated overlay IP)
ndcli network member add my-network branch-firewall
# Add a hub member with a public endpoint
ndcli network member add my-network datacenter-fw \
--endpoint-host vpn.example.com \
# Add a spoke with a specific overlay IP
ndcli network member add my-network remote-fw --overlay-ip 10.100.0.5
network member update
Update a VPN network member’s settings.
ndcli network member update [network] [device] [flags]
Arguments
Argument Required Description networkYes Network name deviceYes Device name
Flags
Flag Type Default Description --rolestring Member role: HUB or SPOKE --endpoint-hoststring Public hostname or IP (use none to clear) --endpoint-portint Public endpoint port (use 0 to clear) --listen-portint WireGuard listen port override (use 0 to clear) --mtuint MTU override (use 0 to clear) --keepaliveint Keepalive interval override (use 0 to clear) --transit-via-hubstring HUB device to route through (use none to clear) --enabledbool Enable or disable the member --regenerate-keysbool falseRegenerate the WireGuard keypair
Examples
ndcli network member update my-network branch-fw --endpoint-host new.ip.example.com
ndcli network member update my-network branch-fw --endpoint-host none
ndcli network member update my-network branch-fw --regenerate-keys
network member remove
Remove a device from a VPN network.
ndcli network member remove [network] [device] [flags]
Arguments
Argument Required Description networkYes Network name deviceYes Device name
Flags
Flag Type Default Description -y, --yesbool falseSkip confirmation prompt
Examples
ndcli network member remove my-network branch-fw
ndcli network member remove my-network branch-fw --yes
network link list
List all effective VPN connections in a network. By default, shows effective connections derived from member roles. Use --raw to see only explicit link overrides stored in the database.
ndcli network link list [network] [flags]
Arguments
Argument Required Description networkYes Network name
Flags
Flag Type Default Description --devicestring Filter connections involving this device --rawbool falseShow raw link database rows instead of effective connections --pageint 1Page number (only with --raw) --per-pageint 30Items per page (only with --raw)
Connection Rules
Pair Connected? HUB ↔ SPOKE Always (automatic) HUB ↔ HUB Automatic if auto-connect-hubs is enabled on the network SPOKE ↔ SPOKE Only via a manual link (network link create)
Examples
ndcli network link list my-network
ndcli network link list my-network --device branch-fw
ndcli network link list my-network --raw
network link describe
Show details of a specific VPN connection between two members.
ndcli network link describe [network] [device-a] [device-b]
Arguments
Argument Required Description networkYes Network name device-aYes First device name device-bYes Second device name
Examples
ndcli network link describe my-network spoke-a spoke-b
network link create
Create a manual VPN link between two network members. This is required for SPOKE-to-SPOKE connections.
ndcli network link create [network] [device-a] [device-b] [flags]
Arguments
Argument Required Description networkYes Network name device-aYes First device name device-bYes Second device name
Flags
Flag Type Default Description --enabledbool trueEnable the link --generate-pskbool falseGenerate a WireGuard pre-shared key for additional security
Examples
ndcli network link create my-network spoke-a spoke-b
ndcli network link create my-network spoke-a spoke-b --generate-psk
network link update
Update a VPN link between two members.
ndcli network link update [network] [device-a] [device-b] [flags]
Arguments
Argument Required Description networkYes Network name device-aYes First device name device-bYes Second device name
Flags
Flag Type Default Description --enabledbool trueEnable or disable the link --regenerate-pskbool falseRegenerate the pre-shared key
Examples
ndcli network link update my-network spoke-a spoke-b --enabled=false
ndcli network link update my-network spoke-a spoke-b --regenerate-psk
network link delete
Delete a VPN link between two members.
ndcli network link delete [network] [device-a] [device-b] [flags]
Arguments
Argument Required Description networkYes Network name device-aYes First device name device-bYes Second device name
Flags
Flag Type Default Description -y, --yesbool falseSkip confirmation prompt
Examples
ndcli network link delete my-network spoke-a spoke-b
network prefix list
List all IP prefixes published by a VPN network member.
ndcli network prefix list [network] [device] [flags]
Arguments
Argument Required Description networkYes Network name deviceYes Device name
Flags
Flag Type Default Description --pageint 1Page number --per-pageint 30Items per page
Examples
ndcli network prefix list my-network branch-fw
network prefix add
Publish an IP prefix on a VPN network member. The prefix is defined by a variable (typically of type prefix) associated with that device.
ndcli network prefix add [network] [device] [variable] [flags]
Arguments
Argument Required Description networkYes Network name deviceYes Device name variableYes Variable name that holds the prefix value
Flags
Flag Type Default Description --publishbool trueAdvertise the prefix to other VPN peers
Examples
ndcli network prefix add my-network branch-fw lan_prefix
ndcli network prefix add my-network branch-fw lan_prefix --publish=false
network prefix update
Update the settings of a published prefix on a VPN member.
ndcli network prefix update [network] [device] [variable] [flags]
Arguments
Argument Required Description networkYes Network name deviceYes Device name variableYes Variable name
Flags
Flag Type Default Description --publishbool trueWhether to advertise the prefix to peers
Examples
ndcli network prefix update my-network branch-fw lan_prefix --publish=false
network prefix remove
Remove a published prefix from a VPN network member.
ndcli network prefix remove [network] [device] [variable] [flags]
Arguments
Argument Required Description networkYes Network name deviceYes Device name variableYes Variable name
Flags
Flag Type Default Description -y, --yesbool falseSkip confirmation prompt
Examples
ndcli network prefix remove my-network branch-fw lan_prefix