# FLUX Test

Before installing **Medulla**, it is **essential** to verify the communication between:

<div id="bkmrk-votre-serveur-medull">- Your **Medulla server**,
- Your **relay** (if applicable),
- Your **client machines**.

</div>To do this, we provide a **<span class="followup-block followup-block-hidden cursor-pointer outline-none static inline group-hover/message:[--hover-opacity:1]" tabindex="0">testing procedure that</span>** includes dedicated scripts. **All data flows must be successfully validated** to ensure a <span class="followup-block followup-block-hidden cursor-pointer outline-none static inline group-hover/message:[--hover-opacity:1]" tabindex="0">smooth deployment and optimal operation</span> of Medulla.

Please feel free to contact us for any assistance or clarification regarding these tests.

**The scripts are available for download here:**

<div id="bkmrk-https%3A%2F%2Fdl.medulla-t">[https://dl.medulla-tech.io/nc/listen\_ports\_debian.sh](https://dl.medulla-tech.io/nc/listen_ports_debian.sh)</div><div id="bkmrk-https%3A%2F%2Fdl.medulla-t-1">[https://dl.medulla-tech.io/nc/listen\_ports\_windows.ps1](https://dl.medulla-tech.io/nc/listen_ports_windows.ps1 "https://dl.medulla-tech.io/nc/listen_ports_windows.ps1")</div><div id="bkmrk-https%3A%2F%2Fdl.medulla-t-2">[https://dl.medulla-tech.io/nc/medulla\_connection\_check.sh](https://dl.medulla-tech.io/nc/medulla_connection_check.sh "https://dl.medulla-tech.io/nc/medulla_connection_check.sh")</div><div id="bkmrk-https%3A%2F%2Fdl.medulla-t-3">[https://dl.medulla-tech.io/nc/medulla\_relay\_connection\_check.sh](https://dl.medulla-tech.io/nc/medulla_relay_connection_check.sh "https://dl.medulla-tech.io/nc/medulla_relay_connection_check.sh")  
[https://dl.medulla-tech.io/nc/windows\_connection\_check\_signed.ps1](https://dl.medulla-tech.io/nc/windows_connection_check_signed.ps1)  
[https://dl.medulla-tech.io/nc/check\_connection\_ldap.sh](https://dl.medulla-tech.io/nc/check_connection_ldap.sh "https://dl.medulla-tech.io/nc/check_connection_ldap.sh")  
[https://dl.medulla-tech.io/nc/check\_connection\_glpi.sh](https://dl.medulla-tech.io/nc/check_connection_glpi.sh "https://dl.medulla-tech.io/nc/check_connection_glpi.sh")  
  
(Right-click on the links below, then click **"Save link as..."**)  
</div><div id="bkmrk---------------------">**-----------------------------------------------------------**</div><div id="bkmrk-"></div>### Test Prerequisites

Before you begin, make sure you have downloaded the test scripts provided above and prepared the machines:

<div id="bkmrk-sur-les-serveurs-lin">1. **On the Linux servers (Medulla &amp; Relai):**
    
    
    - Install the necessary tools: `sudo apt update && sudo apt install netcat-openbsd <span style="color:rgb(0,0,0);">mariadb-client ldap-utils</span>`
    - Make the scripts executable:
        
        ```
        chmod +x listen_ports_debian.sh medulla_connection_check.sh medulla_relay_connection_check.sh
        dos2unix *.sh  # If necessary
        ```
        
        <div class="code-block ng-tns-c351283025-88 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-88"><div class="animated-opacity ng-tns-c351283025-88"></div></div></div>
2. **On the Windows client machine with the Medulla agent:**
    
    
    - Right-click on the script, click Properties, check the box to allow the script to run, and confirm.
    
    [![image.png](https://docs.medulla-tech.io/uploads/images/gallery/2026-01/scaled-1680-/6Gs5mDYikDrAhhUU-image.png)](https://docs.medulla-tech.io/uploads/images/gallery/2026-01/6Gs5mDYikDrAhhUU-image.png)
    
    
    - Allow PowerShell scripts to run:
    
    `Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned`
    
    > \# Answer "Yes for all" (Y or T) if prompted
    
    #### For PowerShell v7.5.4: 
    
    There is no need to unblock the script. You must run the command shown above.
    
    It will ask if you want to allow the publisher of the script; simply confirm by clicking R or A.
    
    [![image.png](https://docs.medulla-tech.io/uploads/images/gallery/2026-01/scaled-1680-/vJOscUwLGmSGzsEU-image.png)](https://docs.medulla-tech.io/uploads/images/gallery/2026-01/vJOscUwLGmSGzsEU-image.png)

</div>### 1. Test Medulla Server &lt;-&gt; Medulla Relay

*Verify communication between the main server and the relay.*

**Direction: Server to Relay**

<div id="bkmrk-sur-le-relai-%28destin">- **A. On the Relay Server (Destination):** Start listening on the ports. **<span style="color:rgb(224,62,45);">(Do not perform this step if Medulla is already installed or if you are using SaaS)</span>**
    
    ```
    ./listen_ports_debian.sh -r
    ```
    
    <div class="code-block ng-tns-c351283025-90 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-90"><div class="animated-opacity ng-tns-c351283025-90"></div></div></div>
- **B. On the Medulla Server (Source):** Run the connection test.
    
    ```
    ./medulla_connection_check.sh -r <RELAY_IP>
    ```
    
    <div class="code-block ng-tns-c351283025-91 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-91"><div class="animated-opacity ng-tns-c351283025-91"></div></div></div>

</div>**Direction: Relay to Server**

<div id="bkmrk-sur-le-serveur-%28dest">- **C. On the Medulla Server (Destination):** Start listening on the ports. **<span style="color:rgb(224,62,45);">(Do not perform this step if Medulla is already installed or if you are using SaaS)</span>**
    
    ```
    ./listen_ports_debian.sh -m
    ```
    
    <div class="code-block ng-tns-c351283025-92 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-92"><div class="animated-opacity ng-tns-c351283025-92"></div></div></div>
- **D. On the Relay Server (Source):** Run the connection test.
    
    ```
    ./medulla_relay_connection_check.sh -m <MEDULLA_IP>
    ```
    
    <div class="code-block ng-tns-c351283025-93 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-93"><div class="animated-opacity ng-tns-c351283025-93"></div></div></div>

</div><div id="bkmrk--3">---

</div>### 2. Medulla Server &lt;-&gt; Windows Client Test

*Verify direct communication between the server and client workstations.*

**Direction: Server to Client Workstation**

<div id="bkmrk-a.-sur-le-poste-clie">- **A. On the Client Workstation (Destination):** Start listening.
    
    ```
    .\listen_ports_windows.ps1
    ```
    
    <div class="code-block ng-tns-c351283025-94 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-94"><div class="animated-opacity ng-tns-c351283025-94"></div></div></div>
- **B. On the Medulla Server (Source):** Run the test to the client’s IP address.
    
    ```
    ./medulla_connection_check.sh -c client.example.com
    ```
    
    <div class="code-block ng-tns-c351283025-95 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-95"><div class="animated-opacity ng-tns-c351283025-95"></div></div></div>

</div>**Direction: Client Workstation to Server**

<div id="bkmrk-sur-le-serveur-medul">- **C. On the Medulla Server (Destination):** Start listening. **<span style="color:rgb(224,62,45);">(Do not perform this step if Medulla is already installed or if you are using SaaS)</span>**
    
    ```
    ./listen_ports_debian.sh -m
    ```
    
    <div class="code-block ng-tns-c351283025-96 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-96"><div class="animated-opacity ng-tns-c351283025-96"></div></div></div>
- **D. On the Client Workstation (Source):** Run the test to the server's IP address.
    
    ```
    .\windows_connection_check_signed.ps1 -Target <SERVER_IP> -Mode pulse
    ```
    
    <div class="code-block ng-tns-c351283025-97 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-97"><div class="animated-opacity ng-tns-c351283025-97"></div></div></div>

</div>A log file has been created (in the location where you are running the script) that summarizes several tests, named: **LOG\_Test\_Flux.txt**

> *If you encounter permission errors when creating the log file, try placing the scripts in the user’s Downloads folder, or grant the **windows\_connection\_check.ps1** script permission to create a file in the same location.*

<div id="bkmrk--4"></div><div id="bkmrk-sur-le-relai-%28destin-1"></div>### 3. Medulla Relay &lt;-&gt; Windows Client Workstation Test

*Only if the workstations need to communicate via a relay.*

**Direction: Relay to Client Workstation**

<div id="bkmrk-sur-le-poste-client--1">- **A. On the Client Workstation (Destination):** Start listening.
    
    <div class="code-block ng-tns-c351283025-98 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-98"><div class="animated-opacity ng-tns-c351283025-98">  
    </div></div></div>```
    .\listen_ports_windows.ps1
    ```
    
    <div class="code-block ng-tns-c351283025-98 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-98"><div class="animated-opacity ng-tns-c351283025-98"></div></div></div>
- **B. On the Relay Server (Source):** Run the test to the workstation’s IP address.
    
    ```
    ./medulla_relay_connection_check.sh -c client.example.com
    ```
    
    <div class="code-block ng-tns-c351283025-99 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-99"><div class="animated-opacity ng-tns-c351283025-99"></div></div></div>

</div>**Direction: Client Workstation to Relay**

<div id="bkmrk-sur-le-serveur-relai">- **C. On the Relay Server (Destination):** Start listening. **<span style="color:rgb(224,62,45);">(Do not perform this step if Medulla is already installed or if you are using SaaS)</span>**
    
    ```
    ./listen_ports_debian.sh -r
    ```
    
    <div class="code-block ng-tns-c351283025-100 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-100"><div class="animated-opacity ng-tns-c351283025-100"></div></div></div>
- **D. On the Client Workstation (Source):** Run the test to the relay's IP address.
    
    ```
    .\windows_connection_check_signed.ps1 -Target <RELAY_IP> -Mode relay
    ```

</div>A log file has been created (in the location where you are running the script) that summarizes several tests, named:**LOG\_Test\_Flux.txt**

> *If you encounter permission errors after creating the log file, try placing the scripts in the user’s Downloads folder, or grant the **windows\_connection\_check.ps1** script permission to create a file in the same location.*

<div id="bkmrk--5"></div><div id="bkmrk--6"></div><div id="bkmrk--7"></div>### 4. Medulla Relay DMZ &lt;-&gt; Windows Mobile Client Test

*Verification of direct communication between the server and client workstations.*

**<span style="color:rgb(224,62,45);">(Mobile clients can only be reached on ports 5222 and 22)</span>**

**Direction: Client Workstation to Server**

<div id="bkmrk-sur-le-serveur-medul-1">- **A. On the Medulla DMZ Server (Destination):** Start listening. **<span style="color:rgb(224,62,45);">(Do not perform this step if Medulla is already installed or if you are using SaaS)</span>**
    
    ```
    ./listen_ports_debian.sh -r
    ```
- **B. On the Mobile Client (Source):** Run the test to the server’s IP address.
    
    ```
    .\windows_connection_check_signed.ps1 -Target <SERVER_IP> -Mode relay
    ```

</div>### 5. Test server destined for Medulla -&gt; Your GLPI server

*Verify direct communication between the server and your GLPI server.*

**<span style="color:rgb(224,62,45);">(Requires the mariadb-client package: *apt install mariadb-client*)</span>**

<div id="bkmrk-sur-le-serveur-medul-2">- **A. On the Medulla server:** Run the test against the external GLPI database.
    
    ```
    ./check_connection_glpi.sh DB_FQDN DB_USERNAME DB_PASSWORD DB_NAME_GLPI
    ```
    
    <div class="code-block ng-tns-c351283025-94 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-94"><div class="animated-opacity ng-tns-c351283025-94"></div></div></div><div class="code-block ng-tns-c351283025-95 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-95"><div class="animated-opacity ng-tns-c351283025-95"></div></div></div>

</div>### 6. Server Test for Medulla -&gt; Your LDAP Server

<div id="bkmrk--8"></div>*Verify direct communication between the server and your LDAP server.*

**<span style="color:rgb(224,62,45);">(Requires the ldap-utils package: *apt install ldap-utils*)</span>**

<div id="bkmrk-sur-le-serveur-medul-3">- **A. On the Medulla server:** Run the test against the external LDAP server.
    
    ```
    ./check_connection_ldap.sh HOST PORT 'BIND_DN' 'PASSWORD' 'BASE_DN'
    ```
    
    <div class="code-block ng-tns-c351283025-94 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"><div class="formatted-code-block-internal-container ng-tns-c351283025-94"><div class="animated-opacity ng-tns-c351283025-94"></div></div></div>

</div>