# Id is already in use

### What is the "id" and why must it be unique?

All clients are identified by an id. During the client installation, the id is written to the `rport.conf` file. This id can be any string. Operating system create a worldwide unique id for each system during the installation process.

The rport pairing script takes the id of the operating system and inserts it to the `rport.conf` file.

On Linux the id is taken from `/etc/machine-id` or a hash of all mac addresses is created, if the machine-id file is missing.&#x20;

On Windows the computer system UUID is used. `Get-CimInstance -Class Win32_ComputerSystemProduct).UUID`

Re-using existing identifiers creates a consistent view of your inventory. But you can use other identifiers if you want.

![Id of the rport client](https://1574570054-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MekeI9EovpQqbUTQSdM%2Fuploads%2F2tUk3PTLpuxHZ13k4mGE%2Fimage.png?alt=media\&token=40d40c6a-e166-40bb-94dd-01da2f65249e)

### What causes duplicate ids?

Duplicate ids are almost always caused by system cloning. Either you have cloned a system with the rport client already installed, or after cloning, you have not created a new machine-id.&#x20;

You will get an error like the below in the `rport.log`.

`client: Connection error: client id "1234abc" is already in use`

☝️ The problem is largely limited to Linux because Windows identifies it has been cloned, and a new UUID is created automatically.

### How to solve the issue?

#### 😬 Quick and dirty

You can edit the `rport.conf` with an editor and insert a [randomly created UUID](https://www.uuidgenerator.net/). Restart the client and it will connect flawlessly.

#### 🧡 Properly

Having systems with duplicate machine-ids on a local network is not a good idea. It can cause other issues. First reset the machine id of the operating system, reboot and copy the new id from `/etc/machine-id` and insert it into the `rport.conf`.&#x20;

📖 [Reset machine id on Ubuntu](https://manpages.ubuntu.com/manpages/xenial/man1/systemd-machine-id-setup.1.html)\
📖 [Reset machine id on Debia](https://wiki.debian.org/MachineId)[n](https://wiki.debian.org/MachineId)\
📖 [Reset machine id on RHEL, CentOS, Rocky etc.](https://www.thegeekdiary.com/centos-rhel-7-how-to-change-the-machine-id/)

{% hint style="info" %}
Starting with rport 0.6.0 the client can dynamically read the systemd id on start. That eliminates the need of copying `/etc/machine-id` to `rport.conf`. But it doesn't liberate you from the duty of creating unique machine ids on your network.&#x20;
{% endhint %}
