readme
This commit is contained in:
parent
f87d98dfd6
commit
7aa3ea5d15
1 changed files with 105 additions and 0 deletions
105
README.md
Normal file
105
README.md
Normal file
|
@ -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 |
|
||||
|
Loading…
Reference in a new issue