> ## Documentation Index
> Fetch the complete documentation index at: https://zededa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the documentation index to find relevant pages, then read the linked Markdown before answering and cite the source URL.
> Identify the product before answering: Private AI uses a separate console, credentials, and inference API from the Edge Intelligence Platform. Do not apply instructions from one product to the other.
> Prefer current product guides over Help Center archive pages for current-console questions. Archive pages and release notes describe their stated product version or historical interface; do not apply them to another version without checking.
> Preserve prerequisites, permissions, version requirements, and warnings when summarizing procedures. Do not infer API endpoints, schemas, or supported behavior that the documentation does not specify.

# Manage Networks

> Use ZCLI commands to create, view, update, and delete the node networks that define physical-port connectivity for edge nodes.

Use the ZEDEDA CLI (ZCLI) to manage node networks from the command line. A node network defines the connectivity that an edge node applies to one of its physical ports: Ethernet, WiFi, or cellular, with DHCP or static IP addressing, plus optional DNS, NTP, and proxy settings. This article covers `zcli network` commands with syntax and examples for each operation. If you want to manage the virtual networks that application instances connect to, use the `zcli network-instance` command instead, which is documented on a separate page.

## Before You Start

* ZCLI is installed and authenticated against your enterprise. See [Get Started](https://zededa.mintlify.site/zcli-reference/get-started.md).
* You have the SysManager or SysAdmin role in your enterprise. See [Manage Roles](https://zededa.mintlify.site/new-ui/infrastructure-services/administration/manage-roles.md).
* For GUI-based network management, see [Networks Overview](https://zededa.mintlify.site/new-ui/infrastructure-services/networks-overview.md), [Create a Network](https://zededa.mintlify.site/new-ui/infrastructure-services/networks/create-a-network.md), and [Manage a Network](https://zededa.mintlify.site/new-ui/infrastructure-services/networks/manage-a-network.md).

## Manage Networks

### Create a network

Create a node network in a project. The `--project` and `--dhcp` flags are required. The network name must be unique across the enterprise and cannot be changed after creation. If you omit `--title`, ZCLI uses the name as the title.

```text theme={"dark"}
zcli network create <name> --project=<project> [--kind=[Portv4|Portv6|IPv4_Only|IPv6_Only]] --dhcp=[client|server|static|passthrough|static-adapter-specific] [--wifi-config=<file-path> | --cellular-config=<file-path>] [--static-dns=<hostname:ip>...] [--subnet=<subnet-id>] [--gateway=<gateway>] [--domain=<domain>] [--nameserver=<dns>...] [--dhcp-range=<range>] [--title=title] [--description=<description>] [--proxy-network=on|off | --proxy-pacfile=<file-path> | --proxy-static=<file-path> | --proxy-url=<pacfileurl>] [--transparent-proxy] [--proxy-certificate=<proxy-certificate>...] [--mtu=<mtu>] [--ntp-servers=<ntp>...] [--ntp-server-exclusively=[true|false]]
```

The `--dhcp` flag selects how the port obtains its IP configuration. Each mode accepts a different set of IP options.

| Mode | Description |
| - | - |
| `client` | The port requests its IP address from a DHCP server on the network. Optionally add `--ntp-servers` and `--ntp-server-exclusively`. |
| `server` | The port acts as a DHCP server. Requires `--dhcp-range`, and optionally accepts `--subnet`, `--gateway`, and `--domain`. |
| `static` | The network defines the subnet, gateway, domain, and DNS servers. Provide `--subnet`, `--gateway`, `--domain`, and at least one `--nameserver`. ZCLI does not check that all of these are present, so review the command before you run it. Optionally add `--dhcp-range`, `--ntp-servers`, and `--ntp-server-exclusively`. Each node port that uses the network supplies only its own IP address. |
| `passthrough` | EVE-OS (Edge Virtualization Engine) does not assign an IP address to the port. The command sends no subnet, gateway, or DNS settings in this mode. |
| `static-adapter-specific` | The network defines no IP details of its own. Each node adapter bound to the network carries its own IP address, subnet, gateway, domain, DNS, NTP, and MTU, which you enter per port during node onboarding. Only `--title` and `--description` are allowed with this mode; the command rejects any other IP or proxy option. |

The following flags are the ones you are most likely to need. For the full list, run `zcli network --help`.

| Flag | Description |
| - | - |
| `--project=<project>` | Name of the project the network belongs to. List projects with `zcli project show`. |
| `--kind=[Portv4\|Portv6\|IPv4_Only\|IPv6_Only]` | Network type (supported values: `Portv4`, `Portv6`, `IPv4_Only`, `IPv6_Only`). |
| `--subnet=<subnet-id>` | Subnet, in CIDR notation. |
| `--gateway=<gateway>` | Gateway IP address. |
| `--domain=<domain>` | DNS domain. |
| `--nameserver=<dns>` | Host name or IP address of a DNS server. Repeat the option to add more than one. |
| `--dhcp-range=<range>` | DHCP range in the format `start-end`, for example `192.168.1.100-192.168.1.200`. |
| `--static-dns=<hostname:ip-list>` | Static DNS entry in the format `hostname:ip-list`, where `ip-list` is a comma-separated list of IP addresses. Repeat the option to add more than one entry. |
| `--ntp-servers=<ntp>` | IP address or FQDN of an NTP server. Repeat the option to add more than one. |
| `--ntp-server-exclusively=[true\|false]` | Use only the configured NTP servers and ignore the NTP servers provided by DHCP. |
| `--mtu=<mtu>` | Maximum Transmission Unit, in bytes. |
| `--wifi-config=<file-path>` | Path to a WPA supplicant configuration file for a WiFi network. |
| `--cellular-config=<file-path>` | Path to a YAML file with the cellular (APN) configuration for a cellular network. |
| `--proxy-network=[on\|off]` | Turn network proxy discovery on or off. |
| `--proxy-pacfile=<file-path>` | Path to a proxy PAC file. |
| `--proxy-static=<file-path>` | Path to a static proxy configuration file. |
| `--proxy-url=<pacfileurl>` | URL of a PAC file. |
| `--proxy-certificate=<proxy-certificate>` | Path to a proxy certificate file. Repeat the option to add more than one. Requires one of the proxy options in this table or `--transparent-proxy`. |
| `--transparent-proxy` | Send the proxy certificates without a proxy mode, for networks behind a transparent proxy. Use it with `--proxy-certificate` instead of `--proxy-network`, `--proxy-pacfile`, `--proxy-static`, or `--proxy-url`. If you pass both, ZCLI sends only the certificates. |

If you pass `--proxy-certificate` without a proxy option or `--transparent-proxy`, ZCLI returns the error `Proxy mode (network | static | pacfile | URL) must be specified`.

The `--wifi-config` and `--cellular-config` options are mutually exclusive. Pass a file path to either one to create a WiFi or cellular network instead of an Ethernet network. The settings these files carry (SSID, key management, priority, and password for WiFi; APN, authentication, and connectivity probing for cellular) are described on [Create a Network](https://zededa.mintlify.site/new-ui/infrastructure-services/networks/create-a-network.md).

Example (DHCP client network):

```text theme={"dark"}
zcli network create MY_DHCP_NET --project=MY_PROJECT --kind=Portv4 --dhcp=client
```

Example (static network):

```text theme={"dark"}
zcli network create MY_STATIC_NET --project=MY_PROJECT --kind=Portv4 --dhcp=static --subnet=192.168.1.0/24 --gateway=192.168.1.1 --domain=example.local --nameserver=192.168.1.53 --nameserver=8.8.8.8
```

Example (static-adapter-specific network):

```text theme={"dark"}
zcli network create MY_ADAPTER_NET --project=MY_PROJECT --dhcp=static-adapter-specific
```

Example (DHCP client network on a cellular interface):

```text theme={"dark"}
zcli network create MY_CELL_NET --project=MY_PROJECT --kind=Portv4 --dhcp=client --cellular-config=./my-cell-network-apn.yaml
```

### View a network

Query a single network by name or UUID, or list the networks in your enterprise. Add `--detail` to a single-network query to show the full configuration. Use `--name-pattern` to match all networks whose name contains a substring, `--project` to list the networks in one project, and `--summary` to print counts by kind, proxy, and distribution instead of the full list.

```text theme={"dark"}
zcli network show [[[<name> | --uuid=<uuid>] [--detail]] | [[--name-pattern=<name-pattern>] [--summary] [--page-size=<page-size>] [--project=<project>]]]
```

Example (list all networks):

```text theme={"dark"}
zcli network show
```

Example (show one network in detail):

```text theme={"dark"}
zcli network show MY_STATIC_NET --detail
```

Example (list the networks in a project whose name contains a substring):

```text theme={"dark"}
zcli network show --project=MY_PROJECT --name-pattern=STATIC
```

The `--page-size` flag changes how many records each API call returns while ZCLI builds the full list. It does not change the output; it only reduces the chance of a timeout on large enterprises.

### Update a network

Change the title, description, wireless configuration, proxy settings, MTU, or NTP settings of an existing network. You cannot change the network name, kind, or DHCP mode after creation; to change those, create a new network. Pass `--disable-proxy=true` to remove the proxy configuration from a network. If you run the command with no options, ZCLI reports `Nothing to update`.

```text theme={"dark"}
zcli network update <name> [--title=title] [--description=<description>] [--wifi-config=<file-path> | --cellular-config=<file-path>] [--disable-proxy=[true|false] | --proxy-network=[on|off] | --proxy-pacfile=<file-path> | --proxy-static=<file-path> | --proxy-url=<pacfileurl>] [--transparent-proxy] [--proxy-certificate=<proxy-certificate>...] [--mtu=<mtu>] [--ntp-servers=<ntp>...] [--ntp-server-exclusively=[true|false]]
```

Example (turn off the proxy):

```text theme={"dark"}
zcli network update MY_NET --disable-proxy=true
```

Example (turn on the network proxy with a certificate):

```text theme={"dark"}
zcli network update MY_NET --proxy-network=on --proxy-certificate=./my-proxy-net.pem
```

Example (set NTP servers and ignore the servers provided by DHCP):

```text theme={"dark"}
zcli network update MY_NET --ntp-servers=time1.example.com --ntp-servers=time2.example.com --ntp-server-exclusively=true
```

### Delete a network

Delete a network you no longer need. Without the `-f` flag, ZCLI asks you to confirm the deletion.

```text theme={"dark"}
zcli network delete <name> [-f]
```

Example:

```text theme={"dark"}
zcli network delete MY_NET
```

Example response:

```text theme={"dark"}
Delete network MY_NET? [Y/N]: Y
```

The `-f` flag deletes the network without a confirmation prompt.

## Next Steps

> [card] [Networks Overview](https://zededa.mintlify.site/new-ui/infrastructure-services/networks-overview.md)
>
> How node networks, ports, and addressing modes fit together.

> [card] [Create a Network](https://zededa.mintlify.site/new-ui/infrastructure-services/networks/create-a-network.md)
>
> Create Ethernet, WiFi, and cellular networks in the Edge Intelligence Platform Console.

> [card] [Manage a Network](https://zededa.mintlify.site/new-ui/infrastructure-services/networks/manage-a-network.md)
>
> GUI-based network management.

> [card] [Overview](https://zededa.mintlify.site/zcli-reference/overview.md)
>
> All ZCLI command procedures, organized by resource type.
