# Override the Default Docker Network

> To prevent IP address conflicts with existing network subnets, configure a custom Docker bridge network with a unique, non-overlapping subnet range.

## Summary {#summary}

The default CubeCOS Docker bridge network may conflict with the existing network configuration.

## Details {#details}

### Issues description {#issues-description}

During installation, CubeCOS automatically creates a Docker bridge network that uses the `172.17.0.0/16` subnet. This default configuration enables container-to-container communication on the local Docker network.

In some environments, this subnet can conflict with existing private network ranges and cause network issues, including:

- Containers cannot reach external services.
- Communication between containers and the host fails.
- Overlapping routes lead to unpredictable network behavior.

These conflicts typically occur when one of the following conditions is true:

- The existing network infrastructure already uses the `172.17.0.0/16` subnet.
- The CubeCOS cluster management network is assigned the same subnet.

To prevent IP address conflicts, override the default Docker bridge configuration and assign a custom subnet that does not overlap with your existing network ranges.

### Applicable versions {#applicable-versions}

CubeCOS 2.4 and later

This article applies to environments running CubeCOS version 2.4 or newer.

## Resolution {#resolution}

:::warning

This fix must be applied before starting the installation of CubeCOS nodes.

:::

It must be implemented before any internet connectivity is configured, as CubeCOS nodes will not have external access at this stage.

To apply the fix, use USB media to manually transfer the configuration tool or patch file to each node before installation. This ensures the Docker bridge network is correctly overridden and avoids subnet conflicts during deployment.

The Docker IP change tool uses the following new Docker subnets:

1. Base network: `172.31.0.0/16`
2. BIP: `172.30.0.1/24`

### Prerequisite {#prerequisite}

1. Download the IP change tool: [change-docker-ip.zip](https://s3.bigstack.co/downloads/fixpack/change-docker-ip.zip)
2. Verify the contents of the tool, the extracted zip contains the following files:
   1. `change-docker-ip.sh`: The function script that will modify and change the default Docker IP subnet.
   2. `daemon.json`: The Docker subnet configuration file.

### Log into each CubeCOS node {#log-into-each-cubecos-node}

```bash
    unconfigured login: root
    Password:
    Last login: Thu May  1 23:02:34 on tty1
    Welcome to CUBE_2.4.3_20240905-0425_b37483f3
```

### Identify the USB device {#identify-the-usb-device}

```bash
    lsblk
```

![Identify the USB device with lsblk](/assets/knowledge-base/cubecos/01-lsblk.jpg)

### Mount the USB device to the filesystem {#mount-the-usb-device-to-the-filesystem}

```bash
    mount /dev/vdc1 /mnt/usb
    lsblk
```

![Mount the USB device to the filesystem](/assets/knowledge-base/cubecos/02-mount-usb.jpg)

### List and confirm the change tool {#list-and-confirm-the-change-tool}

```bash
    cd /mnt/usb/
    ls
```

![List and confirm change tool](/assets/knowledge-base/cubecos/03-file-check.jpg)

### Execute the Docker network change tool {#execute-the-docker-network-change-tool}

```bash
    ./change-docker-ip.sh
```

![Execute the Docker network change tool](/assets/knowledge-base/cubecos/04-change-docker-ip.jpg)

### Unmount the USB {#unmount-the-usb}

```bash
    cd ~
    umount /mnt/usb
    lsblk
```

![Unmount the USB](/assets/knowledge-base/cubecos/05-unmount-usb.jpg)

### Continue with CubeCOS installation {#continue-with-cubecos-installation}

Once the network conflict fix is in place, continue with the cluster deployment by following the [CubeCOS Installation](http://localhost:3000/docs/cubecos/installation/installing-cubecos) guide.
