# Configure Bonded Network Interfaces

You can configure bonded network interfaces for redundancy from the command line. The following instructions show how to create an active-backup bond, which keeps one interface active and the other as a passive backup. If the active interface fails, the backup interface takes over automatically.

The example commands use the two 1G onboard NICs available on the E50 and E60 servers (`eno8303` and `eno8403`), and assume that the `eno8303` interface is already configured and working as the management interface.

Run these commands using SSH or directly on the terminal.

### Create the bond interface

In this example, `bond0` is the name of the bond interface being created.

```shell copy
sudo nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
```

### Add the slave interfaces

In this example, `eno8303` and `eno8403` are added as slave interfaces.

```shell copy
sudo nmcli connection add type ethernet slave-type bond con-name bond0-eno8303 ifname eno8303 master bond0
sudo nmcli connection add type ethernet slave-type bond con-name bond0-eno8403 ifname eno8403 master bond0
```

### Configure the IP address of the bond interface

The bond interface IP address can be allocated via DHCP or assigned statically.

- To use DHCP:
  ```shell copy
  sudo nmcli connection modify bond0 ipv4.method auto
  ```
- To assign a static IP address, use the values currently assigned to `eno8303`. For example:
  ```shell copy
  sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.42/24 ipv4.gateway 192.168.1.1 ipv4.dns "192.168.1.99,192.168.1.98" ipv4.method manual
  ```

### Activate the bond interface

```shell copy
sudo nmcli connection down eno8403 && sudo nmcli connection down eno8303 && sudo nmcli connection up bond0
```

### Disable the non-slave connections

Disabling non-slave connections prevents them from conflicting with the bond at reboot or after an upgrade.

```shell copy
sudo nmcli connection modify eno8403 ipv4.method "disabled" ipv6.method "disabled" connection.autoconnect no
sudo nmcli connection modify eno8303 ipv4.method "disabled" ipv6.method "disabled" connection.autoconnect no
```

### Configure the firewall

> **Info:** Firewall zone for bonded interfaces can be set on the UI in Beam 1.9 and later. See [Configure network interfaces](/beam/system-admin/network/configure-nics).

- For bonded management ports, set the firewall zone to `control`:
  ```shell copy
  sudo nmcli connection modify bond0 connection.zone control && sudo nmcli connection up bond0
  ```
- For bonded data ports, set the firewall zone to `data`:
  ```shell copy
  sudo nmcli connection modify bond0 connection.zone data && sudo nmcli connection up bond0
  ```

The bonded network interface configuration persists on reboot and upgrade when you follow the instructions above.

Rebooting after configuration is recommended to confirm that networking continues to function after a reboot or power failure.
