Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/perryflynn/lirou
Linux Router based on plain Debian and Ansible - this repo is a Ansible Collection
https://github.com/perryflynn/lirou
ansible ansible-collection debian firewall linux network-router network-routing router
Last synced: 3 months ago
JSON representation
Linux Router based on plain Debian and Ansible - this repo is a Ansible Collection
- Host: GitHub
- URL: https://github.com/perryflynn/lirou
- Owner: perryflynn
- License: gpl-3.0
- Created: 2024-07-07T22:06:54.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-08-18T17:36:12.000Z (5 months ago)
- Last Synced: 2024-09-30T13:41:07.054Z (3 months ago)
- Topics: ansible, ansible-collection, debian, firewall, linux, network-router, network-routing, router
- Language: Jinja
- Homepage:
- Size: 90.8 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-architecture.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# lirou Architecture
Architecture principles for lirou.
## No custom configuration services
The idea behind lirou is to avoid custom configuration scripts and anything which cannot be archieved with
a classic Debian Stable and systemd as far as possible. No dark magic, any configuration should be understandable
for a Network Admin / Debian User.At any point it must be possible to stop using the lirou Ansible code and make manual changes to the system.
## Use systemd if possible
The event driven design and dependency management of systemd solves alot problems older router systemd had.
It is possible to start services / trigger scripts if an interface was created, also literally any type of
interface can be create and managed with systemd-networkd. networkd-dispatcher can be used to trigger scripts
when the state of an interface changes (a new IP was assigned for example).## Do not rename interfaces
Renaming a interface is only possible once. So if a router is configured once, renaming a interface is only possible
with a reboot. But keeping the original interface name and add altnames, is always possible. So use a systemd unit
or script to add aliases as altnames to an interface right after the interface was created.