| Title: GearBSD: a project to help automating your OpenBSD | |
| Author: Solène | |
| Date: 01 June 2021 | |
| Tags: gearbsd rex openbsd | |
| Description: | |
| # Introduction | |
| I love NixOS and Guix for their easy system configuration and easy | |
| jumping from one machine to another by using your configuration file. | |
| To some extent, I want to make it possible to do so on OpenBSD with a | |
| collection of parametrized Rex modules, allowing to configure your | |
| system piece by piece from templates that you feed with variables. | |
| Let me introduce you to GearBSD, my project to do so. | |
| GearBSD gitlab page | |
| # How to use | |
| You need to clone https://tildegit.org/solene/gearbsd using git and you | |
| also need to install Rex with pkg_add p5-Rex. | |
| Use cd to enter into a directory like openbsd/pf (the only one module | |
| at this time), edit the Rexfile to change the variables as you want and | |
| run "doas rex configure" to apply. | |
| Video example (asciinema recording) | |
| # Example with PF | |
| The PF module has a few variables, in TCPports and UDPports you can | |
| list ports or ports ranges that will be allowed, if no ports are in the | |
| list then the "pass" rules for that protocol won't be there. | |
| If you want to enable nat on em0 for your wg0 interface, set "nat" to | |
| 1, "nat_from_interface" to "wg0" and "nat_to_interface" to "em0" and | |
| the code will take care of everything, even enabling the sysctl for | |
| port forwarding. | |
| # More work required | |
| It's only a start but I want to work hard on it to make OpenBSD a more | |
| accessible system for everyone, and more pleasant to use. |