From 7aa3ea5d155e764e23852f1ebc42bfa1317c8a69 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Sun, 19 Nov 2023 11:56:45 -0500 Subject: [PATCH] readme --- README.md | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..909a155 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +# freyanet + +this container allows perring multiple servers togeather with ospf creating an internetwork on any subnet + +## running + +`docker run --privileged --network host -v $PWD/config:/config g.freya.cat/freya/freyanet` + +or with docker-compose: + +```yml +version: "3" +services: + inet2: + image: g.freya.cat/freya/freyanet + network_mode: host # needed otherwise internal network wont be accessable + privileged: true + volumes: + - ./config:/config +``` + +## config + +create a file at /config/inet2.conf + +``` +# specify router id +RouterID 10.1.1.1 + +# specify routed subnets +Subnet 10.0.0.0/8 +Subnet fd:cafe::/48 + +# optional global private key gets used for all interfaces +PrivateKey = {host private key} + +interface interfacename + # indentation is a single tab per level + + # set the address(es) to assign to the interface + # route lines are usually the same as Address but with host bits zeroed + Address 10.2.255.1/30 + Route 10.2.255.0/30 # must specify route + # you can also set ipv6 + Address fd:cafe::ffff/64 + Address fd:cafe::/64 + # link local is also possible (and prefered for peering routers) + # link-local addresses should *not* have an associated Route line + Address fe80::1/64 + Route 1.1.1.0/24 + # more syntax options + Route 1.1.2.0/24 via 1.1.1.2 + Route default via 1.1.1.3 + # optional: set Gateway and Gateway6 to configure a default gateway + # through this interface + Gateway 1.1.1.2 + Gateway6 fe80::1111:1111:1111:1111 + # port to listen on in the host's network namespace, over udp + # you probably have to allow this through your firewall + ListenPort {host port} + # omit if using global private key + PrivateKey {host private key} + # all optional + PreUp command + PostUp command + PreDown command + PostDown command + + # if running ospf on this interface + OSPF + # if running ospf on this interface and it's a stub network (no other routers) + OSPF stub + + peer peername + PublicKey {peer public key} + # if the peer is a router, it has to have AllowedIPs set to everything and be the only + # peer on the interface + AllowedIPs 0.0.0.0/0, ::/0 + # either: + Domain = {domain name of peer} + Port = {peer port} + # or: + Endpoint = {peer ip}:{peer port} + # make domain enpoint resolve with ipv (ipv6 is default) + IPv4 + + # optional + PersistentKeepalive = 25 + +# optionally assign static addresses to the loopback interface +# this has its uses for making things ibgp not dependent on a specific interface being up +Loopback 1.2.3.4 +``` + +and other optional files: +- `/config/setup.sh` gets run on the first run of the container with the host's networking +- `/config/start.sh` gets run every time the container starts up with the host's networking + +### Licenses + +| License | Author | Project | +|---------|--------|---------| +| [MIT](https://mit-license.org/) | tint | [inet2](https://git.tint.red/tint/inet2) | +| [MIT](https://mit-license.org/) | freya | freyanet | +