MLVPN.CONF(5)

NAME
mlvpn.conf - MLVPN configuration

DESCRIPTION
mlvpn(1) configuration file

SYNTAX
mlvpn.conf(5) is a "ini style" config file. settings are stores within sections, surrounded by []. Comments can be inserted anyware, starting with #. Key / values are plain ascii separated by "=". Strings should be escaped using double quotes '"'

  GENERAL
The general section is reserved for global configuration.

•   statuscommand = "/path/to/secure.script.sh"

    MANDATORY

    statuscommand path is called with two parameters when a status changed within mlvpn. First argument is the interface name. Second argument is the status name that changed.

•   tuntap_up: at least one tunnel is up and running

•   tuntap_down: all tunnels are down

•   rtun_up: one tunnel changed status to up ($3 is the tunnel name)

•   rtun_down: one tunnel changed status to down ($3 is the tunnel name)

    See the example file mlvpn_updown.sh for more informations

•   mode = "server"

    MANDATORY

•   "server": listen on bind_address, bind_port for every tunnel

•   "client": connects to remote_address, remote_port for every tunnel

•   loglevel = 1 Change the log level (0=errors, 1=info (recommanded), 2=debug)

•   timeout = 30 Timeout, expressed in seconds.

    Triggered when the other side does not responds to keepalive packets. Keepalive are send every timeout/2 seconds.

•   interface_name = "mlvpn0" Set interface name to the specified value. (LINUX ONLY)

•   password

    MANDATORY

    The password string is used to generate a key used by libsodium. Password is mandatory and must be the same on the client and on the server.

•   cleartext_data If set to 1, data packets will NOT be encrypted.

    Use with cautions.

•   control_unix_path = "" Path to the unix socket for remote control.

•   control_bind_host = "" Bind address of the remote control. (HTTP) (url: http://[control_bind_host]:[control_bind_port]/status)

•   control_bind_port = "" Bind port of the remote control. (HTTP)

  TUNNELS
Each tunnel must be declared in it's own section.

The section name is mapped to the tunnel name. Example: "[adsl1]", "[adsl2]".

•   bindhost = "0.0.0.0" Bind on a specific address. (IPv4 only) (client/server)

•   bindport = 5080 Bind on a specific port. (client/server)

•   remotehost = "1.2.3.4" Address of the remote host. (client)

•   remoteport = 5080 Port of the remote host. (client)

•   bandwidth_upload = 61440 Maxiumm upload bandwidth, in bytes for this link.

    Bandwidth is specified in Bytes (1KiB = 1024Bytes).

    This is used to setup the weight round-robin balancing algorithm. Set 0 if both links are similar. (client/server)

•   timeout = 25 Override general timeout for this link. (client/server)

•   fallback_only = 0 Links defined with fallback_only will be connected at all times, but will only be used if all other tunnels are down. (client)

RELOADING
The configuration can be reloaded at any moment by sending SIGHUP to the child mlvpn process.

EXAMPLE
See examples/mlvpn.conf

SEE ALSO
mlvpn(1)