Even though the goal is to get the EPS network clients to run as a mesh, a single EPS server is still required to co-ordinate between the clients. Each EPS network must have exactly 1 server. Preferably, you'll have 3 computers to use when testing EPS for the first time: 2 clients and 1 server.
The EPS server must be reachable by all EPS clients that want to participate in the EPS network. If the server is on a private network or behind a firewall, then a TCP port will need to be forwarded or a hole created in the appropriate firewall. Since version 0.0.2-628, EPS server uses UPnP (when available) to automatically setup the necessary port forwarding.
The EPS client runs on every computer that wants to establish a "EPS conduit"
. The client computers connect to the EPS server, from which they'll receive their initial configuration and periodic updates. Clients then bring up the requested network, sets up a default route, and both forwards and receives packets for the new network.
Running EPS networks requires bringing up TAP interfaces, setting and removing network routes, and using some configuration files from /etc/
which are owned by root. This is why both the EPS clients and server requires root access to work correctly. Remember to use sudo
or whatever other means necessary for the EPS software to have the necessary permissions.
/var/log/eps_client
.log./var/log/eps_server
.log./usr/bin/eps-configure
.sh was added to the product. This script should make configuration much easier. Instead of manually editing /etc/eps
.conf or having to specify command-line parameters, you may want to try and run "sudo eps-configure.sh"
after the
.deb or
.rpm package has been installed. The EPS client accepts these parameters:
The EPS server accepts similar parameters:
The EPS clients and server normally read extra configuration settings from /etc/eps
.conf. This command-line option can be used to specify a different file.
eps.conf
configuration file.The EPS server can write out a Graphviz-format network diagram every 5 minutes. This includes transfer and bandwidth statistics on all clients on the EPS network. This command-line option can be used to specify a different file to which the Graphviz file will be written.
The resulting .gv files can be rendered using any of the usual Graphviz tools. For example:
The EPS clients and server logs messages to a log file. This is usually /var/log/eps*
but this command-line option can be used to specify a different file.
The EPS server selects a class 'C' network for the EPS network, and then assigns addresses from within this network to each EPS member that wants to join the network. By default, the network selected is 192.168.43.0/24
. If this network is already in use on any of your clients, you must select a different network when starting up the EPS server. Several different examples:
–network
command-line parameter only applies to the EPS server. By default, the server listens for EPS clients on TCP/UDP port 43439. This parameter can be used to specify a different port. For example:
Statistics are compiled every minute by EPS. These statistics can also be written out to a scorecard and easily processed by any 3rd-party software. The –scorecard
parameter names the file to use as a scorecard. For example:
The EPS server normally assigns IP addresses to the EPS clients in a random manner. By specifying –sequential
the IP addresses will be assigned sequentially (192.168.43.1, 192.168.43.2, 192.168.43.3, etc) starting with the lowest available address first.
The EPS clients need to know where the EPS server can be reached. This can be specified using either a resolvable hostname or an IP address. Multiple names or IP addresses can be listed. Several examples:
–server
command-line parameter only applies to the EPS client. Statistics are compiled every minute by EPS. Since logging these statistics every minute can quickly overwhelm the log files /var/log/eps_*
.log these statistics are usually not logged. To enable togging the statistics to /var/log/eps_*
.log you must specify the –stats
command-line option.
When specified, you'll see statistics such as these every 60 seconds:
The EPS server uses UPnP when available on the network to automatically setup TCP and UDP port forwarding. This parameter can be used to specify the length of time (in milliseconds) the EPS server initially waits for a UPnP-capable router or NAT device. If set to zero, this will disable UPnP in EPS server, in which case manually configuring port forwarding will be required if the server is behind a firewall or NAT device.