{% extends 'base.html' %} {% from '_partials/page_header.html' import page_header %} {% block title %}Networking · Security{% endblock %} {% block content %} {{ page_header('Networking', tabs=tabs, active_tab='firewall') }}

{{ rules|length }} firewall rules · {% if applied %}rules active{% else %}not applied yet — add a rule to activate{% endif %}

Always allowed, ahead of your rules: {{ pinned | join(' · ') }} — so no rule here can lock you out of the device.
{% for r in rules %} {% endfor %}
DirSourceDestinationActionStateActions
{{ r.direction }} {{ r.source }} {{ r.dest }} {{ r.action }} {% if r.enabled %}Active{% else %}Disabled{% endif %}
{# NAT is not offered in this release. The rule model, generation and validation are all in backends/firewall.py and the POST actions still work, so this is one panel to put back rather than a feature to rebuild. Filter and forward rules above are unaffected. #} {% endblock %}