~craftyguy/ansible-nftables

1ed92530a06721b60a5d7e07013570dbd53c1620 — BhEaN 2 years ago ac9e722
docs: upgrade Makefile to use pure Markdown
1 files changed, 9 insertions(+), 18 deletions(-)

M README.md
M README.md => README.md +9 -18
@@ 2,14 2,12 @@
[![Semantic Versioning](https://img.shields.io/badge/Semantic%20Versioning-2.0.0-green)](https://semver.org/spec/v2.0.0.html)
[![Pipelines](https://code.vandalsweb.com/ansible-roles/prometheus/badges/master/pipeline.svg)](https://code.vandalsweb.com/ansible-roles/prometheus/pipelines)

Ansible role - Nftables
===
# Ansible role - Nftables
This [Ansible](https://www.ansible.com/) role install and configure a
[Linux Netfilter Nftables](https://netfilter.org/projects/nftables/index.html) server and its rules.


Project management
---
## Project management
To provide an easy way to manage the project, there are some _make targets_ to run the most common tasks:

- To download dependencies, requirements, etc: `make deps`.


@@ 18,8 16,7 @@ To provide an easy way to manage the project, there are some _make targets_ to r
- To clean the temporary files, built artifacts and _clean_ the project directory: `make clean`.


Requirements
---
## Requirements
You only need [Python](https://www.python.org/) (v3, of course!). The rest of the packages or dependencies required to run the project
are downloaded with the `make deps` command, but as in the resto of projects based on Python, it's a good recommendation to use a
[Virtualenv](https://virtualenv.pypa.io/en/latest/) before download dependencies, just like this:


@@ 31,8 28,7 @@ $ source .venv/bin/activate
``` 


Role Variables
---
## Role Variables
Almost every options have a _default_ value (you can check these values in `defaults/main.yml` file), but you can override as much as
you want (from _command-line_ param, in your own `vars.yml` file, etc).



@@ 45,8 41,7 @@ you want (from _command-line_ param, in your own `vars.yml` file, etc).
    - `nftables_ruleset`: Definition of the firewall ruleset (see below).


Ruleset definition
---
## Ruleset definition
To define the firewall rules you have to use the `nftables_ruleset` parameter. This parameter could contain a list of tables. Each of these
tables could contain a list of chains. Each of these chains could contain a list of rules.



@@ 105,8 100,7 @@ The parameters of a list of rules are:
      the goto statement


Example Playbook
---
## Example Playbook
A basic _playbook_ example to allow established connections from everywhere, ping requests from everywhere, _http_ and _https_ connections
from everywhere, _SSH_ connections from everywhere except `172.26.0.2` and enabling the NAT in `eth1` interface could be:



@@ 162,8 156,7 @@ from everywhere, _SSH_ connections from everywhere except `172.26.0.2` and enabl
```


References
---
## References
Tools, external libraries, useful references and other third-part software used in the project:

- [Semantic Versioning (semver)](https://semver.org): A simple set of rules and requirements that dictate how version numbers are assigned


@@ 180,11 173,9 @@ Tools, external libraries, useful references and other third-part software used 
  classification framework that is based on a network-specific Virtual Machine (VM) and a new nft userspace command line tool.


License
---
## License
This project is licensed under MIT License. See [LICENSE](LICENSE) for more details.


Author
---
## Author
This project is just another amazing idea of _BhEaN_, created on 2020.