# lixonet-ee

This is the semi-official, testing Lixonet EE repository.

Custom configurations should be supplied in a `lixonet.conf` file in the `name=value` format, such as your subnet.  Additionally, a tinc keypair is also be required.

**Generating keypairs for tinc (`tinc.key`)**:

Source: https://www.tinc-vpn.org/documentation/Generating-keypairs.html

Run: `tincd -n lixonet -K`

**Configuration options**

All options are supplied in the `name=value` format on individual lines, i.e. `name=test_name_lixo`

 * `name` - The global, local neighbor name.  Tinc and Bird use this to identify a peer in the network.
 * `wan_interface` - The interface that Tinc should bind to to _listen_ for incoming connections (i.e. eth1).  This is _not_ the tunnel interface.

**Setup**

Prerequisites:
1. Docker is installed
2. `eth0` is the **LAN** or **WAN** interface supporting external routing, DNS, etc.
3. `eth1` is the **birdged** interface to a router that will statically route the entire network subnet
4. `tun` and `tap` are in `/etc/modules` to load at boot (https://www.cyberciti.biz/faq/linux-how-to-load-a-kernel-module-automatically-at-boot-time/)

Install:
1. Clone this repository: `git clone`
2. `mkdir /etc/lixonet/`
3. Fill out `/etc/lixonet/lixonet.conf` (see: **Configuration options**)
4. Supply `/etc/lixonet/tinc.key`
5. Run `chmod +x build.sh && ./build.sh` to deploy the stack on Docker.