From ff26404500604b10917f205775eea365f13bb808 Mon Sep 17 00:00:00 2001 From: sump pump Date: Thu, 21 May 2020 20:39:55 +0000 Subject: [PATCH] Update README.md --- README.md | 46 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 8414540..4922147 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,25 @@ Run: `tincd -n lixonet -K` # Configuration options +#### Location + +A `lixonet.conf` file should be under each **network** directory you'd like to create. Create one directory for each mesh you'll be joining, under `/etc/lixonet`. If you want to join the `teamlixo` mesh for example, do this: + +1. Create `/etc/lixonet/teamlixo/lixonet.conf` and specify at least all **required** options in this file. +2. Create or save `/etc/lixonet/teamlixo/tinc.key` + +#### Available networks + +Official networks: + +| Name | Git clone URL(s) | Subnet | ASN format | Administsration | +| ------ | ------ | ------ | ------ | ------ | +| teamlixo | http://git.team.lixo/lixonet/teamlixo.mesh.git | 172.31.0.0/16 | 4206969XXXX | Manevolent, Nurd | +| colorado | http://git.team.lixo/lixonet/colorado.mesh.git | 172.29.0.0/16 | 4206970XXXX | Manevolent | + + +#### Format + All options are supplied in the `name=value` format on individual lines, i.e. `name=test_name_lixo` ## Required options @@ -20,23 +39,25 @@ You **MUST** specify these options, or Lixonet will not work. #### Network options - * `name` - The global neighbor name. Tinc and Bird use this to identify a peer in the network, and to exclude your own pre-packed config automagically from Tinc and BIRD dialing out so you don't connect to yourself over and over again. - * `address` - The *router* address to use. This is your Lixonet routing layer address: 172.xxx.0.xxx + * `git` - The Git clone repository URL, used for peer configurations. + * `tinc_peer_name` - The global neighbor name. Tinc and Bird use this to identify a peer in the network, and to exclude your own pre-packed config automagically from Tinc and BIRD dialing out so you don't connect to yourself over and over again. + * `tinc_peer_address` - The *router* address to use. This is your Lixonet routing layer address: 172.xxx.0.xxx * `network_address` - The *network* address to use. This is your Lixonet routing layer address: 172.xxx.0.0 (especially take note of the last two 0's: `0.0` -- it _MUST_ end with zeros corresponding to the network size) - * `asn` - The BGP ASN to use. We usually follow the format `4206969XXX` where _XXX_ is the last octet of your `address`, zero-padded (i.e. 008 or 212) + * `bgp_asn` - The BGP ASN to use. We usually follow the format `4206969XXX` where _XXX_ is the last octet of your `address`, zero-padded (i.e. 008 or 212) ## Non-required options: -#### Tinc options - * `tinc_bind_address` - The address that Tinc should bind to to _listen_ for incoming WAN-sided connections (i.e. 10.0.0.1). This is _not_ the Lixonet router IP (i.e. 172.31.0.8). Use this if you have an `eth1` that you _don't_ want to use for binding tinc to, and would prefer to bind tinc exclusivley to `eth0` instead. - * `tinc_connect_to` - A comma-separated list of well-known/pre-defined hosts to connect to (i.e. `denco_mane_lixo`). If not supplied, this is automatically set to all core routers that aren't yourself (`name`). - -#### Network options +#### General network options * `global_prefix`: global network prefix: defaults to `16`. * `router_prefix`: router network prefix: defaults to `24`. If you change this you _SHOULD_ change `netmask` too. * `netmask`: router netmask: defaults to `255.255.255.0` (`/24`); _SHOULD_ be the bitmask that corresponds to the `router_prefix` -#### BGP +#### Tinc options + * `tinc_interface_name` - The name of the interface that Tinc should create when it's started. Defaults to `lixonet`. Set this for multiple networks. + * `tinc_bind_address` - The address that Tinc should bind to to _listen_ for incoming WAN-sided connections (i.e. 10.0.0.1). This is _not_ the Lixonet router IP (i.e. 172.31.0.8). Use this if you have an `eth1` that you _don't_ want to use for binding tinc to, and would prefer to bind tinc exclusivley to `eth0` instead. + * `tinc_connect_to` - A comma-separated list of well-known/pre-defined hosts to connect to (i.e. `denco_mane_lixo`). If not supplied, this is automatically set to all core routers that aren't yourself (`name`). + +#### BGP options For options we expose here, for information see: https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.3 @@ -47,6 +68,7 @@ For options we expose here, for information see: https://bird.network.cz/?get_do * `bgp_rpki_expire`: How long to keep any records locally cached before they are deleted. Defaults to `172800` (2 days). * `bgp_rpki_known_hosts`: The file path for the SSH key `known_hosts` file to use when validating remote RPKI hosts. Defaults to `/etc/bird/rpki/known_hosts` (provided by Lixonet; don't change this unless you need to!). * `bgp_passwd_*`: The password for a specific BGP peer (i.e. `bgp_passwd_denco_mane_lixo`). If not specified, no password is used for the host. + * `bgp_routes`: A comma-delimited list of routes to advertise over BGP. If not specified, no routes are propagated. # Setup @@ -61,7 +83,7 @@ For options we expose here, for information see: https://bird.network.cz/?get_do #### 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` +2. `mkdir /etc/lixonet/(mesh)/` +3. Fill out `/etc/lixonet/(mesh)lixonet.conf` (see: **Configuration options**) +4. Supply `/etc/lixonet/(mesh)/tinc.key` 5. Run `chmod +x build.sh && ./build.sh` to deploy the stack on Docker.