> For the complete documentation index, see [llms.txt](https://docs.glesys.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.glesys.com/products/compute/vmware-virtual-machines/how-tos/manage-vlan-networks.md).

# Manage VLAN networks

***

Use traditional VLAN-based networks to connect your VMware servers or physical hardware, or link VMware servers with physical hardware in the same data center.

If you only intend to connect VMs, we recommend using the simpler alternative [**private networks**](/products/compute/vmware-virtual-machines/how-tos/manage-private-networks.md) instead. VLAN networks are intended for specific use cases, such as connecting physical servers to each other or linking physical servers with virtual machines.

## Create a VLAN network using the control panel

First, you need to create a VLAN network for the VMs to use. This is done under **Network → VLAN networks** in the left-hand menu. Here, click **Create network**.

<figure><img src="/files/GudWZRA2o56XTRzYL5NB" alt=""><figcaption></figcaption></figure>

In the dialog box that opens, select the data center where you want the network to be created. This should be the same data center where the VMs are located. Choose a name for the network as well. Then, click **Create**.

<figure><img src="/files/eBmh4IhlqjBXEIMWYEqf" alt=""><figcaption></figcaption></figure>

Once the network is created, it appears in the network overview.

<figure><img src="/files/Ln2OqRCWgkFaZv69kXuM" alt=""><figcaption></figcaption></figure>

### Connect VMs to the VLAN network

For the VMs to communicate over the VLAN network, you need to add a new network adapter to each of the VMs that will use the network.

To add a network adapter to a VM, click on the VM under **Virtual machines**. Once the VM overview is open, select the **Network adapters** tab. There is already a network adapter listed here—the one used to access the internet. To create a new network adapter for the private network, click **Create Network Adapter**.

<figure><img src="/files/Cp5A9eJVUEhJUklwiPGz" alt=""><figcaption></figcaption></figure>

In the dialog box that opens, select the network adapter type. In most cases, the default option **VMXNET 3** works perfectly. Then, under *Connection Type*, select **VLAN network**. Under *Network*, select the VLAN network that you just created. You can also adjust the speed of the network adapter.

Once you have made all the selections, click **Create**.

<figure><img src="/files/0htI940OfEUfc7Z2gb2n" alt=""><figcaption></figcaption></figure>

Repeat the same process for all VMs that need access to the VLAN network.

Before the VMs can use the network, you need to configure the network adapter on each VM and assign it a private IP address. The steps for doing this vary between operating systems. Below, we'll explain how to configure it for each operating system.

{% tabs %}
{% tab title="Win Server 2022" %}
Right-click on the network icon in the system tray, then select **Open Network & Internet settings**.&#x20;

<figure><img src="/files/RHg2Mwi95RrbEQCdBktz" alt=""><figcaption></figcaption></figure>

Under *Advanced network settings*, click on **Change adapter options**.

<figure><img src="/files/A92JwdBBv5uUtQUbV31x" alt=""><figcaption></figcaption></figure>

There should now be two network adapters, *Ethernet0* and *Ethernet1*. Under the adapter *Ethernet1*, it should say *Unidentified network*. If it does, you know this is the new adapter. Right-click on it and select **Properties**.

<figure><img src="/files/lr0lByEksEzoTZ6ZMRdf" alt=""><figcaption></figcaption></figure>

Now, select *Internet Protocol Version 4 (TCP/IPv4)* and click on **Properties**.

<div align="left"><figure><img src="/files/BbEkzl7VlasvBMDe9Ni2" alt=""><figcaption></figcaption></figure></div>

In the next dialog box, select **Use the following IP address** and enter a private IP address and subnet mask. It's essential to choose an IP address within the same network as the other VMs it needs to communicate with. In this example, we use the IP address 192.168.0.3 with the subnet mask 255.255.255.0. Click **OK** to save.

<div align="left"><figure><img src="/files/CiLzZW1Fjm4rWmphw8tF" alt=""><figcaption></figcaption></figure></div>

Now, close all the open dialog boxes.

#### **Test and verify the network adapter**

To verify that the network adapter has the correct IP address, open the command prompt by clicking on the Start menu and searching for *cmd*. Click on **Command Prompt** when it appears.

Type the command `ipconfig` to list all the IP addresses on the server.

{% code title="Command" %}

```terminal
ipconfig
```

{% endcode %}

{% code title="Output" %}

```
Windows IP Configuration


Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 2001:db8:18::74
   Link-local IPv6 Address . . . . . : fe80::6137:3530:d2b1:c110%15
   IPv4 Address. . . . . . . . . . . : 203.0.113.84
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 2001:db8:18::1
                                       203.0.113.1

Ethernet adapter Ethernet1:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::9f7e:dbc9:f72:920c%14
   IPv4 Address. . . . . . . . . . . : 192.168.0.3
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
```

{% endcode %}

Now we also try pinging another computer on the network.

{% code title="Command" %}

```terminal
ping 192.168.0.2
```

{% endcode %}

{% code title="Output (abort with Ctrl-c)" %}

```
Pinging 192.168.0.2 with 32 bytes of data:
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.0.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
```

{% endcode %}
{% endtab %}

{% tab title="Win Server 2025" %}
Right-click on the network icon in the system tray, then select **Network & Internet settings**.&#x20;

<figure><img src="/files/gjRAfu3I4aliEBSkFSSd" alt=""><figcaption></figcaption></figure>

Next, click on **Advanced network settings**.

<figure><img src="/files/6Kkf29OcBGnPZaHfcy2I" alt=""><figcaption></figcaption></figure>

There should now be two network adapters, *Ethernet0* and *Ethernet1*. Under the adapter *Ethernet1*, it should say *Unidentified network*. If it does, you know this is the new adapter. Click on it to show all the options, and then select **Edit**.

<figure><img src="/files/1KtTbitR5OxBLgYYfP7n" alt=""><figcaption></figcaption></figure>

Now, select *Internet Protocol Version 4 (TCP/IPv4)* and click on **Properties**.

<div align="left"><figure><img src="/files/QQi9STjhLtWcikQAcYHf" alt=""><figcaption></figcaption></figure></div>

In the next dialog box, select **Use the following IP address** and enter a private IP address and subnet mask. It's important to choose an IP address within the same network as the other VMs it needs to communicate with. In this example, we use the IP address `192.168.0.3` with the subnet mask `255.255.255.0`. Click **OK** to save.

<div align="left"><figure><img src="/files/q8DOJAnxkCAg540xvgab" alt=""><figcaption></figcaption></figure></div>

Now, close all the open dialog boxes.

#### **Test and verify the network adapter**

To verify that the network adapter has the correct IP address, open the command prompt by clicking on the Start menu and searching for *cmd*. Click on **Command Prompt** when it appears.

Type the command `ipconfig` to list all the IP addresses on the server.

{% code title="Command" %}

```terminal
ipconfig
```

{% endcode %}

{% code title="Output" %}

```
Windows IP Configuration


Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 2001:db8:18::74
   Link-local IPv6 Address . . . . . : fe80::6137:3530:d2b1:c110%15
   IPv4 Address. . . . . . . . . . . : 203.0.113.84
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 2001:db8:18::1
                                       203.0.113.1

Ethernet adapter Ethernet1:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::9f7e:dbc9:f72:920c%14
   IPv4 Address. . . . . . . . . . . : 192.168.0.3
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
```

{% endcode %}

Now we also try pinging another computer on the network.

{% code title="Command" %}

```terminal
ping 192.168.0.2
```

{% endcode %}

{% code title="Output" %}

```
Pinging 192.168.0.2 with 32 bytes of data:
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64
Reply from 192.168.0.2: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.0.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0msPreparation
```

{% endcode %}
{% endtab %}

{% tab title="AlmaLinux 9" %}
Before configuring the network in AlmaLinux, you need to disable automatic cloud network configuration to prevent your changes from being overwritten. This is done by editing the file `/etc/cloud/cloud.cfg.d/99-custom-networking.cfg`.

{% code title="Command" %}

```terminal
sudo vi /etc/cloud/cloud.cfg.d/99-custom-networking.cfg
```

{% endcode %}

The file should have the following content:

{% code title="/etc/cloud/cloud.cfg.d/99-custom-networking.cfg" %}

```yaml
network: {config: disabled}
```

{% endcode %}

#### Identify the new network adapter

Start by locating the name of the new network adapter by typing `ip addr`. The new adapter is the one that does not have any IP addresses. It is most likely the last one in the list. In the example below, *ens224* is the new adapter.

{% code title="Command" %}

```terminal
ip addr
```

{% endcode %}

{% code title="Output" %}

```
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:01:19:06:72:01 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 203.0.113.11/24 brd 203.0.113.255 scope global ens192
       valid_lft forever preferred_lft forever
    inet6 2001:db8:18::140f/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::1:19ff:fe06:7201/64 scope link
       valid_lft forever preferred_lft forever
4: ens224: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 02:01:19:06:72:02 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
```

{% endcode %}

Once you have identified the name of the new network adapter and disabled automatic cloud configuration, it's time to configure the network.

#### Configure the VLAN network connection

Start by listing the network profiles that AlmaLinux has created. Most likely, the system has created a new profile named *Wired connection 1*. This profile has probably not been linked to any network adapter yet. In the final step, you will link the profile to the network adapter.

{% code title="Command" %}

```terminal
sudo nmcli connection show
```

{% endcode %}

{% code title="Output" %}

```
NAME                UUID                                  TYPE      DEVICE
System ens192       03da7500-2101-c722-2438-d0d006c28c73  ethernet  ens192
Wired connection 1  20fa968f-2749-3322-97f1-907dd90d9b1d  ethernet  --
```

{% endcode %}

Now, it's time to configure *Wired Connection 1* with a private IP address and then link it to the network adapter *ens224*, as you saw in the output from `ip addr`. You also need to set the network profile to manual mode; otherwise, the system will attempt to obtain an IP address via DHCP. Here, we'll assign the server the private address `192.168.0.4` with a 24-bit subnet mask (`255.255.255.0`).

{% code title="Multiple commands" %}

```terminal
sudo nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.0.4/24
sudo nmcli connection modify "Wired connection 1" ipv4.method manual
sudo nmcli connection up "Wired connection 1" ifname ens224
```

{% endcode %}

{% code title="Output" %}

```
Connection successfully activated (D-Bus active path:
/org/freedesktop/NetworkManager/ActiveConnection/14)
```

{% endcode %}

The network is now configured and ready to be used.

#### Test and verify the network adapter

To verify that the network adapter has received the IP address you assigned to it, you can use the command: `ip addr show <adapter>`:

{% code title="Command" %}

```terminal
ip addr show ens224
```

{% endcode %}

{% code title="Output" %}

```
4: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:01:19:06:72:02 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 192.168.0.2/24 brd 192.168.0.255 scope global ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::1:19ff:fe06:7202/64 scope link
       valid_lft forever preferred_lft forever
```

{% endcode %}

You also try pinging another computer on the private network.

{% code title="Command" %}

```terminal
ping -c 3 192.168.0.3
```

{% endcode %}

{% code title="Output" %}

```
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=128 time=0.613 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=128 time=0.388 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=128 time=0.335 ms

--- 192.168.0.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2031ms
rtt min/avg/max/mdev = 0.335/0.445/0.613/0.120 ms
```

{% endcode %}
{% endtab %}

{% tab title="Ubuntu" %}
Before configuring the network in Ubuntu, you need to disable automatic cloud network configuration to prevent your changes from being overwritten. This is done by editing the file `/etc/cloud/cloud.cfg.d/99-custom-networking.cfg`.

{% code title="Command" %}

```terminal
sudo vi /etc/cloud/cloud.cfg.d/99-custom-networking.cfg
```

{% endcode %}

The file should have the following content:

{% code title="/etc/cloud/cloud.cfg.d/99-custom-networking.cfg" %}

```yaml
network: {config: disabled}
```

{% endcode %}

#### Identify the new network adapter

Start by locating the name of the new network adapter. You do this by typing `ip addr`. The new adapter is the one that does not have any IP addresses. It is most likely the last one in the list. In the example below, *ens224* is the new adapter.

{% code title="Command" %}

```terminal
ip addr
```

{% endcode %}

{% code title="Output" %}

```
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:01:19:06:72:01 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 203.0.113.11/24 brd 203.0.113.255 scope global ens192
       valid_lft forever preferred_lft forever
    inet6 2001:db8:18::140f/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::1:19ff:fe06:7201/64 scope link
       valid_lft forever preferred_lft forever
4: ens224: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 02:01:19:06:72:02 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
```

{% endcode %}

Once you have identified the name of the new network adapter and disabled automatic cloud configuration, it's time to configure the network.

#### Configure the VLAN network connection

Next, it's time to add a private IP address to the file `/etc/netplan/50-cloud-init.yaml`. Leave the first network adapter untouched, as it is used to access the internet. Only add the new adapter and assign it a private IP address. In this case, we assign it the IP address `192.168.0.2` with the subnet mask /24 (`255.255.255.0`). Here, the new adapter is named *ens224*.

Note that the line with `ens224` must be indented with the same number of spaces as the line with `ens192`.

{% code title="/etc/netplan/50-cloud-init.yaml" %}

```yaml
network:
    version: 2
    ethernets:
        ens192:
            addresses:
            - 203.0.113.11/24
            - 2001:db8:18::140f/64
            nameservers:
                addresses:
                - 79.99.4.100
                - 79.99.4.101
                - 2a02:751:aaaa::1
                - 2a02:751:aaaa::2
            gateway4: 203.0.113.1
            gateway6: 2001:db8:18::1
        ens224:
            addresses:
            - 192.168.0.2/24
```

{% endcode %}

Activate the new settings with the command `netplan try`. With `try`, the settings will revert to a previous state if you get disconnected and cannot confirm the new settings by pressing the <kbd>Enter</kbd> key.

{% code title="Command" %}

```terminal
sudo netplan try
```

{% endcode %}

{% code title="Prompt by netplan" %}

```
Do you want to keep these settings?


Press ENTER before the timeout to accept the new configuration


Changes will revert in 115 seconds
Configuration accepted.
```

{% endcode %}

The network is now configured and ready to be used.

#### Test and verify the network adapter

To verify that the network adapter has received the IP address you assigned to it, you can use the command: `ip addr show <adapter>`:

{% code title="Command" %}

```terminal
ip addr show ens224
```

{% endcode %}

{% code title="Output" %}

```
4: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:01:19:06:72:02 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 192.168.0.2/24 brd 192.168.0.255 scope global ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::1:19ff:fe06:7202/64 scope link
       valid_lft forever preferred_lft forever
```

{% endcode %}

You also try pinging another computer on the private network.

{% code title="Command" %}

```terminal
ping -c 3 192.168.0.3
```

{% endcode %}

{% code title="Output" %}

```
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=128 time=0.613 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=128 time=0.388 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=128 time=0.335 ms

--- 192.168.0.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2031ms
rtt min/avg/max/mdev = 0.335/0.445/0.613/0.120 ms
```

{% endcode %}
{% endtab %}

{% tab title="Debian" %}
Before configuring the network in Debian, you need to disable automatic cloud network configuration to prevent your changes from being overwritten. This is done by editing the file `/etc/cloud/cloud.cfg.d/99-custom-networking.cfg`.

{% code title="Command" %}

```terminal
sudo vi /etc/cloud/cloud.cfg.d/99-custom-networking.cfg
```

{% endcode %}

The file should have the following content:

{% code title="/etc/cloud/cloud.cfg.d/99-custom-networking.cfg" %}

```yaml
network: {config: disabled}
```

{% endcode %}

#### Identify the new network adapter

Start by locating the name of the new network adapter. Do this by typing `ip addr`. The new adapter is the one that does not have any IP addresses. It is most likely the last one in the list. In the example below, *ens224* is the new adapter.

{% code title="Command" %}

```terminal
ip addr
```

{% endcode %}

{% code title="Output" %}

```
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:01:19:06:72:01 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 203.0.113.11/24 brd 203.0.113.255 scope global ens192
       valid_lft forever preferred_lft forever
    inet6 2001:db8:18::140f/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::1:19ff:fe06:7201/64 scope link
       valid_lft forever preferred_lft forever
4: ens224: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 02:01:19:06:72:02 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
```

{% endcode %}

Once you have identified the name of the new network adapter and disabled automatic cloud configuration, it's time to configure the network.

#### Configure the VLAN network connection

To configure the new network adapter *ens224* in Debian, you only need to add a few lines at the end of the file `/etc/network/interfaces.d/50-cloud-init`. The other lines in the file are left untouched. Here, we assign the new adapter the IP address `192.168.0.5` with a 24-bit subnet mask (`255.255.255.0`).

The lines we add are these:

{% code title="New lines in /etc/network/interfaces.d/50-cloud-init" %}

```
auto ens224
iface ens224 inet static
    address 192.168.0.5/24
```

{% endcode %}

After that, we restart the network:

{% code title="Command" %}

```terminal
sudo systemctl restart networking
```

{% endcode %}

The network is now configured and ready to be used.

#### Test and verify the network adapter

To verify that the network adapter has received the IP address you assigned to it, you can use the command: `ip addr show <adapter>`:

{% code title="Command" %}

```terminal
ip addr show ens224
```

{% endcode %}

{% code title="Output" %}

```
4: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:01:19:06:72:02 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 192.168.0.2/24 brd 192.168.0.255 scope global ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::1:19ff:fe06:7202/64 scope link
       valid_lft forever preferred_lft forever
```

{% endcode %}

You also try pinging another computer on the private network.

{% code title="Command" %}

```terminal
ping -c 3 192.168.0.3
```

{% endcode %}

{% code title="Output" %}

```
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=128 time=0.613 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=128 time=0.388 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=128 time=0.335 ms

--- 192.168.0.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2031ms
rtt min/avg/max/mdev = 0.335/0.445/0.613/0.120 ms
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Connect physical servers to the VLAN network

To connect physical servers to the VLAN network, please contact the support team at <support@glesys.se>.

### Delete a VLAN network

To delete a VLAN network, you must first either disconnect all of the network adapters by connecting them to another network or simply delete the network adapters from the VMs. Here, we'll delete the network adapter from a VM connected to the VLAN.

Click on the VM in the **Virtual machines** overview. Select the **Network adapters** tab and click the cross next to the adapter connected to the private network.

<figure><img src="/files/HmRligU1pZ5L5pywyn7Y" alt=""><figcaption></figcaption></figure>

Confirm the deletion by typing the name of the adapter in the dialog box that opens, and then click **Delete**.

When all the adapters are disconnected or deleted, you can delete the network.&#x20;

To delete the network, click on **VLAN networks** in the left-hand menu in the control panel. Then, click the red cross to the right of the network.

<figure><img src="/files/PT3YVWezefI2Ke7sXLIl" alt=""><figcaption></figcaption></figure>

In the next dialog box, confirm the deletion by typing the name of the network in the text field, and click **Delete**.

## Manage VLAN networks using the API

Use the [network](https://github.com/GleSYS/API-docs/wiki/API-Documentation#network-module) module to manage VLAN networks using the [API](/platform/control-panel/api.md). For example:

* To create a VLAN network, use the [network/create](https://github.com/GleSYS/API-docs/wiki/API-Documentation#networkcreate) endpoint.
* To list your VLAN networks, use the [network/list](https://github.com/GleSYS/API-docs/wiki/API-Documentation#networkcreate) endpoint.
* To view details about a specific network, use the [network/details](https://github.com/GleSYS/API-docs/wiki/API-Documentation#networkdetails) endpoint.
* To delete a VLAN network, use the [network/delete](https://github.com/GleSYS/API-docs/wiki/API-Documentation#networkdelete) endpoint.
* Use the [networkadapter](https://github.com/GleSYS/API-docs/wiki/API-Documentation#networkadapter-module) module to manage network adapters for VMs. For example:
  * Create a network adapter by using the [networkadapter/create](https://github.com/GleSYS/API-docs/wiki/API-Documentation#networkadaptercreate) endpoint.
  * Delete a network adapter by using the [networkadapter/delete](https://github.com/GleSYS/API-docs/wiki/API-Documentation#networkadapterdelete) endpoint.
  * To list existing network adapters and their ID for a VM, use the [server/networkadapters](https://github.com/GleSYS/API-docs/wiki/API-Documentation#servernetworkadapters) endpoint.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.glesys.com/products/compute/vmware-virtual-machines/how-tos/manage-vlan-networks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
