Zone-Based Firewall plugin
This plugin creates simple Zone-Based Firewall configuration for specific nodes.
For now, the plugin supports only default zone to zone rules, with permit
or deny
actions.
Supported Platforms
The plugin includes Jinja2 templates for the following platforms:
Operating system |
Default Policies |
---|---|
Juniper vSRX |
✅ |
VyOS |
✅ |
Using the Plugin
Add
plugin: [ firewall.zonebased ]
to the lab topology.Include the firewall.zonebased.default_rules attribute in the firewall node
Include the firewall.zone attribute in the firewall links/interfaces
Supported attributes
The plugin adds the following attributes defined at node level:
firewall.zonebased.default_rules (list) – List of defaults zone to zone policies. Each item is a dict with the following attributes:
from_zone (id, mandatory) – Policy Source Zone
to_zone (id, mandatory) – Policy Destination Zone
action (string, mandatory, one of
permit
,deny
) – Policy Action
Additional interface level attributes:
firewall.zone (id) – the firewall zone for this firewall interface
Example
plugin: [ firewall.zonebased ]
nodes:
fw:
firewall.zonebased:
default_rules:
- from_zone: trusted
to_zone: trusted
action: permit
- from_zone: trusted
to_zone: untrusted
action: permit
h1:
h2:
links:
- fw:
firewall.zone: trusted
h1:
- fw:
firewall.zone: untrusted
h2: