Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MLVPN.CONF(5)							   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 sec-
     tions, 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

     *	 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)

     *	 tuntap = "tun" Tells mlvpn whether to create a tun  (layer  3)  or  tap
	 (layer 2) interface.

     *	 password

	 MANDATORY

	 The  password string is used to generate a key used by libsodium. Pass-
	 word 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)

     *	 reorder_buffer_size = 0 mlvpn includes a reordering algorithm for  it's
	 aggregation. This variable defines how many packets can be held in case
	 one end of the tunnel does receive data ouf ot order.

	 Experiment  to know what value is best for you. Good starting point can
	 be as small as 64 packets.

	 0 disables the reordering.

     *	 loss_tolerence = 0 mlvpn monitors packet loss on  every  link.  If  the
	 packet  loss ratio on a link exceed the specified value in percent, the
	 link changes state to MLVPN_LOSSY and is removed from aggregation.

	 Lossy links ARE used anyway if no other choices are available	(if  all
	 links are lossy)

	 100 or more disables the loss tolerence system.

   ^A 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  Maximum upload bandwidth, in bytes for this
	 link.

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

	 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)

   ^A FILTERS
     [filters]	section  associate a bpf(4) filter to a specific interface. Fil-
     ters are used when aggregation is used but you want to  pass  some  traffic
     specifically through only one interface, without re-ordering. (Like for us-
     ing VoIP)

     Example filters:

     [filters]

     sdsl = udp port 5060

     adsl = udp port 5060

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

REORDERING
     The reorder buffer will be sent "as is" on the network if the buffer  can't
     be reconstructed in time, ie: packet loss. (SRTT * 2)

STATUS
     MLVPN  status  can be monitored by using ps. mlvpn prints it's --name, then
     the status of each tunnel prefixed by the status.

     Status availables: !: down, @: up, ~: lossy

     Example: mlvpn: adsl3g !3g @adsl ~wifi

     3g is down, adsl is up and wifi is  lossy	(up,  but  above  loss_tolerence
     threshold).

EXAMPLE
     See examples/mlvpn.conf

SEE ALSO
     mlvpn(1)

				  February 2016 		   MLVPN.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mlvpn.conf&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help