[pve-devel] [PATCH pve-firewall 1/1] firewall: add altname support
Stefan Hanreich
s.hanreich at proxmox.com
Wed Jul 9 21:45:24 CEST 2025
Add support for altnames by transparently mapping them with the
information from 'ip link' when generating the ruleset. The firewall
will now replace any altname in the ruleset with the actual, physical,
name from the interface. We handle it this way, because iptables
cannot match on the altnames on interfaces, only the 'real' name.
Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
---
src/PVE/Firewall.pm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm
index 173ce98..e3d21f6 100644
--- a/src/PVE/Firewall.pm
+++ b/src/PVE/Firewall.pm
@@ -2861,6 +2861,8 @@ sub enable_host_firewall {
my $rules = $hostfw_conf->{rules};
my $cluster_rules = $cluster_conf->{rules};
+ my $interface_mapping = PVE::Network::altname_mapping();
+
# corosync preparation
my $corosync_rule = "-p udp --dport 5404:5405";
my $corosync_local_addresses = {};
@@ -2908,7 +2910,7 @@ sub enable_host_firewall {
next if !$rule->{enable} || $rule->{errors};
next if $rule->{ipversion} && ($rule->{ipversion} != $ipversion);
- $rule->{iface_in} = $rule->{iface} if $rule->{iface};
+ $rule->{iface_in} = ($interface_mapping->{$rule->{iface}} // $rule->{iface}) if $rule->{iface};
eval {
$rule->{logmsg} = "$rule->{action}: ";
@@ -2994,7 +2996,8 @@ sub enable_host_firewall {
next if !$rule->{enable} || $rule->{errors};
next if $rule->{ipversion} && ($rule->{ipversion} != $ipversion);
- $rule->{iface_out} = $rule->{iface} if $rule->{iface};
+ $rule->{iface_out} = ($interface_mapping->{$rule->{iface}} // $rule->{iface}) if $rule->{iface};
+
eval {
$rule->{logmsg} = "$rule->{action}: ";
if ($rule->{type} eq 'group') {
--
2.39.5
More information about the pve-devel
mailing list