Bug #16171
closedConfiguring a bridge on a base interface breaks bridges on VLAN interfaces on that interface
0%
Description
The basic usecase is using a second port on the firewall to connect another hardware switch distributing the internal network and VLANs on top of it.
Adding bridges for the VLAN interfaces works nicely following the documentation https://docs.netgate.com/pfsense/en/latest/bridges/interfaces.html (creating VLAN and interface for second port, creating the bridge, assigning the bridge, creating an interface for the first port, adding first port to bridge) but when adding the bridge for the internal non-VLAN network all other bridges stop working.
I'm aware that this could easily circumvented by adding a hardware switch in front of that one port, but the idea has been to save some energy and space by using pfSense bridging functionality.
Updated by Andreas Wuerl 7 days ago
The detailed relevant configuration looks like this:
LAN (lan) -> bridge0 -> v4: 192.168.1.1/24 DMZ (opt8) -> bridge1 -> v4: 192.168.80.1/24 LAN1 (opt18) -> ix0 -> LAN2 (opt17) -> ix1 -> DMZ1 (opt19) -> ix0.80 -> DMZ2 (opt13) -> ix1.80 ->
and ifconfig shows this:
bridge0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 description: LAN options=0 ether 58:9c:fc:10:ff:b7 inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 inet 192.168.1.5 netmask 0xffffffff broadcast 192.168.1.5 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 member: ix1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 6 priority 128 path cost 2000 member: ix0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 5 priority 128 path cost 2000 groups: bridge LOCAL nd6 options=1<PERFORMNUD> bridge1: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 description: DMZ options=0 ether 58:9c:fc:10:ff:ed inet 192.168.80.1 netmask 0xffffff00 broadcast 192.168.80.255 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 member: ix0.80 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 17 priority 128 path cost 2000 member: ix1.80 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 22 priority 128 path cost 2000 groups: bridge INTERNAL LOCAL nd6 options=1<PERFORMNUD> ix0: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 description: LAN1 options=4e138bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether 90:ec:77:34:9f:22 inet6 fe80::92ec:77ff:fe34:9f22%ix0 prefixlen 64 scopeid 0x5 groups: LOCAL media: Ethernet autoselect (10Gbase-SR <full-duplex,rxpause,txpause>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> ix1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: LAN2 options=4e138bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether 90:ec:77:34:9f:23 inet6 fe80::92ec:77ff:fe34:9f23%ix1 prefixlen 64 scopeid 0x6 media: Ethernet autoselect status: no carrier nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> ix0.80: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 description: DMZ1 options=4600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6,MEXTPG> ether 90:ec:77:34:9f:22 inet6 fe80::92ec:77ff:fe34:9f22%ix0.80 prefixlen 64 scopeid 0x11 groups: vlan INTERNAL LOCAL vlan: 80 vlanproto: 802.1q vlanpcp: 0 parent interface: ix0 media: Ethernet autoselect (10Gbase-SR <full-duplex,rxpause,txpause>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> ix1.80: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: DMZ2 options=4600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6,MEXTPG> ether 90:ec:77:34:9f:23 inet6 fe80::92ec:77ff:fe34:9f23%ix1.80 prefixlen 64 scopeid 0x16 groups: vlan vlan: 80 vlanproto: 802.1q vlanpcp: 0 parent interface: ix1 media: Ethernet autoselect status: no carrier nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Updated by Jim Pingle 6 days ago
- Project changed from pfSense Plus to pfSense
- Category changed from Interfaces to Interfaces
- Status changed from New to Rejected
- Affected Plus Version deleted (
25.03)
The configuration isn't just unsupported, it's not viable and even if it were, it's against best practices for security/safety.
You should not mix tagged and untagged traffic on the same ports.
Updated by Andreas Wuerl 6 days ago
Jim Pingle wrote in #note-2:
The configuration isn't just unsupported, it's not viable and even if it were, it's against best practices for security/safety.
You should not mix tagged and untagged traffic on the same ports.
This is basically a trunk port which uses untagged (default VLAN for the network infrastructure) and VLAN tagging for traffic on the defined VLAN networks. All devices are connected to ports/WLAN which filters for the mapped VLAN.
In what way should such a setup be unsupported or against best practices for security?