diff --git a/src/opnsense/service/templates/OPNsense/IPFW/ipfw.conf b/src/opnsense/service/templates/OPNsense/IPFW/ipfw.conf index 913a1e277..17b890e38 100644 --- a/src/opnsense/service/templates/OPNsense/IPFW/ipfw.conf +++ b/src/opnsense/service/templates/OPNsense/IPFW/ipfw.conf @@ -10,7 +10,7 @@ {% for cp_intf in cp_item.interfaces.split(',') %} {% if intf_key == cp_intf %} {% if cp_item.enabled|default('0') == '1' %} -{% do cp_interface_list.append({'zone':cp_item.description, 'zoneid':cp_item.zoneid,'if':interface.if, 'obj':cp_item}) %} +{% do cp_interface_list.append({'zone':cp_item.description, 'zoneid':cp_item.zoneid,'if':interface.if,'interfaces':cp_item.interfaces.split(','),'obj':cp_item}) %} {% do is_cp.append(1) %} {% endif %} {% endif %} @@ -115,7 +115,7 @@ add {{loop.index + 1000}} skipto 60000 icmp from any to { 255.255.255.255 or {{ # Allow traffic to this hosts VIPs #====================================================================================== {% for item in virtualip.vip %} -{% if ':' not in item.subnet %} +{% if item.interface in cp_interface_list|sum(attribute="interfaces", start=[]) and ':' not in item.subnet %} add {{loop.index + 2000}} skipto 60000 udp from any to {{ item.subnet }} dst-port 53 keep-state add {{loop.index + 2000}} skipto 60000 ip from any to { 255.255.255.255 or {{item.subnet}} } in add {{loop.index + 2000}} skipto 60000 ip from { 255.255.255.255 or {{item.subnet}} } to any out