Skip to content

firewall: option to create a dynamic IPv6 prefix network alias #7000

Description

@subnetspider

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Is your feature request related to a problem? Please describe.

Currently, there is no easy way to create firewall rules to block or allow traffic to and from specific IPv6 subnets with dynamic global unicast prefixes on OPNsense because the global unicast addresses are all in the 2000::/3 range.

It is also not trivial to restrict an IPv6 subnet with global unicast prefix to access only the IPv6 Internet (2000::/3), but not other internal subnets with dynamic IPv6 prefixes (also 2000::/3).

Since the __opt_#_network aliases ($interface_name net in the firewall editor), which contain all IPv6 prefixes on the given interface, cannot be nested inside other aliases, it takes as many firewall rules as there are IPv6-enabled subnets to restrict e.g. servers in a DMZ subnet from talking to clients in the LAN subnet.
With a large number of IPv6 enabled subnets/VLANs on OPNsense, this becomes difficult to scale very quickly.

Describe the solution you like

I would like to see the option to create an alias of type "Dynamic IPv6 Prefix", which works like the "Dynamic IPv6 Host" alias, but with the difference that there is no "Content" field for the interface identifier / last 64 bits.

It would work exactly like the "Dynamic IPv6 Host" alias, but with a /64 mask instead of a /128 mask.

Adding the choice to specify a custom prefix length other than /64, such as /48, /52, /56, or /60, would also be useful in some cases, but might be difficult to implement.

Describe alternatives you considered

Alternatively, this functionality could also be implemented by allowing the __opt_#_network aliases mentioned above to be nested within other aliases, since these already exist, but are only used internally by OPNsense.

Additional context

grafik

Metadata

Metadata

Assignees

Labels

featureAdding new functionality

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions