Engarde is a network utility designed to create a point-to-point tunnel over multiple network connections. We use this to ensure that we have a reliable tunnel as long as at least one of the connections is working.

The client instructions in this article are for macOS Catalina.

Before: Setup WireGuard

Prepare configuration file

  listenAddr: ""
  dstAddr: "ENGRADE_SERVER_IP:59402"
    - "en9"
    - "utun4"
    # The address to listen to. Leave it empty to disable the management webserver.
    listenAddr: ""
    # The credentials to access the management interface. Leave them empty or omit them for no authentication.
    username: "engarde"
    password: "engarde"

  listenAddr: ""
  dstAddr: ""


Install Engarde

  • Download Engarde from Github:
    $ wget https://engarde.linuxzogno.org/builds/master/linux/amd64/engarde-server
  • Open Firewall port for Engarde:
    $ ufw allow 59402/udp
  • Install program in executable directory:
    $ install ./engarde-server /usr/bin/
  • Launch program:
    $ engarde-server /path/to/engarde.yml

Use as systemd service

To launch engarde on startup, you can setup it as a systemd service.

  • Start by downloading the files you find in this dedicated branch;
  • Place engarde-server@.service in /etc/systemd/system/;
  • Place your config in /etc/engarde/ folder, like /etc/engarde/myconfig.yml;
  • Enable the service with systemctl enable engarde-server@myconfig to launch the service on system startup;
  • If you want to launch the service immediately, execute systemctl start engarde-server@myconfig


Install Engarde

  • Download Engarde from Github.
  • Make the file executable if required:
    $ chmod 755 engarde-client
  • Launch program:
    $ engarde-client /path/to/engarde.yml
  • Change the WireGuard configuration on the client: set the peer address to the engarde-client listen address (in this procedure, it will be You don’t need to change anything on the server.

Setup scripts

I have created some scripts to execute the setup automatically. You can find them here with all the instructions. I suggest you to execute the setup manually the first time, to understand better what is going on.