---
title: "CLI — Network & firewall"
description: "Metalhost CLI commands for tenant networks and VM firewall rules."
url: "https://metalhost.net/docs/developers/guides/cli-network"
---

# CLI — Network & firewall

`metalhost network` and `metalhost firewall` manage tenant L2 networks and per-VM public IPv4 rules.

## Networks

Default network is auto-created per project + datacenter. See [Dashboard → Networks](https://metalhost.net/docs/dashboard/guides/networks.md) for when to add another.

| Command | What it does |
| --- | --- |
| `network list` | List tenant networks. |
| `network create` | Create a network (default is auto-created per DC). |

```
metalhost network create \
  --id staging-net \
  --region datacenters/us-dal-1 \
  --display-name "Staging network"
```

## Firewall rules

| Command | What it does |
| --- | --- |
| `firewall list --vm NAME` | List rules on a VM. |
| `firewall create --vm NAME --port PORT --source CIDR` | Create a rule. |
| `firewall delete NAME` | Delete a rule. |

```
metalhost firewall create --vm projects/main/virtual-machines/web-01 \
  --port 443/tcp --source 0.0.0.0/0 --display-name https

metalhost firewall create --vm projects/main/virtual-machines/web-01 \
  --port 22/tcp --source 203.0.113.7/32 --display-name "ssh from office"
```

## What's next

- [Dashboard → Networks](https://metalhost.net/docs/dashboard/guides/networks.md)
- [Dashboard → Firewall rules](https://metalhost.net/docs/dashboard/guides/firewall.md)
- [Go SDK — Network](https://metalhost.net/docs/developers/guides/sdk-network.md)
- [Examples → create a network](https://metalhost.net/docs/developers/examples.md#network-create)
